GA4Measurment Protocol 應用

GA4教學|Measurment Protocol 實例

Measurement Protocol 是甚麼? 如何透過GA4的Measurement Protocol在特定無法埋設GA4代碼的情境等,可以發送指定的事件? 這一篇想要透過Measurement Protocol – MP通訊協定,來進行GA4的事件發送。

Measurement Protocol 基本上就是像https請求的方式,對GA4的伺服器進行傳遞「瀏覽內容、電商資訊、推薦來源等」。另外也可以透過Python,來實作一個MP的事件發送工具,我的網站很早就蓋好了這工具,也歡迎你直接使用 :)。

GA4是如何收到事件

GA4伺服器接收事件

從這張圖最上方可以看到,發送端有「WebClient, Server, Mobile Client」。橫向是講解Client如何與Server溝通,縱向為講解三個發送端分別帶入甚麼資料,給GA4伺服器,後續GA4接收終端,再分別將資料分派給GA、DATA API、BQ。

圖片來源:GA4官方文件

Measurement Protocol 實例

這次會透過官方提供的Event Builder工具,來進行Measurment 的事件發送操作。文章後面我也會展示PYTHON怎麼打造一個Measurement的工具。

Measurement Protocol 必備資料

使用Measurement Protocol – MP時,有4個必備「ga_session_id, client_id, event_timestamp, api_secret, measurment_id」。

  • ga_session_id:為判別使用者的來源/媒介,他會接續一開始使用者進入時,被GA4設定好的ga_session_id,如果缺少那來源媒介就會not set
  • event_timestamp:事件時間戳,為時間單位標示方式的一種,經常出現在程式語言、BigQuery也會出現,用於給機器讀取時間格式資料。這一個資料也得從BigQuery進行撈取。另外如果你想要將時間戳轉換成人類易懂的時間表示,你也可以上網搜尋「timestamp convert」。
  • api_secret:你可以從GA4「設定」 > 「資料串流」> 「你要發送的資源」> 「Measurement Protocol 密鑰」(下方圖一) > 「申請一組API KEY」 (下方圖二) 。
Measurement Protocol 密鑰
  • measurment_id:則是你的GA4資源代碼。

BigQuery撈取session_id

從BigQuery撈取session_id

透過BigQuery的查詢,可以在這邊看到Client_id;也就是對應BigQuery的user_pseudo_idga_session_id, event_stamp也可以在BigQuery中拿到。

Event_Builder設定

打開Event_builder填入以上必要的資料。

本次範例以share事件作為範例,直接將這個事件傳入GA4。另外注意timestamp_micros會攸關事件的順序。例如page_view不可能發生的比session_start還要早。所以務必對齊事件的發生順序;把傳送事件timestampe設定 > 前一個事件的timestampe。資料透過MP傳入的,就會藉於兩個事件的順序當中。

Session_id則是在事件層級中維度填入。

確認GA4即時報表

如果在Event Build事件發送出去有看到「Event is valid」,並且有發送至GA4,就可以前往GA4的即時報表查看該事件。

你也可以看到裡面自帶一個ga_session的參數。

利用Python製作MP事件工具

透過前端請求的API,我們可以直接利用這個cURL – 來進行PYTYON的請求。目前的請求方式都是使用post。簡單來說,就是在請求的時候,帶上一些資料,例如網頁標題、購買產品名、推薦來源等參數。

以下也整理一些常見的參數,當然你也可以直接透過瀏覽器的f12,看一下GA4還有哪一些參數能用,進而帶入到自己寫的python程式中。

  • tid = gid
  • cid = client_id
  • dl = page_location
  • dt = page_title
  • sr = screen resolution
  • cu = currency (電子商務事件)
  • en = event_name
  • epn.value = event_value
  • pr1: product1 price
  • ep.transaction_id = transasionID
  • shippint = shipping

注意,下方程式碼由於放在網路關係,因此沒有將dict做好分類;程式碼無經過排版。實際做的時候,其實可以讓這邊的資料美化一些。但由於這個範例所夾帶的都是大量數據參數,所以你可能會覺得看起來非常凌亂,但仔細看他還是會有規則的。

import requests as req

header = {'path': f'/g/collect?v=2&tid={gid}&cid={cid1},{cid2}&sr=1829x1029&uaa=x86&uab=64&uapv=15.0.0&uaw=0&_s=5&cu={currency}&sid={sid}&seg=1&en={event}&_c=1&_ee=1&pr1={total}&quantity={quantity}&epn.value={total}&_et=380&dl={page_location}&pr1={name}', 'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/115.0.0.0 Safari/537.36'}


data={ 'tid': f'{gid}', 'cid': f'{cid1},{cid2}', 'dl':f'{page_location}', 'dt': f'{page_title}',}


gareq = req.post(f'https://analytics.google.com/g/collect?v=2&tid={gid}&cid={cid1}.{cid2}&sr=1829x1029&uaa=x86&uab=64&uamb=0&uam=&uap=Windows&uaw=0&_s=5&cu={currency}&sid={sid}&seg=1&epn.value={total}&en={event}&_c=1&_ee=1&dl={page_location}&pr1={name}',data=data,header=header)

