我在为新项目组织正确的GTM调试时遇到问题。我试图使用以下方法从他们的文档设置基本标记:
<script>
// Measure a view of product details. This example assumes the detail view occurs on pageload,
// and also tracks a standard pageview of the details page.
dataLayer.push({
'event': 'gtm.load',
'ecommerce': {
'detail': {
'actionField': {'list': 'Apparel Gallery'}, // 'detail' actions have an optional list property.
'products': [{
'name': 'Triblend Android T-Shirt', // Name or ID is required.
'id': '12345',
'price': '15.25',
'brand': 'Google',
'category': 'Apparel',
'variant': 'Gray'
}]
}
}
});
console.log("Pushed");
</script>
作为跟踪代码,并设置基本GTM代码,如示例所示:https://developers.google.com/tag-manager/enhanced-ecommerce#details
使用Window Loaded事件类型作为触发器。
gtm调试器显示事件已触发..但谷歌分析中没有任何内容。
我还在检查,如果使用萤火虫向GA发送了一些消息,并且看起来像是发送了这些消息:
Sent beacon:
v=1&_v=j47d&a=681300097&t=pageview&_s=1&dl=http%3A%2F%2F192.168.0.107%2F%3Fproduct%3Dtest-product&ul=en-us&de=UTF-8&dt=test%20product&sd=24-bit&sr=1366x768&vp=1351x415&je=0&fl=22.0%20r0&_u=SCCAAAALI~&jid=&cid=247695807.1477915334&tid=UA-73812011-1>m=GTM-TWQ9DJ&pal=Apparel%20Gallery&pa=detail&pr1nm=Triblend%20Android%20T-Shirt&pr1id=12345&pr1pr=15.25&pr1br=Google&pr1ca=Apparel&pr1va=Gray&z=280618779
答案 0 :(得分:1)
这里有几个选项,具体取决于您对页面代码的控制程度。如果您具有完全控制权,并且如果您希望在页面加载时加载ecom数据,则在GTM容器之前使用该数据执行dataLayer声明:
dataLayer = [{
'ecommerce': {
'detail': {
'actionField': {'list': 'Apparel Gallery'}, // 'detail' actions have an optional list property.
'products': [{
'name': 'Triblend Android T-Shirt', // Name or ID is required.
'id': '12345',
'price': '15.25',
'brand': 'Google',
'category': 'Apparel',
'variant': 'Gray'
}]
}
}
}];
这样做可以让您使用网页浏览标记捕获页面加载数据。
您不应该使用事件推送来执行此操作,尤其是对于名为gtm.load
的事件,因为这是在页面资源完全加载时被推送的内置事件,因此您可能没有看到数据与您的“页面加载”存在冲突,因为现在有两个gtm.load
事件被推送。
如果您仍然喜欢某个活动,那么只需使用其他名称即可。 myEvent
,然后创建一个事件标记以触发该事件。
最后,不要忘记让您的代码使用dataLayer来捕获电子信息信息。