我们使用 GTM 将 GA 添加到我们的网站。GA 中启用了标准电子商务跟踪。为了开始这个项目,我正在使用相同 GTM/GA 帐户的 DEV 环境中进行测试。只有来自实时站点的数据显示在 GA 中,所以 DEV 被过滤掉(我不确定这是如何完成的)。我有两个问题。
- 如何设置“transactionProducts”以循环浏览购物车中的商品并单独显示它们,而不是全部一起显示?
- 我该怎么做才能从 DEV 站点查看 GA 中的结果 - 我无法实时测试 - 除非我在带有假数据的实时站点上创建一个 noindex/nofollow 静态页面,以查看它是否会将其发送到 GA。
我根据 GA 方向创建了 GTM 电子商务标签: 标签类型:谷歌分析:通用分析 跟踪类型:交易 谷歌分析设置:在此标签中启用覆盖设置(我们有一个 GA 变量,但我决定不使用它,以防它可能干扰) 跟踪ID: UA-########-#
我根据 GA 方向创建了 GTM 电子商务触发器: 触发器类型:页面视图(DataLayer 在 GTM 脚本之后出现) 此触发器触发:某些页面视图 触发此触发器...:页面 URL 包含 /order/confirmation
确认页面是提交订单页面之后的自己的页面。
因此,DataLayer 是:
<script>
if(window.location.pathname == "/order/confirmorder"){
// capture values from the spans with the following classes
var GAtransactionId = jQuery(".lblOrderNumber").text();
var GAtransactionTotal = jQuery(".lblTotal").text();
var GAtransactionTax = jQuery(".lblTax").text();
var GAtransactionShipping = jQuery(".lblShippingHandling").text();
// transactionProducts data from the spans with the following classes
var GAsku = jQuery(".lblProductSKU").text();
var GAname = jQuery(".lblProductSKU").text();
var GAprice = jQuery(".lblYourPrice").text();
var GAquantity = jQuery(".lblOrderItemQty").text();
// Checking my variables before they go thru
alert("GAtransactionId: " + GAtransactionId + " GAtransactionTotal: " + GAtransactionTotal + " GAtransactionTax: " + GAtransactionTax + " GAtransactionShipping: " + GAtransactionShipping + " GAsku: " + GAsku + " GAname: " + GAname + " GAprice: " + GAprice + " GAquantity: " + GAquantity);
window.dataLayer = window.dataLayer || [];
dataLayer.push({
'transactionId': GAtransactionId,
'transactionTotal': GAtransactionTotal,
'transactionTax': GAtransactionTax,
'transactionShipping': GAtransactionShipping,
'transactionProducts': [{
'sku': GAsku, // returns each item - but smooshed together
'name': GAname, // returns each item - but smooshed together
'price': GAprice, // returns each item - but smooshed together
'quantity': GAquantity // returns each item - but smooshed together
}]
});
}
</script>
在 GTM 预览模式下,我确实看到了数据层的当前值:但如果我的购物车中有多个商品,则“transactionProducts”商品会全部融合在一起。
transactionProducts: [
{
sku: 'ABCDEFGHIJK''
name: 'Blue CoatRed Coat',
price: '$30.99$31.99',
quantity: '11'
}
]
如何遍历“transactionProducts”以分别显示购物车中的每个项目?我猜一个 for 循环可能会做,但我将如何设置它,然后我将它添加到 DataLayer 的哪里,这样它就不会破坏任何东西?另外,我是否需要从结果中删除“$”符号(我知道该怎么做)?
我在哪里可以找到一个过滤器来阻止来自 DEV 站点的数据被发送 - 所以我可以在测试时暂时禁用它?我是否需要发布 GTM 标记/触发器以使其实际发送数据,或者我可以使用预览模式并期望在 GA Conversions > Ecommerce > Overview 中看到 DataLayer 数据?