GA4 Measurement Protocol API 使用教學與應用範例 - 數據酷

文章推薦指數: 80 %
投票人數:10人

https://www.google-analytics.com/mp/collect. 正式伺服器,傳送的數據會進入GA4 資源,通訊協定有誤時,不會出現錯誤警告。

Skiptocontent 使用者資訊 訪客 最新文章 文章分類 GA4資源 GoogleAnalytics GoogleDataStudio GoogleTagManager 報表範本 DataStudio參數應用範例 電商跨媒體整合報表 GoogleAnalytics常用報表 YouTube影片留言深入洞察分析 GA4分析報表new_releases 追蹤粉絲專頁 GA4分析報表範本 查看範本報表 精選案例分享 查看完整內容 GA4MeasurementProtocolAPI使用教學與應用範例 最後更新日期 2021年7月23日|GoogleAnalytics4 目錄 什麼是MeasurementProtocolAPI?GA4MeasurementPortocol使用說明通用版GAMPvsGA4MP伺服器位置MP資料結構查詢參數介紹取得資料ID取得MeasurementProtocolAPI密鑰JSON參數格式介紹應用範例傳送單一事件–正確代碼格式傳送單一事件–錯誤代碼格式傳送複數事件GA4EventBuilder結語 什麼是MeasurementProtocolAPI? GA4MeasurementProtocol(以下簡稱MP),是一個標準通訊協定,可以將數據以HTTPPOST形式把GA4事件直接送到指定GA資源,MP通常用於收集/整合線下產生的數據(包含線下交易、定期購買、第三方CRM數據等等);如果只要收集Web、APP數據,使用正常代碼導入方式即可。

事實上,在通用版GA就有MP的存在,兩者最大的差異在於,通用版GAMP只需要取得資源編號,就可以向GA傳送數據,而資源編號可以輕易的在網頁上查詢,這會導致任何人都可以向你的資源發送垃圾數據,包括你的競爭對手;GA4MP新增了API密鑰功能,使用MP必須搭配資源產生的API密鑰才能向GA4傳送數據,主要就是為了阻擋垃圾數據的產生。

GA4MeasurementPortocol使用說明 通用版GAMPvsGA4MP GA4MP算是通用版GAMP的更新版,提供更安全與方便的功能環境,下圖為兩者的差異比較: 伺服器位置 GA4MP提供以下兩種伺服器位置: https://www.google-analytics.com/mp/collect正式伺服器,傳送的數據會進入GA4資源,通訊協定有誤時,不會出現錯誤警告。

https://www.google-analytics.com/debug/mp/collect驗證用伺服器,傳送的數據不會進入GA4資源,通訊協定有誤時,會出現錯誤警告。

由於GA4MP通訊協定較為複雜,如果傳送錯誤代碼格式訊號,可能導致GA4無法接收數據;有了驗證伺服器,可以幫助找出錯誤位置;正式傳送數據前,建議先使用驗證伺服器檢查傳送代碼格式是否正確(下面會介紹使用方式)。

