我是GTM的新手,并试图在这里找到一些东西。
这是我设置了gtm的网址:
http://pizza.de/order/testshop/5283/index.htm
如果您在控制台上看到,则正确设置了dataLayer。所以dataLayer没有问题,但是我没有看到collect.js url触发。我非常确定配置是正确的,但无法弄清楚为什么dataLayer没有被推送到服务器。
任何帮助都将非常感谢。
答案 0 :(得分:1)
将您的dataLayer.push代码移至GTM容器标记之前。您之后推送到dataLayer,因此GTM容器无法使用它。
从此:https://developers.google.com/tag-manager/devguide?hl=en
在容器代码段无法使用匹配条件在页面加载时触发标记之后,变量被推送到数据层(即使用dataLayer.push())。
答案 1 :(得分:0)
@nyuen,是迟到的回应。是AFK。不幸的是,这没有任何帮助。我在localhost上运行了一个小应用程序并试图创建相同的场景。
Variables pushed to the data layer (i.e. using dataLayer.push()) after the container snippet will not be able to fire tags on page loads with a matching condition.
以上是正确的,但是我意识到无论你放置dataLayer的地方它仍然会触发,但最好遵循文档。
我意识到, gtm.js 负责触发 analytics.js , analytics.js 负责触发事件。在我的情况下,由于一些未知的原因,analytics.js根本没有加载。所以我不得不注入这个脚本,然后事件就开始了。