使用 Measurement Protocol 將網站事件傳送至 GA4

1. 簡介

上次更新時間:2019 年 4 月 30 日

建構項目

  • 在本程式碼研究室中,您將瞭解如何使用 Measurement Protocol 將外部事件傳送至 GA4。
  • 本程式碼研究室假設您已導入 Google Analytics 4 的網頁/網站。

課程內容

  • 初次傳送 Measurement Protocol 呼叫的步驟
  • 瞭解用於呼叫的必要參數
  • 傳送及驗證測試呼叫
  • 在 Python 中建構範例指令碼來發出呼叫

軟硬體需求

  • 網站/網頁
  • 任何可進行變更的 IDE
  • Google Analytics 4 帳戶
  • 選用 - Python 開發環境 (或 Colab)

2. 收集必填欄位

在 GA4 中建立 API 密鑰

前往 Google Analytics 4,依序點選「管理」>「資料串流」> 選擇所需串流 >「Measurement Protocol」>「建立」,建立新的 API 密鑰

8dee89e850ae90bb.png

d0be19d8112435a2.png

de5a80a1445d3a14.png

您可以提供任何暱稱,系統會顯示密鑰值,供您在呼叫中使用

收集 client_id

您可以使用下列任一方法收集 client_id。

  1. 透過 gTag 收集

下文將詳細說明這兩種情況

透過 gTag 收集

您可以使用下列方式,透過網站擷取 client_id:

gtag('get', 'UA-XXXXXXXX-Y', 'client_id', (clientID) => {
  Do something with clientID)
}

以下提供更多連結,視您的基礎架構而定

3. 建構 Call

您可以使用 GA4 中的事件建立工具建構範例呼叫。(需要登入帳戶並啟用 Cookie)。確認切換鈕設為「gtag.js」

b904d2a053eb7817.png

您需要填寫下列欄位

  • api_secret - 先前已在 GA4 中建立
  • measurement_id:如要取得這項資訊,請依序前往「管理」>「資料串流」> 選擇您的串流。畫面應如下所示

d362992ff592c675.png

  • client_id - 您已擷取這個值
  • user_id 為選填欄位。目前可以留空
  • 類別 - 從下拉式選單將此項目變更為「自訂」,然後輸入您選擇的任何事件名稱 (請勿使用任何自動收集事件)。這裡我們使用「test_from_codelab」

cf580a708bb0a8a2.png

您也可以點選下方按鈕,選擇提供事件參數和/或使用者屬性

da59bb982f6f906a.png

填寫完畢後,您應該會看到類似下方的畫面,並顯示「驗證事件」按鈕

31f720d550906298.png

到達這個步驟後,請按一下以橘色醒目顯示的「驗證事件」按鈕。畫面應會顯示以下訊息,指出事件有效,並顯示「傳送至 Google Analytics」按鈕。此時,如果事件顯示為無效,工具會指出有問題的確切欄位,您可以修正該欄位並重試

1d63d1e067c46294.png

現在您可以點選按鈕,系統應會將測試事件傳送至 GA4

4. 在 GA4 中驗證事件

傳送事件後,您可以前往 GA4 帳戶並查看「即時」報表。您應該會看到事件傳送成功

7b9e9a0f74b64757.png

事件從即時檢視畫面傳播到實際的事件報表分頁,可能需要約 24 小時,因此如果沒有立即在一般事件報表中看到,請不必擔心!

5. 建構 Python 指令碼

測試完畢後,您可以檢查 API 呼叫和事件酬載,在 Python (或您選擇的任何語言) 中建構類似的架構,以便進行這項呼叫。接著,您可以排定所需頻率並開始運作。在這部分,您可以選擇使用任何支援 Python 的 IDE,也可以直接使用 Google Colab 筆記本,無須在裝置上安裝任何項目

回到 GA4 事件建立工具,您會看到端點如下

POST /mp/collect?measurement_id=XXXX&api_secret=XXXX 
HTTP/1.1
Host: www.google-analytics.com

事件酬載如下

{
  "client_id": XXXX,
  "non_personalized_ads": false,
  "events": [
    {
      "name": "test_from_codelab",
      "params": {
        "test_param": "test_123"
      }
    }
  ]
}

您可以透過類似下列的內容,將這項內容翻譯成 Python

import requests
import json
url = "https://www.google-analytics.com/mp/collect?measurement_id=XXXX&api_secret=XXXX"
payload = {
  "client_id": XXXX,
  "non_personalized_ads": false,
  "events": [
    {
      "name": "test_from_codelab",
      "params": {
        "test_param": "test_123"
      }
    }
  ]
}
r = requests.post(url,data=json.dumps(payload),verify=True)
print(r.status_code)

使用正確值執行這項操作後,您應該會看到 GA4 即時反映事件。

6. 恭喜

恭喜!您已成功在 GA4 中使用 Measurement Protocol。現在您可以建構強大的解決方案架構,將更有意義的資料傳送至 Google Analytics,進而改善行銷和業務分析。為充分發揮這項功能的效果,我們也建議您連結至 Google Ads,並將這些事件匯入為轉換。

您已學會

  • 如何收集正確的變數來發出 MP 呼叫
  • 如何傳送及驗證測試事件
  • 如何建立傳送 MP 呼叫的指令碼

參考文件