MP資料結構 MP資料結構主要由以下5種主要參數組成:資料串流MPAPI密鑰、資料ID(Web評估IDorAPPappID)、裝置ID(Webclient_idorAPPapp_instance_id)、事件名稱、事件參數;其中,資料串流MPAPI密鑰與資料串流ID會儲存在網址查詢參數,其餘參數則以JSON格式儲存,下方為WebMP資料結構範例: fetch(`https://www.google-analytics.com/mp/collect?measurement_id=${資料ID}&api_secret=${資料串流MPAPI密鑰}`,{ method:"POST", body:JSON.stringify({ client_id:'XXXXXXXXXX.YYYYYYYYYY', //裝置ID events:[{ name:'tutorial_begin', //事件名稱 params:{ pr1:'事件參數1', //事件參數 pr2:'事件參數2' //事件參數 } }] }) }); 查詢參數介紹 先前有提到,查詢參數只會包含資料ID和資料串流MPAPI密鑰兩個資訊,跟著下面步驟,取得這兩個參數值: 取得資料ID 注意:資料ID不是資料串流ID! -Web資料ID(評估ID) 前往資源->Web資料串流->複製評估ID -APP資料ID(Firebase應用程式ID) 前往資源->APP資料串流->複製Firebase應用程式ID 取得MeasurementProtocolAPI密鑰 GA4MPAPI密鑰由資料串流層級產出,不同資料串流需要分別建立各自的API金鑰,依照下方步驟建立並取得API密鑰(Web和APP資料串流建立方式相同)。

前往資源->資料串流->選擇要使用MPAPI的資料串流->點擊MeasurementProtocolAPI密鑰 點擊右上方建立,給予密鑰一個暱稱(辨識用,不影響後續設定),取得資料串流API密鑰值。

JSON參數格式介紹 先前有提到,除了MPAPI密鑰與資料ID使用網址查詢參數儲存,其餘參數會以JSON格式儲存,下圖為GA4MP支援的參數: 參數限制 使用GA4MP傳送事件時,一樣要遵守GA4對於事件的規範,包含限制與用量以及避免使用保留名稱。

應用範例 接下來將使用瀏覽器Console配合GA4MP傳送測試事件到GA4資源。

傳送單一事件–正確代碼格式 下方為範例代碼,傳送“test_event”事件到GA4,正式傳送以前,先使用驗證伺服器確認代碼格式是否正確。

fetch(`https://www.google-analytics.com/debug/mp/collect?measurement_id=G-4E2F5EFRMF&api_secret=aoOKXLh5Tf6Gf5IU-zJAVw`,{ method:"POST", body:JSON.stringify({ client_id:'111.111', events:[{ name:'test_event', params:{ pr1:'事件參數1', pr2:'事件參數2' } }] }) }).then(response=>response.json()) .then(data=>console.log(data)); 傳送MP到驗證伺服器後,伺服器會回傳驗證訊息,顯示{validationMessages:Array(0)}表示代碼格式無誤,可以進行下一步,將事件傳送到正式伺服器。

使用MP傳送事件後,在GA4資源即時報表,即可看到先前傳送的“test_event”事件出現在報表上。

傳送單一事件–錯誤代碼格式 下方為範例代碼,傳送“user_engagement”事件到GA4(user_engagement為系統保留事件名稱,不能使用),正式傳送以前,先使用驗證伺服器確認代碼格式是否正確。

fetch(`https://www.google-analytics.com/debug/mp/collect?measurement_id=G-4E2F5EFRMF&api_secret=aoOKXLh5Tf6Gf5IU-zJAVw`,{ method:"POST", body:JSON.stringify({ client_id:'111.111', events:[{ name:'user_engagement' }] }) }).then(response=>response.json()) .then(data=>console.log(data)); 傳送MP到驗證伺服器後,伺服器會回傳驗證訊息,顯示{validationMessages:Array(1)}表示代碼格式有發現異常,將回傳訊息展開查看異常資訊。

異常警告顯示“user_engagement”事件名稱為系統保留事件,無法使用;異常警告主要分為以下三個欄位: description對於異常警告的描述。

fieldPath發現異常的位置。

validationCode異常警告代碼。

完整的異常警告說明清單可以參考官方文件。

傳送複數事件 下方為範例代碼,同時傳送“test_event”和“test_event1”事件到GA4,正式傳送以前,先使用驗證伺服器確認代碼格式是否正確。

fetch(`https://www.google-analytics.com/debug/mp/collect?measurement_id=G-4E2F5EFRMF&api_secret=aoOKXLh5Tf6Gf5IU-zJAVw`,{ method:"POST", body:JSON.stringify({ client_id:'111.111', events:[{ name:'test_event', params:{ pr1:'事件參數1', pr2:'事件參數2' } },{ name:'test_event1', params:{ pr1:'事件參數1', pr2:'事件參數2' } }] }) }).then(response=>response.json()) .then(data=>console.log(data)); 傳送MP到驗證伺服器後,伺服器會回傳驗證訊息,顯示{validationMessages:Array(0)}表示代碼格式無誤,可以進行下一步,將事件傳送到正式伺服器。

使用MP傳送事件後,在GA4資源即時報表,即可看到先前傳送的“test_event”和“test_event1”事件出現在報表上。

GA4EventBuilder 除了透過代碼傳送MP以外,Google也提供了GA4MP專用EventBuilder工具,可以在介面上完成MP設定、驗證與傳送步驟,將數據送到GA4資源。

結語 儘管GA4MP提供了更安全與方便的功能環境,但目前仍屬於alpha測試階段,無法保證產品穩定性,不建議現階段將此功能納入正式商業用途,使用前請先了解目前已知有可能發生的問題。

Postsnavigation ←GoogleAnalytics4如何透過UserID歸因使用者行為?認識GA4轉換,取代目標達成的新指標→ 數據顧問服務 數據酷顧問團隊提供企業專屬的數據解決方案 了解詳情 文章許願池 想看什麼文章主題? 我們會儘快為您安排 填表單許願 數據顧問服務 數據酷顧問團隊提供企業專屬的數據解決方案 了解詳情 文章許願池 想看什麼文章主題?我們會儘快為您安排 填表單許願 數據顧問服務 數據酷顧問團隊提供企業專屬的數據解決方案 了解詳情 文章許願池 想看什麼文章主題?我們會儘快為您安排 填表單許願 什麼是MeasurementProtocolAPI?GA4MeasurementPortocol使用說明通用版GAMPvsGA4MP伺服器位置MP資料結構查詢參數介紹取得資料ID取得MeasurementProtocolAPI密鑰JSON參數格式介紹應用範例傳送單一事件–正確代碼格式傳送單一事件–錯誤代碼格式傳送複數事件GA4EventBuilder結語 ScrollToTop



請為這篇文章評分?