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