gtag.js 使用 Cookie 跨浏览会话识别唯一身份用户。本页介绍了如何自定义 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
});
Cookie 网域配置
默认情况下,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 产生冲突,您可能需要更改 Cookie 前缀,即在由 gtag.js 设置的 Cookie 前添加的内容。例如,Google Analytics(分析)所用 ID Cookie 的默认名称为 _ga
。而在以下代码中,此 Cookie 的名称会更改为 example_ga
:
gtag('config', 'GA_MEASUREMENT_ID', {
'cookie_prefix': 'example'
});
Cookie 有效期
每次加载网页时,Cookie 过期时间都会更新为当前时间加上 cookie_expires
字段的值。也就是说,如果将 cookie_expires
设置为 1 周,假使某位用户在 5 天内使用同一浏览器进行访问,那么 Cookie 的有效期将从访问时间起延续 1 周,这些访问在 Google Analytics(分析)中将显示为由同一用户进行。如果该用户在原始 Cookie 过期之后访问,系统会新建一个 Cookie,那么该用户的第一次访问和第二次访问在 Google Analytics(分析)中将显示为来自不同的访问者。
如果您将 cookie_expires
值设置为 0
(零)秒,Cookie 将变成基于会话的 Cookie,并在当前浏览器会话结束后马上过期。
gtag('config', 'GA_MEASUREMENT_ID', {
'cookie_expires': 0
});
Cookie 更新
当 cookie_update
设置为 true
(默认值)时,gtag.js 会在每次网页加载时更新 Cookie。这样一来,系统在更新 Cookie 有效期时会以最近一次访问网站的时间为起点。例如,如果将 Cookie 有效期设置为 1 周,假使某位用户每 5 天使用同一浏览器访问一次网站,那么 Cookie 有效期在用户每次访问时都会更新,实际上将永远不会过期。
如果设置为 false
,Cookie 不会在每次网页加载时更新。这样一来,Cookie 有效期会以用户首次访问网站的时间为起点。
gtag('config', 'GA_MEASUREMENT_ID', {
'cookie_update': false
});
Cookie 标记
如果设置了“Cookie 标记”值,则会在 Cookie 后追加额外的标记。各标记间必须用英文分号分隔。
gtag('set', {
'cookie_flags': 'SameSite=None;Secure'
});
设置 User ID
User ID 是代表用户的永久性非个人身份 ID 字符串,该 ID 必须是独一无二的。利用 User ID 可以跨设备分析会话组。要了解为何应实现 User ID,请查看使用 User ID 功能的优势。
要使用 gtag.js 实现 User ID,请更新媒体资源的 config
以设置 User ID:
gtag('config', 'GA_MEASUREMENT_ID', {
'user_id': 'USER_ID'
});
根据用户意见调整代码行为
在征得用户同意之前,您可以将 gtag.js 配置为不读取或写入 Cookie。有关详情,请参阅根据用户意见调整代码行为