通过GTM设置Cookie(写入Cookie)
如果你需要在用户完成某个动作后保存一个简单状态,例如表单提交成功、已关闭提示或活动来源,可以用 GTM 的 Custom HTML 写入第一方 Cookie。
在 GTM 中点击「代码」——「新建」——「选择一个代码类型以开始设置…」——「Custom HTML」,粘贴以下代码:
这段代码会写入:
Cookie Name:test
Cookie Value:TT
有效期:30 天
适用路径:整个网站
Cookie已经写入,值准确。
关键属性说明:
- Max-Age:Cookie 的有效期,单位为秒;上例为 30 天。
- Path=/:同一域名下的所有页面都可读取该 Cookie。
- SameSite=Lax:限制 Cookie 在大多数跨站请求中发送,通常适合作为第一方状态 Cookie 的默认选择。
- Secure:仅在 HTTPS 请求中发送 Cookie。生产网站应使用 HTTPS;在 HTTP 测试环境中加入该属性后,Cookie 可能无法写入。
前端 JavaScript 无法设置 HttpOnly。因此不要用 GTM Cookie 保存登录凭证、访问令牌、手机号或其他敏感信息;这类 Cookie 应由服务器设置并加上 HttpOnly。
通过GTM读取Cookie(创建变量)
GTM 可以直接读取当前网站中、且未设置 HttpOnly 的第一方 Cookie。
GTM中点击「变量」—「新建」—「选择一个变量类型以开始设置」——「第一方Cookie」,作如下设置

预览测试,在Tag Assistant检查Read Cookie的值是否准确:
如果变量为空,优先检查:
- 写入 Cookie 的标签是否已经触发;
- Cookie 名称大小写是否一致;
- 当前页面是否处于同一域名与适用路径;
- 是否在 HTTP 页面错误加入了 Secure;
- Cookie 是否已过期或被浏览器清除。
通过GTM删除Cookie
删除Cookie的原则是:写入一个同名、相同 Path(及相同 Domain,如有*的 Cookie,并将 Max-Age 设为 0。
Max-Age=0 会使 Cookie 立即失效。
如果原 Cookie 写入时包含 Domain=.example.com,删除时也必须加入相同的 Domain=.example.com;否则浏览器可能保留原 Cookie。


