傳送 User-ID

User-ID 是您指派給個別使用者的專屬 ID。本指南說明如何將使用者 ID 傳送至 Google Analytics,以便連結不同工作階段、裝置和平台的使用者行為。

如要進一步瞭解 User-ID 功能,請參閱「評估跨平台活動」。如要瞭解如何為應用程式設定 User-ID,請參閱「設定 User-ID」。

根據使用者 ID 設定自訂維度,會導致維度含有過多不重複值。不重複值過多會導致 Google Analytics 資料和報表準確度出現問題。進一步瞭解設定自訂維度的最佳做法


事前準備

傳送使用者 ID 前,請務必完成下列事項:

傳送 User-ID

您為 user_id 傳送的值取決於使用者狀態:

  • 使用者從未登入:請勿傳送 user_id 參數。
  • 使用者已登入:傳送使用者 ID。
  • 使用者先登入,然後登出:傳送 null

如要將 User-ID 傳送到 Analytics,請在網站的每個網頁中,將 user_id 參數加入 config 指令:

if (/* your logic for determining if the user is signed in */) {
  gtag('config', 'TAG_ID', {
    'user_id': 'USER_ID'
  });
} else if (/* your logic for determining if the user signed out */) {
  gtag('config', 'TAG_ID', {
    'user_id': null
  });
} else {
  // Do nothing if the user never signed in.
}
  1. TAG_ID 替換為代碼 ID
  2. 將註解替換成檢查使用者是否已登入,以及使用者是否已登入但隨後登出的檢查。
  3. 如果使用者已登入,請將 USER_ID 替換成使用者 ID。
  4. 使用者登出時,請將 user_id 設為 null。請勿傳送空字串 ("")、空白字串 (" ") 或以引號括住的字詞 "null""NULL"

在初始化後設定 User-ID

在許多情況下,Google 代碼首次初始化時,user_id 並不明。舉例來說,使用者可能造訪您的網站,但稍後才登入。

如要在初始網頁載入後設定或更新 user_id,請使用 gtag('set') 指令。這個指令會為網頁上所有後續事件設定 user_id,建議您採用這種做法,而非使用 gtag('config')

在登入時設定使用者 ID

使用者成功登入後,請呼叫 gtag('set'),將 ID 與日後的事件建立關聯:

// Example function called after successful login
function handleUserLogin(userId) {
  if (userId) {
    gtag('set', {'user_id': userId});
    console.log('User ID set for GA:', userId);

    // You can also send a login event
    gtag('event', 'login', { method: 'your_login_method' });
  }
}

// Example usage:
// handleUserLogin('12345_user');

登出時清除使用者 ID

使用者登出時,您應將 user_id 的值設為 null,藉此清除 user_id

// Example function called after logout
function handleUserLogout() {
  gtag('set', {'user_id': null});
  console.log('User ID cleared for GA.');

  // You can also send a logout event
  gtag('event', 'logout');
}

// Example usage:
// handleUserLogout();

使用 gtag('set') 可確保在整個使用者工作階段中正確管理 user_id,即使網頁載入後使用者登入狀態發生變化,也能反映使用者目前的登入狀態。