我正在客户网站上实施Google跟踪代码管理器脚本 .
我遇到了一个随机问题:dataLayer没有得到它的gtm.dom和gtm.load对象 . 它只有两个对象,一个是我传递的一堆变量,另一个是我正在推送的dataLoaded事件 .
该问题确实在不同页面上随机出现,有时数据层正确填充,有时则不正确 .
什么可能是没有获得这两个gtm对象的原因?
(注意:我是实现javascript的人.GTM配置由外部承包商完成)
我在这里找到了一个解决方案:https://productforums.google.com/forum/#!searchin/tag-manager/gtm.load/tag-manager/0Lpevpf2Fss/OMJFuaM04BsJ
我没有推送我的变量,而是将它们分配给dataLayer . 它被覆盖,因此缺少gtm对象 .
最佳实现是在标记管理器调用脚本之前分配(而不是推送)变量 .
如果您想使用 dataLayer.push 方法,首先在页面上加载google标记管理器脚本,然后在javascript超时中调用 dataLayer.push .
dataLayer.push
2 回答
我在这里找到了一个解决方案:https://productforums.google.com/forum/#!searchin/tag-manager/gtm.load/tag-manager/0Lpevpf2Fss/OMJFuaM04BsJ
我没有推送我的变量,而是将它们分配给dataLayer . 它被覆盖,因此缺少gtm对象 .
最佳实现是在标记管理器调用脚本之前分配(而不是推送)变量 .
如果您想使用
dataLayer.push
方法,首先在页面上加载google标记管理器脚本,然后在javascript超时中调用dataLayer.push
.