文章目錄
這一篇文章,我將介紹在使用GA4 Measurement Protocol中常見的幾個問題:
沒有事件
有些人可能會遇到,通過Measurement Protocol是正常,返回是204,但是在GA4的即時報告裡看不到事件數據。
通常會是一下可能:
- api_secret問題: 如果缺少api_secret,或api_secret錯誤,過期
 - 超過72小時:因為GA4只能處理72小時內的數據,超過72小時的是不處理
 
被劃分到Unassigned管道
有些人可能留意到,通過Measurement Protocol發送的數據被劃分到 Unassigned管道,如:

這是因為缺少ga_session_id參數,如果你用Measurement Protocol發送數據,但缺少ga_session_id參數,就會被劃分到Unassigned管道。
或是ga_session_id的格式不對,ga_session_id應該是數值型,不是文本型。
ga_session_id存儲在 Cookie_ga_<container-id>, 延伸閱讀: Google Analytics 4 會用到哪些Cookie?
還有另一種方式就是在發送的資料裡帶上廣告活動詳細資料,用於渠道的識別,現在GA4是支援的,詳細參數設置如下:
const measurementId = `G-XXXXXXXXXX`;
const apiSecret = ``;
fetch(`https://www.google-analytics.com/mp/collect?measurement_id=${measurementId}&api_secret=${apiSecret}`, {
  method: "POST",
  body: JSON.stringify({
    "client_id": "client_id",
    "events": [{
      "name": "campaign_details",
      "params": {
        "campaign_id": "google_1234",
        "campaign": "Summer_fun",
        "source": "google",
        "medium": "cpc",
        "term": "summer+travel",
        "content": "logolink"
      }
    }]
  })
});
參數解釋:
| 參數 | 類型 | 必要 | 範例值 | 說明 | 
|---|---|---|---|---|
campaign_ | 
string | 
否 | google_1234 | 廣告活動 ID。 | 
campaign | 
string | 
否 | Summer_fun | 用於識別特定促銷活動或策略性廣告活動的名稱。 | 
source | 
string | 
否 | 廣告活動流量來源 (例如 google、電子郵件等)。 | |
medium | 
string | 
否 | cpc | 廣告活動媒介 (例如電子郵件、單次點擊出價等) | 
term | 
string | 
否 | summer+travel | 搭配付費搜尋廣告使用的廣告活動字詞,提供廣告關鍵字。 | 
content | 
string | 
否 | logolink | 用於測試 A/B 測試和指定內容廣告的廣告活動內容,用來區別指向相同網址的廣告或連結。 | 
有些維度是not set
這是因為Measurement Protocol沒有發送給字段的數據, 所以是 not set.
GA4記錄到的Client ID是不完整
你發送的: 1103448851.1680533058
GA4記錄到的: 1103448851.1680533
可能是發送的client ID是number格式,而實際上Client ID是string的才對。
發送資料限額
16kb



