GA4 Measurement Protocol API 使用教學與應用範例 - 數據酷
文章推薦指數: 80 %
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
延伸文章資訊
- 1Collect campaign data with custom URLs - Analytics Help
https://www.example.com/?utm_source=summer-mailer&utm_medium= ... Links to websites: Use the Camp...
- 2Measurement Protocol Reference - Google Developers
https://www.google-analytics.com/collect. All data should be sent securely with the HTTPS protoco...
- 3Regional data collection - Analytics Help - Google Help
When Analytics establishes a connection with the closest available Google data collection center,...
- 4Measurement protocol V2 Google analytics Apps+Web
https://www.google-analytics.com/g/collect?v=2&_dbg=1&tid=G-EYPV5EM8S1&cid=1487972805.1593070957&...
- 5How Google Analytics Collects Data - AnalyticsMarket