【问题标题】:Datalayer not getting push on click event?数据层没有收到点击事件的推送?
【发布时间】:2019-11-27 08:03:52
【问题描述】:

我在点击事件时无法将数据层推送到 gtm。但是数据层在页面加载时被正确推送,而不是在点击时。下面是我的代码

    $('.load-test-div').on("click", function () {
      //console.log('Called properly');
      dataLayer.push({
        'event': 'display more',
      });
    });

我以不同的方式操纵了代码,但它仍然没有被推送。为了测试,我正在使用 chrome 的“标签管理器”插件。是否有任何设置可以在谷歌标签管理器中捕获点击事件。请帮忙!

【问题讨论】:

  • 运气好吗?我也面临同样的问题

标签: google-tag-manager


【解决方案1】:

没有看到更多我只能猜测。 例如,这有效:https://jsfiddle.net/emo38rbv/

dataLayer = window.dataLayer || [];
document.querySelector('.load-test-div').addEventListener('click', function(){
    dataLayer.push({
    'event': 'display more',
  });
  alert('this has pushed to the dataLayer: '+JSON.stringify(dataLayer[dataLayer.length -1]));
});

问题可能是:

  • 在加载 jquery 之前调用您的函数。
  • dataLayer 尚未声明
  • DOM 未准备好(查询选择器找不到元素)
  • 运行函数时该元素不存在

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-02-02
    • 1970-01-01
    • 2020-07-16
    • 1970-01-01
    • 1970-01-01
    • 2016-08-29
    相关资源
    最近更新 更多