「我的 GA4 說昨天有 500 個訂單,但後台只有 380 個,差了 120 筆,這是哪裡出問題了?」
數據不一致是每個數位行銷人和分析師都遇過的頭痛問題。GA4 的數字跟你的 CRM 不符、跟廣告後台的轉換數對不上、甚至同一個 GA4 資源不同報表的數字都可能有出入。
先說一個讓人放心一點的事實:完全「準確」的 GA4 數據幾乎不存在。所有網站分析工具都有盲點,追蹤碼有時候就是沒辦法捕捉到每一個用戶。接受這個前提,你的目標就從「讓 GA4 100% 準確」變成「把誤差控制在合理範圍內,並理解誤差的來源」。
這篇整理了 8 個最常見的 GA4 數據不準確原因,每個都附上排查方法。
1. 數據不準是正常的嗎
先建立一個基準線認知:GA4 和你的後台系統(電商平台、CRM、廣告系統)的數字有 10-20% 的差距,通常在可接受範圍內。
差異之所以存在,有幾個根本原因:
不同系統有不同的計算邏輯:GA4 計算的是「在瀏覽器端觸發的事件」,你的電商後台計算的是「資料庫裡記錄的訂單」。有些訂單在資料庫有紀錄,但 GA4 的 purchase 事件沒有觸發(例如用戶的瀏覽器在付款後馬上關掉、JavaScript 錯誤、廣告攔截器)。
歸因窗口不同:GA4 和 Google Ads 的轉換歸因窗口預設就不一樣,這是造成兩個系統轉換數不同的主要原因之一。
資料延遲:GA4 的標準報表有 24-48 小時的資料處理延遲,即時的比較可能有時間差。
超過 30% 的差距,才需要深入排查可能有系統性的問題。
2. 8 個常見原因(表格速覽)
| # | 問題 | 典型症狀 | 嚴重程度 |
|---|---|---|---|
| 1 | 追蹤碼重複安裝 | 數據虛高 2 倍 | 高 |
| 2 | 追蹤碼未安裝在所有頁面 | 部分頁面無數據 | 高 |
| 3 | 廣告攔截器 | 數據系統性偏低 | 中 |
| 4 | Bot 流量 | 異常的高流量、低互動 | 中 |
| 5 | 跨域追蹤未設定 | 跨域 Session 斷裂 | 高(多域名網站) |
| 6 | 資料取樣 | 探索報表出現「取樣」提示 | 中 |
| 7 | 時區設定錯誤 | 當日數據在報表裡位移 | 低-中 |
| 8 | 事件觸發邏輯錯誤 | 特定事件計數異常 | 視情況 |
3. 追蹤碼安裝問題
問題一:追蹤碼重複安裝(最常見的虛高原因)
同時用 gtag.js 和 GTM 部署 GA4,但兩種方式都配置了同一個評估 ID,就會導致每個頁面瀏覽被計算兩次。
排查方法:在瀏覽器開發者工具(F12)→ 網路(Network)頁籤,篩選 google-analytics.com 或 gtag,看同一次頁面瀏覽有沒有發出多個請求到 GA4。
修復方法:擇一使用 gtag.js 直接安裝或 GTM 管理,把另一個移除。
問題二:追蹤碼沒有覆蓋所有頁面
如果你的網站有多種頁面類型(例如主站用 WordPress,購物車用第三方平台,謝謝頁面是另一個獨立域名),可能有些頁面沒有安裝 GA4 追蹤碼。這會導致跨頁面的 Session 在沒有追蹤碼的頁面「消失」。
排查方法:在 GA4 的「頁面和畫面」報表,搜尋你知道應該有流量的頁面路徑,看有沒有數據。或是用 Tag Assistant 逐頁驗證追蹤碼是否正確觸發。
問題三:GTM 容器沒有發布
GTM 最容易犯的錯誤:做了更改但忘記點「提交」發布。在 GTM 草稿狀態下的更改,對線上網站完全沒有效果。
排查方法:在 GTM 查看「已提交」的版本和「目前草稿」的差異,確認最新的設定有沒有在已發布的版本裡。
4. 資料抽樣與門檻
取樣(Sampling)
GA4 的探索報表在資料量超過某個門檻時,會對數據進行取樣。這代表你看到的不是完整數據,而是 GA4 用一部分數據推算出來的估計值。
報表有沒有被取樣,GA4 會在報表頂部顯示提示(通常是一個盾牌圖示或警告訊息)。點選後可以看到取樣比例是多少。
如何減少取樣的影響:
- 縮小日期範圍(取樣通常在大範圍日期查詢時出現)
- 減少維度和區隔的數量
- 使用 BigQuery 做無取樣查詢(這是最徹底的解決方案)
門檻(Thresholds)
GA4 在某些情況下會套用「門檻」,隱藏可能識別特定用戶的數據。例如一個用戶群組的人數太少,某個維度值的用戶數量不到某個門檻,GA4 就會把那個數值隱藏或歸入「(other)」。
這種情況常出現在你做了很細緻的篩選,導致某個區隔的人數很少時。解決方法是放寬篩選條件,或是關閉 Google Signals 資料(如果你不需要跨裝置追蹤)。
5. 跨域追蹤沒設定
如果你的網站橫跨多個域名(例如主站是 www.example.com,結帳頁面是 checkout.example.com 或 payment-partner.com),沒有設定跨域追蹤,GA4 會把同一個用戶在不同域名的造訪當成不同的用戶。
典型症狀:
- 你的結帳或轉換頁面被算作「入口頁面(Landing Page)」(不合理)
- Direct 流量異常地高
- 轉換率看起來比實際高(因為 Session 被切斷,分子分母都不對)
排查方法:查看 GA4 的「頁面和畫面」報表,看你的結帳或付款頁面有沒有被記錄成 Landing Page。或是用 Tag Assistant 測試:從主站點進到結帳頁,看 Session 有沒有連續,還是重新開始。
修復方法:在 GA4 的資料串流設定裡,加入所有相關域名到「跨網域評估」清單。詳細步驟可以參考 GA4 跨域追蹤設定教學。
6. 排查 SOP
當你發現 GA4 數據有問題,建議按照這個順序排查:
第一步:確認問題的範圍
- 是所有數據都不對,還是特定的指標/報表/事件?
- 問題從什麼時候開始出現(查看歷史趨勢)?
- 問題在所有頁面都有,還是特定頁面?
第二步:檢查追蹤碼安裝
- 用 Tag Assistant 確認 GA4 代碼有在相關頁面正確觸發
- 確認 GTM 容器已發布最新版本
- 確認沒有重複計算(同一個評估 ID 觸發多次)
第三步:用 Debug View 測試
- 用 Chrome 的 Tag Assistant 開啟偵錯模式
- 手動執行你想測試的行為(頁面瀏覽、表單提交、購買等)
- 在 GA4 Debug View 確認事件有進來,且參數值正確
第四步:對照報表數字
- 找出差異最大的維度或事件
- 比較不同時間範圍,看差異是偶發還是持續
- 如果有多個報表顯示同一個指標,確認它們的計算邏輯是否一致(例如「流量開發」報表和「使用者開發」報表的工作階段數計算方式不同)
第五步:檢查外部因素
- 廣告攔截器:如果你的用戶群是技術族群,廣告攔截器的普及率可能高達 30-40%,這會讓 GA4 系統性地少計流量
- Bot 流量過濾:GA4 預設會過濾已知 Bot,但不保證過濾所有爬蟲
- 用戶同意設定(Consent Mode):如果你有實作同意管理,拒絕追蹤的用戶不會被記錄
常見排查工具:
- Tag Assistant:確認代碼觸發狀態
- GA4 Debug View:即時查看事件
- 瀏覽器開發者工具(Network 頁籤):直接看 GA4 API 請求
- GTM Preview 模式:確認 GTM 代碼觸發順序和變數值
7. FAQ
Q:我的 GA4 頁面瀏覽量跟 Google Search Console 的曝光次數差很多,哪個對?
A:這兩個指標本來就不是在量同一件事,不能直接比較。Search Console 的「曝光次數」是你的頁面在搜尋結果裡出現了幾次(不管用戶有沒有點),GA4 的「頁面瀏覽量」是用戶實際進到你的頁面並觸發 page_view 事件的次數。曝光次數遠大於點擊次數,點擊次數也未必等於 GA4 的頁面瀏覽量(因為有的點擊可能沒有成功載入頁面、或追蹤碼沒有觸發)。
Q:我在 GA4 看到的轉換數,比 Google Ads 後台的轉換數少很多,為什麼?
A:最常見的原因是:Google Ads 把每一次廣告點擊都歸因計算(如果轉換歸因視窗設得很長),而 GA4 用的是以資料為準的歸因,計算邏輯不同。另外,Google Ads 的轉換可能包含「電話通話轉換」或「實體到訪轉換」等不依賴 GA4 追蹤碼的轉換類型,這些在 GA4 裡自然不會有數據。建議在 Google Ads 後台連接 GA4 的轉換,用同一個轉換來源做比較,才有意義。
Q:GA4 有沒有「過濾內部流量」的功能,避免我自己瀏覽影響數據?
A:有。你可以在 GA4 → 管理 → 資料串流 → 進階設定 → 定義內部流量,設定你的辦公室或家裡的 IP 位址為「內部流量」。然後在「管理 → 資料篩選器」建立一個篩選器,排除 traffic_type 為 internal 的流量。注意:這個篩選器設定後,只對未來的數據有效,而且「報表識別」設定的資料篩選器無法套用在探索報表,需要確認設定方式。
數據準確性的根本,還是要從正確安裝追蹤碼開始。如果還沒看過,可以先閱讀 GA4 安裝與基本設定教學。跨域問題的完整解法請看 GA4 跨域追蹤設定教學。更多 GA4 基礎知識請閱讀 GA4 完整入門指南。