總結

隔天就可以看到透過Measurment Protocol發送的事件出現在GA4。不管你是透過ga提供的event_builder來進行事件發送,或者是透過Python直接本地事件發送。不外乎一個原則就是帶參數,告訴GA4這個事件是甚麼、來自哪裡….等。

唯一不同的是PYTHON進行發送不需要apikey,只需要MeasurmentID。務必使用python的時候,也先確認好自己帶的參數正不正確,以免將GA4的資料弄髒。

更多文章

Looker Studio

  1. Looker Studio教學|Looker Studio 公式|電商指標
  2. Looker Studio教學|5個Looker Studio 混和資料功能
  3. Looker Studio 教學|指標維度是甚麼
  4. Looker Studio 教學|數據工程師帶你從0學Looker Studio
  5. Looker Studio教學|導入臉書廣告數據|Adveronix 免費工具

GA4

  1. GA4教學| 數據保留多久? 延長GA4數據保留時間?
  2. GA4教學|Measurment Protocol 實例
  3. GA4教學|GA4 如果有Not Set該怎麼辦
  4. GA4教學|GA4閾值門檻|GA4資料不正確
  5. GA4教學|GA4常見來源判定順序
  6. GA4教學|如何處理GA4重複事件
  7. GA4教學|自訂探索報表使用解說介紹|洞察來源unassigned
  8. GA4教學|GA4報表出現Unassigned如何解決
  9. GA4教學|排除金物流網域|Referrer必備知識
  10. GA4教學| 一定要知道的GA4資料設定

GTM

  1. GTM教學|GTM觸發條件常失敗
  2. GTM教學|設定 Consent Mode 同意聲明模式
  3. GTM教學|GTM問題總整理
  4. GTM教學|設定臉書像素|常見Meta問題總整理
  5. GTM教學|WordPress表單驗證事件|GA4追蹤教學
  6. GTM教學|手動設定GCP SERVER伺服器配置
  7. GTM教學|臉書像素重複事件怎麼解決
  8. GTM教學|GTM常用變數中文解說
  9. GTM教學|伺服器追蹤|自訂網域追蹤
  10. GTM教學|伺服器追蹤教學4|Http解說
  11. GTM教學|追蹤來自部落格轉換成效
  12. GTM教學|伺服器追蹤教學3 | Facebook轉換Capi設定
  13. GTM教學|伺服器追蹤教學2 | GA4事件設定
  14. GTM教學|伺服器追蹤教學 | 伺服器配置設定
  15. GTM教學|Tiktok廣告電子商務埋設大全3|廣告代碼埋設
  16. GTM教學|Tiktok廣告電商埋設2
  17. GTM教學|廣告電商埋設1|電商必要參數抓取
  18. GTM教學|電商埋設5|GA4電商埋設
  19. GTM教學|電子商務埋設大全4|GA4電子商務完整埋設
  20. GTM教學|GTM電商埋設3|抓取ItemName
  21. GTM教學|GTM電商埋設2|抓取ItemID
  22. GTM教學|電商埋設1|抓取Value
  23. GTM教學|提升廣告成效|Adblocker阻擋原理
  24. GTM教學|GTAG部署方式三大整理
  25. GTM教學|Google Ads 強轉換 | 購買金額
  26. GTM教學|自訂網址追蹤|不是只有「UTM」才能做網址追蹤
  27. GTM教學|AutoEvent追蹤使用者點選的圖片
  28. GTM教學|CSS Selector抓取表格的值
  29. GTM教學|了解網站熱門頁面|GTM追蹤點擊事件
  30. GTM教學|埋設事件|確認GA4有無收到事件
  31. GTM教學|自訂網址追蹤|不是只有「UTM」才能做網址追蹤
  32. GTM教學|3分鐘檢查GA4事件重複錯誤
  33. GTM教學|GA4電子商務事件埋設範本
  34. GTM教學|DOM抓取電商中的轉換價值
  35. GTM教學|新的GTM容器一定要做這設定
  36. GTM教學|設定GA4事件大全
  37. GTM教學|推薦GTM範本|全新DataLayer寫入方式
  38. GTM教學|網站計時器埋設|抓出使用者進站停留時間
  39. GTM教學|如何辨別是否網站為SPA站
  40. GTM教學|名單型網站追蹤|Thankyou Page 填寫表單事件
  41. GTM教學|網站通話追蹤|臉書私訊、加LINE
  42. GTM教學|自訂網址追蹤|不是只有「UTM」才能做網址追蹤

BigQuery

  1. BigQuery教學|BigQuery預測GA4數據
  2. BigQuery教學|視覺化報表怎麼製作
  3. BigQuery教學|基礎必備語法|免費BigQuery資料導入
  4. BigQuery教學|串接BIgQuery | BIgQuery費用

其他

  1. 臉書粉絲專頁預覽連結無法顯示|已解決
  2. LINE Notify|Python串接教學|如何使用LINE Notify 自訂通知
  3. 如何查看網站(CMS)用哪個平台

error: