我们已在网站上实施了Google Analytics电子商务跟踪功能。我们注意到Google Analytics中有一些丢失的交易。只有一些数据丢失,其他交易记录正确。
缺少订单没有特定的模式(例如,选择的产品,他们正在使用的设备......等)。
以下是将交易数据推送到分析的代码段。
var products = [];
for (i = 0; i < cart.lines.length; i++) {
var cartItem = cart.lines[i];
if (cartItem != null && cartItem != 'undefined') {
products.push({
'name': cartItem.cartProduct.name + ' ($' + cartItem.cost + ')',
'id': cartItem.cartProduct.id ,
'price': cartItem.cost,
'brand': 'My Brand XXX',
'category': cartItem.category,
'variant': 'My Brand XXX',
'quantity': 1 // Iterating item by item therefore hardcoding quantity to 1
});
}
}
// Pushing ecommerce transaction data to data layer
window.dataLayer = window.dataLayer || [];
dataLayer.push({
'ecommerce': {
'purchase': {
'actionField': {
'id': cart.referenceNumber, // Transaction ID. Required for purchases and refunds.
'affiliation': store.name,
'revenue': cart.totalPrice, // Total transaction value (incl. tax and shipping)
'tax': 0,
'shipping': cart.deliveryCharge,
'coupon': ''
},
'products': products
}
},
'event': 'purchase'
});
}
请注意,我有一个完全填充的购物车&#39;和&#39;存储&#39;对象可访问。 感谢是否有人可以帮助弄清楚造成这种情况的原因。
答案 0 :(得分:1)
嗯,你的代码似乎很好。没有任何具体方法可以确定导致此问题的方式。 您可以在上面的特定代码中实现异常跟踪,这样您就可以了解导致问题的可能原因。
要使用GTM实现异常跟踪,您需要在try catch块中包含上述代码,并在catch块中使用异常详细信息推送datalayer事件。在GTM的另一端配置异常跟踪标记。
希望这会对你有所帮助。如果需要任何帮助来实现异常跟踪,请告诉我。
答案 1 :(得分:1)
由于 Google Analytic 是基于 Javascript 的平台,交易丢失的原因可能有很多,下面概述了一些明显的原因 -:
过去,我们使用 extensions 之一为我们的 Magento 2 站点使用 Measurement Protocol API
在 Magento 和 Google 之间同步丢失的订单无论您使用什么平台,都可以利用 Measurement Protocol API 在两个系统之间同步订单,并在 Analytics 中为您提供 100% 的销售数据视图。
答案 2 :(得分:0)
如果您使用第三方支付处理器进行部分但不是所有交易 - 例如,您接受信用卡在您的网站上,但您也接受PayPal付款,买方被带到PayPal网站完成交易 - 离开您网站付费的人通常不计算在内。
有两个原因:一,很多买家直接从PayPal离开 - 他们从不查看订单确认页面,其中您的跟踪代码设置为将数据发送给GA。
其二,他们会被单独跟踪,因为他们在技术上离开了您的网站然后又返回了,因此您需要设置跨域跟踪以将其与正确的用户会话相关联。
(我知道OP的答案相当晚,但认为在类似的情况下可能对其他人有所帮助。)