我在同一页面上有两个标签。
第一个标记适用于页面视图,并包含将值推送到dataLayer的自定义html。
<script>
$(document).ready(function ($) {
$('ul li').click(function(){
console.log("index:"+$(this).index());
dataLayer.push({'clicked_slider_tab_index': $(this).index()});
});
});
</script>
使用标签字段中的此dataLayer变量,使用通用分析类型点击元素上的第二个标记。
问题在于此。当第二个标记触发时,它的{{dataLayer - clicked_slider_tab_index}}
变量具有先前的值。 console.log按预期工作,但不知何故dataLayer.push没有按预期工作。
我只能检测上次操作中点击的索引。
答案 0 :(得分:2)
这很有可能发生,因为链接点击事件同时触发了自定义HTML标记和您的通用事件标记,因此自定义HTML标记没有时间更新'clicked_slider_tab_index'值。
在此实例中跟踪的最佳方法是展开dataLayer.push以包含事件。下一步是将触发器更改为触发新事件“indexClicked”。这将确保在单击元素时填充dataLayer变量。
Something