Google 跟踪代码管理器 - dataLayer 有以前的值
Google Tag Manager - dataLayer has previous value
我在同一个页面上有两个标签。
第一个标签适用于页面视图并包含将值推送到数据层的自定义 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 未按预期工作。
我只能检测到在上一个操作中点击的索引。
这很可能发生,因为 link 点击事件同时触发了您的自定义 HTML 标签和通用事件标签,因此自定义 HTML 标签没有有时间更新 'clicked_slider_tab_index' 值。
在这种情况下,最好的跟踪方式是扩展您的 dataLayer.push 以包含一个事件。下一步是更改触发器以触发新事件 "indexClicked"。这将确保在单击元素时填充 dataLayer 变量。
<script>
$(document).ready(function ($) {
$('ul li').click(function(){
console.log("index:"+$(this).index());
dataLayer.push({
'event': 'indexClicked'
'clicked_slider_tab_index': $(this).index()
});
});
});
</script>
我在同一个页面上有两个标签。
第一个标签适用于页面视图并包含将值推送到数据层的自定义 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 未按预期工作。
我只能检测到在上一个操作中点击的索引。
这很可能发生,因为 link 点击事件同时触发了您的自定义 HTML 标签和通用事件标签,因此自定义 HTML 标签没有有时间更新 'clicked_slider_tab_index' 值。
在这种情况下,最好的跟踪方式是扩展您的 dataLayer.push 以包含一个事件。下一步是更改触发器以触发新事件 "indexClicked"。这将确保在单击元素时填充 dataLayer 变量。
<script>
$(document).ready(function ($) {
$('ul li').click(function(){
console.log("index:"+$(this).index());
dataLayer.push({
'event': 'indexClicked'
'clicked_slider_tab_index': $(this).index()
});
});
});
</script>