同意存放在哪里:Cookie、localStorage 与服务器端记录的比较

两项不同的工作

当访客做出同意选择时,需要发生两件独立的事情。第一,浏览器必须记住这个选择,这样横幅就不会在每个页面上重新出现,标签也知道自己被允许做什么。第二,你以后可能需要证明这个选择已经做出、访客当时看到了什么以及发生在何时。这两项工作往往由不同的存储机制处理,把它们混为一谈会造成实际问题:横幅不断重新出现、选择在某些浏览器上消失,或者在有人询问时拿不出任何记录。

本文比较三种常见方案 — 第一方 Cookie、localStorage 等浏览器存储,以及服务器端同意记录 — 并说明各自适用的场景。

方案 1:第一方 Cookie

Cookie 是存放同意状态的传统位置。支持 TCF 的 CMP 通常把同意字符串存储在第一方 Cookie 中,许多 CMP 也把自己的偏好数据存放在其中。

优势

劣势

方案 2:localStorage 与其他浏览器存储

一些 CMP 把详细的偏好存放在 localStorage 中,有时还会配合一个较小的 Cookie。

优势

劣势

方案 3:服务器端同意记录

服务器端记录是每次做出选择时由你或你的 CMP 提供商存储的一个条目。它通常包含一个假名标识符、时间戳、所做的选择、所展示的横幅或政策版本,以及地区等上下文信息。

优势

劣势

并排对比总结

实用的组合方案

  1. 将权威的本地信号 — 例如 TCF 字符串和一份紧凑的偏好记录 — 存储在作用域限定于你的可注册域名的第一方 Cookie 中。
  2. 仅将 localStorage 用于无需到达服务器的补充数据。
  3. 为每次选择写入一条服务器端记录,包括所展示的横幅和政策的版本。
  4. 如果已存储的选择消失,就再次显示横幅,而不是假定存在之前的回答。
  5. 为已存储的选择设定重新提示的周期,并将其记录在你的政策中。

存储访客的同意选择本身,通常被视为提供访客所要求的服务(即记住其决定)所必需,但请核对你的主要市场所适用的指导意见。

核心要点

← 博客 阅读全部 →