
English Version Please Click Here
商品購買數異常
在 GA4 的電子商務報表中,
可以看到如果顯示的維度是商品名稱 -> 已購買的商品數 都顯示 0

但如果是顯示商品 ID -> 已購買的商品數 就看起來正常

可能的原因 GTM or DataLayer or 其他
先尋找 Purchase 事件是怎麼設定
- Google Tag Manager 那邊設定 Purchase 時有錯誤
- Gtag 請工程師埋 code
- 其他可能用到 Measurement Protocol 的方式
-> 這客戶原本我就大概知道設定的邏輯,是用 Google Tag Manager 來處理電子商務相關的設定
從 Google Tag Manager 的設定來看,是沒有問題的
他們單純使用 DataLayer 裡面的電商資料來處理
排查後發現
就是 DataLayer 裡面的資料有問題,
對方工程師在推送 Purchase 事件時不知道什麼原因,
在 item_name 的最後增加了一些字符,導致 GA4 的報表顯示出現了問題
範例的 view_item DataLayer

範例的 add_to_cart DataLayer

範例的 purchase DataLayer

示意的 DataLayer 中可以看到 Purchase 事件中,
item_name 的最後多了一個 “_1”
小小的一個不同就會造成 GA4 報表直接不顯示重要的指標
修復和解決方法
解決 DataLayer 中的錯誤
這裡就是和對方工程師描述一下遇到的問題和發現的狀況,
基本上應該都蠻好配合,
除非他們是刻意加上這些字符,並且有不可逆轉和不可調整的因素
無法解決 DataLayer,從 GTM 解決
如果上面的方式無法配合,
那就只能自己透過 Google Tag Manager 來調整,
方法就會是一樣讀取 DataLayer 的電子商務資料,
但額外多做一個變數,來改寫這個商品名稱的邏輯
以範例來說明
就是在變數中寫一段程式
把 時尚休閒上衣-1
改寫成 時尚休閒上衣
如果規則如範例這麼簡單,那處理起來會蠻輕鬆的
就怕實務上遇到很複雜的,處理的規則可能就會跟著一起變很複雜
1 | function() { |
如果用此方法,請在發布前多做測試,例如是不是其他電商事件也一起被調整到,但其實不該調整的
以前的歷史資料 -> LookerStudio
上面調整好發佈,或是對方工程師調整完成後
那往後的資料應該就會開始正常顯示
只是還是有一段問題,假設這個錯誤已經發生半年或是更久了
那在看以前的數據就會很麻煩
雖然把維度切換到商品 ID 是正常的
但以這客戶的情況來說,他們還是很仰賴商品名稱在看報表
來觀察商品的表現
從 Looker Studio 的建立一個和電子商務一樣的報表,
也會有商品名稱的問題

以範例的狀況來調整
加上一個計算欄位 : item name fix
並且用上
1 | REGEXP_REPLACE(Item name, '_1$', '') |
變可以把 原本的商品名稱-1
改寫成 原本的商品名稱

這樣一來就算是過往的錯誤資料,
也能在 Looker Studio 看到正常的商品名稱,
並且好好的分析商品的表現
