更新於 2022/08/04閱讀時間約 7 分鐘

GA4打雜實作|Measurement protocol讓你實現跨場域追蹤

我們若談到GA4追蹤的主要應用場域,肯定最常想到這二種,一是網站追蹤,另一則是行動應用程式APP追蹤(這兩種場域通常也與我們日常工作息息相關),可是往往最容易忽略一個,是甚麼呢?在實務上,GA4還有制定一套量測協定(Measurement protocol),透過它可讓我們進行更廣泛場域的應用,那個就是「其他可連網設備」的追蹤。
我們都相當清楚,追蹤網頁行為是透過Cookie來完成,而追蹤行動APP是使用追蹤ID,另外Measurement protocol不太一樣的是,它允許我們手動創建HTTP POST數據請求,並將此信息傳送到GA4的伺服器。這方式聽起來頗酷炫的,但進行操作上會遇到哪一些難關,沒有實做很難得知,因此話不多說,我們就馬上以最容易接觸的「Gmail信件行為」做為例子,示範如何追蹤「開信行為」的使用者動作。

Step1:記下你的Measurement ID

第一步應該是不用特別示範,我們到GA4的Admin後,點選Data Streams,接著進入你網站的Stream name,就可以看到它專屬的Measurement ID

Step2:檢查你的網頁Google developer console

回到要進行追蹤的網頁中按下鍵盤F12,然後點擊"Network",框選"Preserve log"和"Disable cache",下一步F5重新讀取頁面,在Google developer console搜尋框中輸入你剛剛複製的Measurement ID,出現搜尋後的結果。

Step3:點擊測量協議請求

我們在搜尋結果中找尋開頭有帶"collect?v="的測量協議請求,可隨便挑一個點選查看,在Google developer console的右側會同步出現完整的請求資訊,長的樣子大致像這樣:
https://analytics.google.com/g/collect?v=2&tid=G-RX72HKQ587>m=2oe811&_p=1683600846&_z=ccd.v9B&cid=987864070.1643251030&ul=zh-tw&sr=2560x1440&tt=internal&_eu=I&sid=1659517198&sct=304&seg=1&dl=https://www.rakuya.com.tw/sell/result&dr=https://member.rakuya.com.tw/home/agent&dt=房屋出售、買房、買屋 | 樂屋網&uid=317805&_s=1

Step4:分析測量協議請求的基本組成

每個測量協議請求都是由"transport""payload data"組成的,下面的是"transport"
https://analytics.google.com/g/collect
另一個則是"payload data""payload data"是由多個參數組成,皆是由「Key = value 」的格式呈現,而每對參數組則透過「&」符號與另一參數組做分隔。
v=2&tid=G-RX72HKQ587>m=2oe811&_p=1683600846&_z=ccd.v9B&cid=987864070.1643251030&ul=zh-tw&sr=2560x1440&tt=internal&_eu=I&sid=1659517198&sct=304&seg=1&dl=https://www.rakuya.com.tw/sell/result&dr=https://member.rakuya.com.tw/home/agent&dt=房屋出售、買房、買屋 | 樂屋網&uid=317805&_s=1
另一方面,我們可以從Google developer console上更清楚看出來有哪一些參數組(每一個參數所代表的意義,建議可參考此網路資料)。
美好簡單的時代已過,先前通用版的GA只要將以上的參數,找出我們所需的對應數值後,重新創建一個自訂網址就可傳送請求,可是GA4就複雜了許多,它更強調安全性,尚必須加上Google的API密鑰,以及使用JSON格式才能傳送正確的數據,範例代碼類似如下圖:
const measurement_id = `G-XXXXXXXXXX`;
const api_secret = `<secret_value>`;

fetch(`https://www.google-analytics.com/mp/collect?
measurement_id=${資料 ID}
&api_secret=${資料串流 MP API 密鑰}`, {   
method: "POST",   
body: JSON.stringify({
  client_id: 'XXXXXXXXXX.YYYYYYYYYY',//裝置 ID     
  events: [{       
    name: 'tutorial_begin',	//事件名稱       
    params: { 
      pr1:'事件參數1',//事件參數 	
      pr2:'事件參數2'//事件參數 	
      }		     
    }]   
  }) 
});

Step5:取得Measurement Protocol API 密鑰

接著就來到重點部分,我們要取得API 密鑰,前往Data Streams-選擇需使用Measurement Protocol API 的資料串流-點選Measurement Protocol API 密鑰(如果是第一次執行,就需要新建一個)-複製密鑰的值。

Step6:使用Event Builder

現在,我們終於可以使用Google官方提供的Event Builder,來建立我們第一個HTTP Post請求。關於各參數的解釋函義可參考官方說明,這一次我們就先簡易的設定一些必要數值進行測試就可。

Step7:按下"Validate Event"測試事件設定是否有效

Step8在GA4的即時報表確認有接收到發送的事件數據

大致上走到這邊就已經差不多完成了,但Google官方的操作說明是更為謹慎,會另外多加上「驗證事件」及「驗證實現」,有興趣的朋友可以實際演練看看,這邊就不多談了,我們打完,收工!😄
分享至
成為作者繼續創作的動力吧!
© 2024 vocus All rights reserved.