更新時間:2026年6月12號
許多人在完成GA4電子商務蹤部署後,發現purchase事件已經成功記錄,甚至在即時報表與DebugView中也能看到交易資料,但報表中的電子商務收益(Ecommerce Revenue)卻顯示為 0。
這種情況通常代表GA4已收到purchase事件,但無法正確計算交易金額。
本文整理幾個最常見的原因,以及對應的檢查與解決方法。
原因一:GA4權限限制導致無法查看收益資料
有時候並不是資料沒有收集到,而是目前登入的帳戶權限不足,因此無法查看收益相關指標。
檢查方式:在GA4中點擊「管理」——「資源存取權管理」,點擊對應的用戶賬戶,然後看「資料限制 (僅限 GA4 資源)」,如果被設定為無收益指標和無費用指標,那麼即使網站已經成功傳送交易資料,仍然無法在報表中查看收益數據。
解決方式:請聯絡GA4管理員,將帳戶權限調整為可查看收益指標。
原因二:purchase事件缺少value或currency參數
GA4的電子商務收益主要依賴以下兩個參數:
| 參數 | 說明 |
|---|---|
| value | 交易金額 |
| currency | 貨幣代碼 |
這兩個參數缺一不可。
例如:
{
event: "purchase",
ecommerce: {
transaction_id: "T_12345",
value: 100,
currency: "TWD"
}
}
如果出現以下情況:
- 沒有傳送value
- value為空值
- value格式錯誤
- 沒有傳送currency
- currency使用不支援的貨幣代碼
- currency使用代碼大小寫錯誤
都可能導致GA4無法計算電子商務收益。
檢查方式:GTM 裡預覽看dataLayer 裡value或currency參數是否都準確
解決方式:請確保value或currency參數格式準確
原因三:GTM 資料層變數設定錯誤
這是實務上最常見的問題之一。
假設網站推送的purchase如下:
dataLayer.push({ ecommerce: null });
dataLayer.push({
event: "purchase",
ecommerce: {
transaction_id: "T_12345",
affiliation: "Google Merchandise Store",
value: 36.32
}
});
以value為例,資料層變數應該要設定為ecommerce.value,如果直接設定為value,那麼就是錯的。
或是將資料層變數版本設置為1也是錯的,默認為2才是對,不要去修改它。
檢查方式:GTM裡預覽看使用到的電商變數是否有準確的值
解決方式:確保使用的變數獲取到準確的值,或直接設置DataLayer變數
原因四:資料層傳送格式錯誤
另一種常見情況是:發送的資料層沒有遵循官方的要求的格式,是錯誤的,如:
dataLayer.push({
event: <span class="ͼk">"purchase"</span>,
value: 100,
currency: "TWD"
});
即使事件成功進入GA4,只要格式不符合規範,也可能無法計算收益。
檢查方式:GTM裡預覽看使用到的電商變數是否有準確的值
解決方式:確保使用的變數獲取到準確的值
原因五:交易資料被資料篩選器(排除
如果GA4開啟了Internal Traffic(內部流量)或Developer Traffic(開發人員流量)
而你的測試流量剛好符合條件。
那麼purchase事件可能出現在DebugView,但不會進入正式報表,最終造成收益為0的錯覺。
檢查方式:前往管理 → 資料設定 → 資料篩選器,檢查是否開啟Internal Traffic(內部流量)或Developer Traffic(開發人員流量)
解決方式:移除資料篩選器