欢迎访问我的博客,有问题可以在任意文章底部留言评论

如何通过GTM置、读取与删除Cookie?

GTM代码 Haran 9年前 (2017-06-27) 10078次浏览 4个评论

通过GTM设置Cookie(写入Cookie)

如果你需要在用户完成某个动作后保存一个简单状态,例如表单提交成功、已关闭提示或活动来源,可以用 GTM 的 Custom HTML 写入第一方 Cookie。

在 GTM 中点击「代码」——「新建」——「选择一个代码类型以开始设置…」——「Custom HTML」,粘贴以下代码:

这段代码会写入:

Cookie Name:test
Cookie Value:TT
有效期:30 天
适用路径:整个网站

如何通过GTM置、读取与删除Cookie?

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」,作如下设置

如何通过GTM置、读取与删除Cookie?

预览测试,在Tag Assistant检查Read Cookie的值是否准确:

如何通过GTM置、读取与删除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


有疑问可以在底部留言
喜欢 (1)
发表我的评论
取消评论

Hi,您需要填写昵称和邮箱!

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址
(4)个小伙伴在吐槽
  1. 有木有完整的记录网站的数据的COOKIE的应用教程
    gao2017-09-11 18:11 回复 Windows 10 | Chrome 57.0.2987.133
    • Haran
      搜索一下看看有木有
      GA小站2017-09-11 18:14 回复 Mac OS X | Safari浏览器 602.1
      • 木有啊,就这一篇
        gao2017-09-11 18:25 回复 Windows 10 | Chrome 57.0.2987.133
        • Haran
          那就没有
          GA小站2017-09-11 21:58 回复 Windows 7 | Chrome 49.0.2623.75