如何解決GA4電子商務DataLayer繼承問題
快速導覽
相信各位在做GA4電子商務的追蹤設定,多少都會遇到dataLayer繼承問題,前面的dataLayer的data除非被覆蓋或清除,不然會一直在dataLayer遊蕩揮之不去。
給大家看一個例子,下圖是先推送了view_promotion,接著推送view_item_list,但大家注意看看黃色highline區塊,它繼承了前一個view_promotion的key和value,而且merge了view_item_list的部分,那這個結果事實上是錯誤的。
解決辦法
1.以「代碼管理工具」GTM,最常見的做法是推送dataLayer之前先dataLayer.push({"ecommerce":null}),這部分也是官方建議的做法。
如果你有遇到dataLayer.push({"ecommerce":null})失靈無法處理繼承問題,那麼你可以試試第二種方法。
2.在dataLayer的事件層級加上"_clear":true,可參考以下範例:
dataLayer.push({
'event': 'view_item_list',
'_clear': true,
'ecommerce': {
'currency': 'USD',
'items': ...
}
});
加上執行過後,你會發現前面的view_promotion的key和value就不會再被繼承,dataLayer的繼承問題就迎刃而解了,多提供一個解決DataLayer繼承問題給大家,希望對各位讀者有幫助。