我是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