google-tag-manager - Datalayer not getting push on click event?
问题描述
I m having trouble pushing datalayer to gtm on click event. But datalayer gets properly pushed on a load of the page but not on click. below is my code
$('.load-test-div').on("click", function () {
//console.log('Called properly');
dataLayer.push({
'event': 'display more',
});
});
I have manipulated code in a different way still it's not pushed. For testing, I m using the "Tag Manager" addon of chrome. Is there are any setting to capture click event in google tag manager. Please help!
解决方案
没有看到更多我只能猜测。例如,这有效: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 未准备好(查询选择器找不到元素)
- 运行函数时该元素不存在
推荐阅读
- django - Annotate 中的 ExpressionWrapper 在 django 中不起作用
- c++ - C++ 2 维向量
- javascript - React Router 没有在登录和注销时重定向
- matlab - 使用matlab绘制归一化自相关
- string - MIPS 将用户输入作为字符串输入并转换为以 33 为底的整数
- javascript - esm 不解析模块别名
- apache-spark - Spark 数据帧到嵌套 JSON
- python - 使用 Selenium python 获取属性值
- apache-kafka - 由于堆 OOM,kafka 代理下线
- angular - 禁用的按钮在角材料中仍然是可点击的