2016-11-28 38 views
1

我在同一页上有两个标签。Google Tag Manager - dataLayer具有以前的值

第一个标记在页面视图上工作,并包含将值推送到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 - clicked_slider_tab_index}}变量具有以前的值。 console.log按预期工作,但以某种方式dataLayer.push不按预期工作。

我只能检测上一个操作中点击的索引。

回答

2

这很可能是因为链接点击事件同时触发了您的自定义HTML标记和您的Universal Event标记,因此自定义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> 
+1

非常感谢。你拯救了我的一天。 –

相关问题