使用者 ID 是您指派給個別使用者的專屬 ID。 本指南說明如何將使用者 ID 傳送至 Google Analytics,以便連結不同工作階段、裝置和平台的使用者行為。
如要進一步瞭解 User-ID 功能,請參閱「評估跨平台活動」一文。如要瞭解如何為應用程式設定使用者 ID,請參閱「設定使用者 ID」。
user_id 參數是設定參數,而非自訂使用者屬性或標準事件參數。user_id 是保留的系統參數,專門用於識別跨裝置和工作階段的已驗證使用者。請勿將其設為自訂使用者屬性 (例如在 gtag.js 的 user_properties 物件中,或在 Google 代碼管理工具代碼的「使用者屬性」部分),也不要在 Analytics UI 中將其註冊為自訂維度。同樣地,請勿將其做為個別事件的事件層級參數傳遞。請改用下列方法,將 user_id 設為設定參數。
事前準備
傳送使用者 ID 前,請務必完成下列事項:
- 建立 Google Analytics 帳戶和資源。
- 為網站建立網站資料串流。
- 在網站上安插代碼管理工具程式碼片段。
- 在代碼管理工具中安插 Google 代碼。(舊稱 Google Analytics 設定代碼)。
- 擁有網站的代碼管理工具容器存取權。
- 具備 Google Analytics 帳戶的編輯者 (或更高層級) 角色。
傳送 User-ID
您為 user_id 傳送的值取決於使用者狀態:
- 使用者從未登入:請勿傳送
user_id參數。 - 使用者已登入:傳送使用者 ID。
- 使用者已登入,然後登出:傳送
null。
步驟 1:更新資料層
將使用者 ID 傳送至 Analytics 之前,請先在網站的資料層中提供 user_id。
您可以在載入網頁期間或網頁載入後 (例如使用者登入時) 更新資料層。每次呼叫 dataLayer.push 時,任何相關聯的代碼管理工具代碼都會收到更新後的 user_id。
重點:為確保 user_id 與初始網頁瀏覽事件和所有後續事件相關聯,您必須在網頁上的 Google 代碼管理工具容器片段「上方」(之前) 宣告資料層並推送 user_id。如果 user_id 是在 GTM 程式碼片段「之後」推送,則代碼在容器載入事件觸發時,將無法使用該變數。
if (/* your logic for determining if the user is signed in */) { dataLayer.push({ 'user_id': 'USER_ID' }); } else if (/* your logic for determining if the user signed out */) { dataLayer.push({ 'user_id': null }); } else { // Do nothing if the user never signed in. }
- 將註解替換為檢查使用者是否已登入,以及使用者是否已登入但隨後登出。
- 如果使用者已登入,請將 USER_ID 替換為他們的使用者 ID。
- 使用者登出時,請將
user_id設為null。請勿傳送空字串 ("")、空白字串 (" "),或引號內的字詞"null"或"NULL"。
步驟 2:建立資料層變數
- 在 Google 代碼管理工具中,按一下「變數」。
- 在「使用者定義的變數」部分,按一下「新增」。
- 依序按一下「變數設定」>「資料層變數」。
- 在頂端輸入變數名稱。
- 在「資料層變數名稱」欄位中,輸入使用者 ID 變數的名稱 (例如「user_id」)。
- 按一下「儲存」。
步驟 3:修改 Google 代碼
最後,修改「設定」代碼,讓與該代碼相關聯的所有事件都使用資料層變數:
- 在代碼管理工具中,按一下
「Tags」(代碼)。 - 選取 Google 代碼。
- 在「Configuration settings」(配置設定) 部分下方,新增一列並加入下列參數:
- 參數:
user_id - 值:選取您建立的資料層變數。
- 參數:
- 按一下「儲存」。
- 按一下「提交」,發布變更。
Google Analytics 如何使用 User-ID
將 user_id 值傳送至 Google Analytics 後,系統會用於:
- 整合使用者歷程:連結已登入使用者在不同工作階段、裝置和平台上的活動。
- 改善使用者人數:提供更準確、不重複的使用者指標。
- 啟用分析功能:
- 根據登入狀態分析活動:使用「已使用 User-ID 登入」等維度,在標準報表中建立比較項目,或在「探索」中建立區隔。
- 支援使用者多層檢視探索技巧,可讓您細查個別使用者的活動時間軸。
重要注意事項
請勿為 User-ID 建立自訂維度:請勿將
user_id註冊為以使用者為範圍的自訂維度。這是重要的最佳做法。這樣做會建立不必要的高基數維度,嚴重影響報表成效,導致資料歸入「(其他)」列,並耗用自訂維度配額。內建的 User-ID 功能會處理使用者拼接。詳情請參閱「User-ID 的最佳做法」一文。將
user_id設為配置設定,而非使用者屬性或事件參數: 由於user_id是保留的系統參數,因此只能做為配置或設定參數 (使用gtag()config或set指令,或 Google 代碼管理工具的 Google 代碼配置設定)。請勿將其設為自訂使用者屬性、在user_properties設定物件中傳遞,或在個別事件中做為事件層級參數傳送。標準報表與探索中的 Direct ID 顯示設定:為維護隱私權及管理基數,原始
user_id值無法做為標準報表或大多數探索 (例如任意形式) 的標準維度。不過,您可以在「使用者多層檢視」探索範本中,查看已登入使用者的原始user_id(位於「有效使用者 ID」欄)。存取原始使用者 ID:如需使用原始
user_id值進行分析,建議使用 GA4 BigQuery Export。匯出的資料中提供user_id欄位。
為確保系統使用 User-ID 資料,且資料會顯示在使用者多層檢視中,請確認資源的報表識別資訊設為「混合」或「觀測」。