ell*_*ott 5 google-analytics google-tag-manager
我们正在按照以下文档使用 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
Run Code Online (Sandbox Code Playgroud)
我的数据层应该像这样吗?
<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>
Run Code Online (Sandbox Code Playgroud)
这会导致 GA 中的任何不准确或不一致吗?
我和一个同事现在正在解决同样的问题。
在我开始之前,尽管您永远不应该像那样声明您的 dataLayer。可悲的是,这似乎是谷歌自己在所有代码示例中的做法,但它非常危险,因为它会用一个只包含那些键值对的新数据层覆盖您现有的数据层。而是检查 dataLayer 是否存在,如果不存在则创建它,然后推送到它。
window.dataLayer = window.dataLayer || [];
dataLayer.push({
'key' : 'value'
});
Run Code Online (Sandbox Code Playgroud)
此外,假设您已切换到 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>
Run Code Online (Sandbox Code Playgroud)
或者,您可以将折扣作为负值 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>
Run Code Online (Sandbox Code Playgroud)
最终,我的建议是反映您如何处理购物车中的折扣的逻辑。如果折扣是他们自己的行项目,在您的购物车中有自己的 SKU,则以相同的方式在 GA 中报告它们。如果优惠券代码更有意义,那就这样做。如果您愿意,您甚至可以将两者结合起来。
| 归档时间: |
|
| 查看次数: |
6996 次 |
| 最近记录: |