透過 gtag.js 使用 Cookie 和使用者識別資訊

gtag.js 會使用 Cookie 來識別所有瀏覽工作階段中的不重複使用者。本頁面說明如何自訂 Cookie 設定。

下表列出 gtag.js 使用的預設 Cookie 欄位值:

欄位名稱 值類型 預設值
cookie_domain string auto
cookie_expires integer 63072000 (兩年,以秒為單位)
cookie_prefix string _ga
cookie_update boolean true
cookie_flags string

如要變更這些值,請更新屬性的 config,使其在參數清單中指定。例如:

gtag('config', 'GA_MEASUREMENT_ID', {
  'cookie_prefix': 'MyCookie',
  'cookie_domain': 'blog.example.com',
  'cookie_expires': 28 * 24 * 60 * 60  // 28 days, in seconds
});

根據預設,gtag.js 會啟用自動 Cookie 網域設定,啟用後,gtag.js 會在可用的最高層級網域設定 Cookie。舉例來說,如果您的網站位址是 blog.example.com,gtag.js 就會在 example.com 網域上設定 Cookie。如果 gtag.js 偵測到您是在本機執行伺服器 (例如 localhost),則會自動將 cookie_domain 設為 'none',這樣 gtag.js 就會使用來自文件位置的完整網域來設定 Cookie。

如要關閉自動 Cookie 網域設定,請更新資源的 config 以指定 cookie_domain 參數的值:

gtag('config', 'GA_MEASUREMENT_ID', {
  'cookie_domain': 'blog.example.com'
});

為避免與其他 Cookie 發生衝突,您可能需要變更 Cookie 前置字元,在 gtag.js 設定的 Cookie 前面會加上這項資訊。例如,Google Analytics (分析) 使用的 ID Cookie 預設名稱為 _ga。這段程式碼會將 Cookie 改為 example_ga

gtag('config', 'GA_MEASUREMENT_ID', {
  'cookie_prefix': 'example'
});

每次載入網頁時,Cookie 到期時間會更新為目前時間加上 cookie_expires 欄位的值。這表示如果 cookie_expires 設為一週,而使用者在五天內用同一個瀏覽器造訪網站,這個 Cookie 可以使用額外一週,而且在 Google Analytics (分析) 中會顯示為同一個訪客。如果同一名使用者在原始 Cookie 過期後造訪,系統會建立新的 Cookie,並在 Google Analytics (分析) 中將第一次和第二次造訪視為來自不同的訪客。

如果將 cookie_expires 值設為 0 (零) 秒,Cookie 就會轉換為以工作階段為基礎的 Cookie,並在目前的瀏覽器工作階段結束時過期。

gtag('config', 'GA_MEASUREMENT_ID', {
  'cookie_expires': 0
});

如果將 cookie_update 設為 true (預設值),gtag.js 會在每次載入網頁時更新 Cookie。而 Cookie 到期時間也會隨之更新,根據最近一次造訪網站的時間進行設定。舉例來說,如果將 Cookie 到期時間設為一週,而使用者每五天就使用同一個瀏覽器造訪網站,則 Cookie 到期時間會在每次造訪時更新,因此永遠不會過期。

如果設為 false,系統就不會在每次載入網頁時更新 Cookie,而是會根據使用者首次造訪網站的時間,決定 Cookie 到期時間。

gtag('config', 'GA_MEASUREMENT_ID', {
  'cookie_update': false
});

設定時可將其他標記附加到 Cookie。標記必須以半形分號分隔。

gtag('set', {
  'cookie_flags': 'SameSite=None;Secure'
});

設定 User-ID

User ID 是代表使用者的不重複永久 ID 字串,且無法用來識別個人身分。可讓您分析不同裝置的工作階段群組。如要瞭解導入 User ID 的好處,請參閱「使用 User ID 功能的好處」。

如要透過 gtag.js 導入 User ID,請更新資源的 config 以設定 User ID:

gtag('config', 'GA_MEASUREMENT_ID', {
  'user_id': 'USER_ID'
});

您可以將 gtag.js 設為不要讀取或寫入 Cookie,直到提供使用者同意為止。詳情請參閱「根據同意聲明調整代碼行為」一文