我是GTM的新手,但在尝试提交2个增强的数据图层中的电子商务事件时遇到问题。当我查看Google Analytics(分析)时,只有最后一个事件似乎正在发送。Google跟踪代码管理器多个增强型电子商务事件
我遇到http://www.simoahava.com/analytics/ecommerce-tips-google-tag-manager/其中,就在总结之前,似乎总结一下我说的话就只提交最后一个。
dataLayer.push({
'event': 'addToCart',
'ecommerce': {
'currencyCode': 'GBP',
'add': {
'products': dataLayerProducts
}
}
});
dataLayer.push({
'event': 'checkout',
'ecommerce': {
'checkout': {
'actionField': {'step': 1},
'products': dataLayerProducts
}
}
});
只有结账会在Google Analytics中注册。我试过的东西像下面这样:
dataLayer = [{
'event': 'checkout',
'event': 'addToCart',
'ecommerce': {
'add': {
'products': dataLayerProducts
},
'checkout': {
'actionField': {'step': 1},
'products': dataLayerProducts
}
}
}];
和
dataLayer = [{
'event': 'addToCart',
'ecommerce': {
'add': {
'products': dataLayerProducts
},
}
}, {
'event': 'checkout',
'ecommerce': {
'checkout': {
'actionField': {'step': 1},
'products': dataLayerProducts
}
}
}];
但我没有运气做这样无论是。如果这是不可能的,任何有用的解决方法将不胜感激。
使用新代码更新: 仍然只发送上一个事件(签出)。代码在开始<body>
标记后立即出现。
<script>
dataLayer = [];
dataLayerProducts = [];
dataLayerProducts.push({
'name': 'Product Name',
'id': 'SKU',
'price': '29.95',
'brand': 'Brand',
'category': 'Some/Category',
'quantity': 1
});
dataLayer.push({
'event': 'addToCart',
'ecommerce': {
'add': {
'products': dataLayerProducts
},
}
});
dataLayer.push({
'event': 'checkout',
'ecommerce': {
'checkout': {
'actionField': {'step': 1},
'products': dataLayerProducts
}
}
});
</script>
<!-- Google Tag Manager -->
// Code
<!-- End Google Tag Manager -->
你可以用代码示例修改,以帮助我理解?因为我如何阅读它,当你说我需要用自己的事件推送每个数据集时,我认为这就是我在问题的第一个代码块中所做的。 – Nathan
在您的第一个代码块中,通过声明第二个代码覆盖第一个事件。请记住正常的JS规则是适用的,所以如果你给一个变量赋值,然后再赋值另一个,那么最后一个坚持。 – nyuen
所以我采用了您的示例代码,并使用完整的代码编辑了我的问题。但是,只有结帐事件似乎正在推动。分析显示没有加入购物车的会话,但带有结账的会话显示正确。 – Nathan