首页 文章

Google跟踪代码管理器 - dataLayer具有以前的 Value

提问于
浏览
1

我在同一页面上有两个标签 .

第一个标记适用于页面视图,并包含将值推送到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 回答

  • 2

    这很有可能发生,因为链接点击事件同时触发了自定义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>
    

相关问题