我们根据以下文档使用GTM实施GA转换跟踪,但我找不到有关如何在订单级别处理折扣(优惠券)的任何信息。 https://support.google.com/tagmanager/answer/6106097?hl=en https://developers.google.com/analytics/devguides/collection/analyticsjs/ecommerce
我可以发送收入,运费和税金,但对于包含折扣的订单,这些不会完全正确。如果订单如下:
T-Shirt: $5
Socks: $5
subtotal: $10
tax: $2
shipping: $3
discount: -$5
order total: $10
我的dataLayer应该是这样的吗?
<script>
dataLayer = [{
'transactionId': '1234',
'transactionAffiliation': 'Acme Clothing',
'transactionTotal': 10,
'transactionTax': 2,
'transactionShipping': 3,
'transactionProducts': [{
'sku': 'DD44',
'name': 'T-Shirt',
'category': 'Apparel',
'price': 5,
'quantity': 1
},{
'sku': 'AA1243544',
'name': 'Socks',
'category': 'Apparel',
'price': 5,
'quantity': 1
}]
}];
</script>
这会导致GA中的任何不准确或不一致吗?
答案 0 :(得分:4)
我和同事正在解决同样的问题。
在我进入之前,尽管你永远不应该这样做,但是要像那样声明你的dataLayer。可悲的是,它似乎是Google自己在所有代码示例中执行此操作的方式,但它非常危险,因为它将使用仅包含那些键:值对的新数据覆盖现有的dataLayer。而是检查dataLayer是否存在,如果不存在则创建它,并推送到它。
window.dataLayer = window.dataLayer || [];
dataLayer.push({
'key' : 'value'
});
此外,假设您已切换到Universal Analytics,请考虑切换增强型电子商务跟踪。它同时是一个功能更强大,更清晰的电子商务跟踪实现。
到目前为止,我们已经提出了几种看似可行的方法。您可以像上面一样忽略所有折扣,并在应用折扣后手动报告总收入。如果您切换到增强型电子商务,我会添加的一件事是优惠券代码,以确认产品已应用折扣。
<script>
window.dataLayer = window.dataLayer || [];
dataLayer.push({
'ecommerce': {
'purchase': {
'actionField': {
'id': '1234',
'affiliation': 'Acme Clothing',
'revenue': '10.00',
'tax':'2.00',
'shipping': '3.00',
'coupon': 'SUMMER_SALE' //Transaction-scope coupon. This would
//be where you'd include discounts like '$10 off purchases of $50 or more'
},
'products': [{
'name': 'T-Shirt',
'id': 'DD44',
'price': '5.00',
'category': 'Apparel',
'quantity': 1
},
{
'name': 'Socks',
'id': 'AA1243544',
'price': '5.00',
'category': 'Apparel',
'quantity': 1,
'coupon': 'FREE_SOCKS' //Product-scope coupon. This would be for
//discounts like 'free socks with purchase of a t-shirt'
}]
}
}
});
</script>
或者,您可以将折扣输入为负值SKU,并在交易中将其作为自己的订单项进行跟踪。
<script>
window.dataLayer = window.dataLayer || [];
dataLayer.push({
'ecommerce': {
'purchase': {
'actionField': {
'id': '1234',
'affiliation': 'Acme Clothing',
'revenue': '10.00',
'tax':'2.00',
'shipping': '3.00'
},
'products': [{
'name': 'T-Shirt',
'id': 'DD44',
'price': '5.00',
'category': 'Apparel',
'quantity': 1
},
{
'name': 'Socks',
'id': 'AA1243544',
'price': '5.00',
'category': 'Apparel',
'quantity': 1,
},
{
'name': 'Socks-Discount',
'id': 'free-socks',
'price': '-5.00',
'category': 'Apparel',
'quantity': 1,
}]
}
}
});
</script>
最终,我的建议是反映您如何处理购物车本身的折扣。如果折扣是他们自己的购物车中有自己SKU的订单项,则会以同样的方式在GA中报告。如果优惠券代码更有意义那样做。如果您愿意,甚至可以将两者合并。
答案 1 :(得分:0)
DL中的事务总数应该被推送到addTrans调用。因此,只需确保您发送给它的值是您要发送的内容。 GA并不关心您如何定义收入。
答案 2 :(得分:0)
使用优惠券字段指定交易和/或产品正在打折的事实。 e.g。
&#34;优惠券&#34; :&#34; 10%夏季促销&#34;或只是&#34;一般折扣&#34;
然后使用自定义指标(范围=匹配,格式=十进制)来跟踪应用于交易的总折扣金额。
&#39; dimension1&#39;:&#39; 50.0&#39;
参考:https://developers.google.com/tag-manager/enhanced-ecommerce#checkout