我想使用 GTM 来跟踪电子商务交易。这是针对客户端环境的测试,其中代码可能位于 GTM 代码片段 之后的 ,这就是为什么使用 Dom Ready
作为事务标签的触发器不可靠的原因。
这是我的测试代码:<body>
<!-- Google Tag Manager -->
<script>window.dataLayer = window.dataLayer || [];</script>
<noscript><iframe src="//www.googletagmanager.com/ns.html?id=GTM-M4RNT2"
height="0" width="0" style="display:none;visibility:hidden"></iframe></noscript>
<script>(function(w,d,s,l,i){w[l]=w[l]||[];w[l].push({'gtm.start':
new Date().getTime(),event:'gtm.js'});var f=d.getElementsByTagName(s)[0],
j=d.createElement(s),dl=l!='dataLayer'?'&l='+l:'';j.async=true;j.src=
'//www.googletagmanager.com/gtm.js?id='+i+dl;f.parentNode.insertBefore(j,f);
})(window,document,'script','dataLayer','GTM-XXXXXX');</script>
<!-- End Google Tag Manager -->
<div class="container">
<script>
window.dataLayer = window.dataLayer || []
dataLayer.push({
'transactionId': '32698',
'transactionAffiliation': 'Acme Clothing',
'transactionTotal': 38.26,
'transactionTax': 1.29,
'transactionShipping': 5,
'transactionProducts': [{
'sku': 'DD44',
'name': 'T-Shirt',
'category': 'Apparel',
'price': 11.99,
'quantity': 1
},{
'sku': 'AA1243544',
'name': 'Socks',
'category': 'Apparel',
'price': 9.99,
'quantity': 2
}]
});
</script>
</body>
如您所见,电子商务代码直接取自 Google 文档 here。
我确保我正在触发的网页浏览标签有效,并且我可以在实时 View 中看到自己。
问题是无论我做什么来触发交易标签,谷歌分析中都不会显示电子商务交易。
这是我尝试过的:'event': 'eCommerce'
或在交易代码推送后的单独脚本标签中使用该事件作为触发器 transactionId
并将其默认为 false
,然后使用事件 gtm.dom
作为触发器,过滤器为 transactionId does not equal false
令人沮丧的部分是我打开了 GTM 预览窗口,它看起来完全可以正常工作。Message
之后的 dataLayer 填充了交易数据,并且在 DOM Ready
事件上触发了电子商务标签。
这已经持续了好几天,所以它不是“数据尚未显示在 GA 中但 ”的情况。我使用了正确的 UA 标签,因为这两个标签都引用了 sasme onstant GTM 变量,而且我实时看到自己的网页浏览标签使用了正确的 UA,因此交易标签也是如此。是的,电子商务显然是在 View 设置中启用的。
最佳答案
简单地将交易数据推送到数据层不会触发跟踪工作。您需要一个诸如综合浏览量之类的操作来获取交易数据并将其发送。
如果您无法在 GTM 代码段之前添加数据层,我的建议如下:
trackTrans
. Send Transaction
.您可以为事件类别/操作/标签指定您想要的任何值。 more settings
> Ecommerce Features
, 启用 Enable Enhanced Ecommerce Feature
和 Use data layer
Custom Event
并指定 trackTrans
对于值 dataLayer.push({
'ecommerce': {
'purchase': {
'actionField': {
'id': 'T12345', // Transaction ID. Required for purchases and refunds.
'affiliation': 'Online Store',
'revenue': '35.43', // Total transaction value (incl. tax and shipping)
'tax':'4.90',
'shipping': '5.99',
'coupon': 'SUMMER_SALE'
},
'products': [{ // List of productFieldObjects.
'name': 'Triblend Android T-Shirt', // Name or ID is required.
'id': '12345',
'price': '15.25',
'brand': 'Google',
'category': 'Apparel',
'variant': 'Gray',
'quantity': 1,
'coupon': ''
}]
}
},
'event' : 'trackTrans'
});
根据我上面的描述,页面将加载,然后触发一个事件并发送电子商务交易数据。
关于google-analytics - 页面上容器容器代码后的 GTM 电子商务,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37597960/