如何为你的网站添加Cookie同意功能
要添加Cookie同意功能,首先要列出你的网站在访客浏览器中存储了哪些内容,并将其分为严格必要与可选两类。然后添加一个横幅(可以来自同意管理平台,也可以自己构建),让它在访客接受之前阻止分析、广告像素等可选脚本;“拒绝”应与“接受”同样容易点击,横幅还要记住访客的选择,并允许他们随时更改。一个只显示却不阻止任何内容的横幅,并不能起到作用。
本指南仅提供关于同意横幅技术运作方式的一般性信息,不构成法律建议。各国隐私规则不同,且会不断变化;请核实适用于你的访客的规则,或咨询专业人士。
哪些需要同意(一般性说明)
Cookie规则通常同时涵盖Cookie和类似技术:localStorage、追踪像素、设备指纹识别。根据欧盟和英国的指导意见,通常的分类如下:
| 类型 | 示例 | 通常是否需要同意? |
|---|---|---|
| 严格必要 | 登录会话、购物车、安全及负载均衡Cookie、记住同意选择本身 | 一般不需要 |
| 偏好设置 | 记住的语言或主题 | 在欧盟通常需要,除非访客主动要求;英国增加了一些例外 |
| 分析 | Google Analytics、热力图、会话录制 | 在欧盟一般需要;英国现在对仅用于改进服务、生成汇总数据的分析有有限的例外 |
| 营销 | 广告像素(Meta、Google Ads、TikTok)、再营销、嵌入的社交组件 | 在欧盟和英国需要 |
一些容易出错的具体要点:
- 欧盟和英国采用选择加入(opt-in)模式:可选Cookie要等访客同意后才会设置。英国ICO等监管机构的指导意见称,同意必须是明确的积极行动,而且用户必须能够轻松地启用或禁用非必要Cookie。
- 英国在2025年做出了调整。 《2025年数据(使用和访问)法》允许在无需同意的情况下设置某些Cookie,包括仅用于改进你自己网站、并生成无法识别个人的汇总统计的分析,但须明确告知用户。依赖此规定之前,请阅读ICO的最新指导。
- 美国的若干州对于为定向广告“出售”或“共享”个人数据采用选择退出(opt-out)模式,部分州还要求尊重浏览器层面的全局隐私控制(Global Privacy Control)信号。
- Google广告:截至2026年9月,Google要求在欧洲经济区、英国和瑞士投放广告时,使用AdSense、Ad Manager或AdMob的发布商必须采用经Google认证、并集成了IAB透明度与同意框架(TCF)的同意管理平台。
选项:CMP、库还是自定义
| 选项 | 适合 | 权衡 |
|---|---|---|
| 同意管理平台(CMP):Cookiebot、OneTrust、Usercentrics或CookieYes等托管服务 | 有大量第三方代码、有广告收入、面向多个地区的网站 | 需要月费;多一个第三方脚本;对设计的控制较少 |
| 开源同意库 | 希望掌控但又不想从零编写的开发者 | 你需要自行配置分类和脚本阻止 |
| 自定义横幅 | 只有一两个可选工具(例如只有分析)的简单网站 | 正确性由你负责,包括阻止脚本和记录日志 |
| 不使用可选Cookie | 只使用必要Cookie和无Cookie分析的网站 | 营销工具较少;你可能根本不需要横幅 |
最后一个选项常被低估。如果你只想知道访问人数,无Cookie的分析工具在许多地方都能免去横幅的需要,具体请查阅其文档并核对当地规则。
如果你在欧洲投放Google广告,经认证的CMP是实际可行的选择。对于只使用分析的小型企业网站,精心构建的自定义横幅或一个库通常就够用了。
横幅的底层原理
人们常常忽略的是阻止环节。一个正确的设置应当:
- 在做出任何选择之前,只运行严格必要的Cookie和脚本。分析、像素和嵌入内容根本不加载(或者对于Google代码,以“拒绝”状态加载)。
- 横幅在第一层就展示清晰的选项:全部接受、全部拒绝,以及按类别选择的方式。
- 做出选择后,网站会存储这一选择(通常使用第一方Cookie或localStorage),并附带版本和日期,然后只加载已接受的类别。
- 在之后的访问中,先读取已存储的选择,再加载任何可选内容。
- “Cookie设置”链接,通常位于页脚,可随时重新打开选择界面。撤回同意应当和给予同意一样容易。
- 如果你更改了所用的工具,应更新版本号,以便重新征求访客同意。
Google同意模式
对于Google Analytics和Google Ads,Google的同意模式可将代码与横幅连接起来。截至2026年9月,Google文档描述了四种主要的同意类型:ad_storage、analytics_storage、ad_user_data和ad_personalization。你需要在Google代码加载之前设置默认值,并在访客做出选择时发送更新:
gtag('consent', 'default', {
ad_storage: 'denied',
ad_user_data: 'denied',
ad_personalization: 'denied',
analytics_storage: 'denied'
});
// 之后,当访客只接受分析时:
gtag('consent', 'update', { analytics_storage: 'granted' });
Google描述了基础实现方式,即在同意之前不加载代码;以及高级实现方式,即在拒绝状态下加载代码并发送无Cookie信号。基础方式更容易理解。对于欧洲经济区的流量,Google期望发送ad_user_data和ad_personalization信号。关于代码本身的设置,见如何设置Google Analytics。
有效的提示词
添加一个Cookie同意横幅。类别:必要(始终开启)、分析(Google Analytics 4)和营销(Meta像素)。在访客同意之前,分析和营销内容一律不得加载。第一屏提供“全部接受”“全部拒绝”和“自定义”,三者的醒目程度相同。使用带有版本号和日期的第一方Cookie保存选择,有效期6个月,只加载已接受的类别,并在页脚添加“Cookie设置”链接,可重新打开横幅。使用Google同意模式,并将四种类型的默认值都设为拒绝。
列出本网站使用的每一个Cookie、localStorage键和第三方脚本,说明各自在哪个页面加载,以及是否属于严格必要。输出一张可用于Cookie政策的表格。
在 /about 页面上的YouTube嵌入内容在同意之前就会加载。把它们替换为缩略图和播放按钮,只有访客点击后才加载视频,并显示一条说明:YouTube可能会设置Cookie。
分步操作
- 审计你的网站会设置什么:在全新访问时打开开发者工具 → Application → Cookies 和 Local Storage,并在Network面板中检查第三方请求。别忘了嵌入内容和聊天组件。
- 分类每一项:必要、偏好设置、分析、营销。删除你不再使用的内容。
- 确定方案:根据上表在CMP、库或自定义之间做出选择。
- 实施阻止机制,使可选脚本只在同意后加载。对于Google代码,要在代码之前添加同意模式的默认设置。
- 构建横幅,提供同等醒目的“接受”和“拒绝”选项、类别选择以及设置链接。
- 撰写Cookie政策(通常是隐私政策的一部分),列出你使用的内容及其原因;参见如何撰写服务条款和隐私政策。
- 在隐私窗口中测试:选择之前,不应有任何可选Cookie或请求;拒绝之后,依然不应有;接受之后,应出现相应的Cookie;改变主意之后,它们应当停止。
- 在每次添加新工具时重新检查。
常见错误
- 横幅什么都不阻止。 脚本在页面加载时就已经运行,而横幅只是礼貌地询问。
- “接受”是大按钮,“拒绝”藏在第二屏或灰色链接里。
- 预先勾选类别,或者默认开启“合法利益”开关。
- 在首次选择之后无法改变主意。
- 忽略嵌入内容:YouTube、地图、社交动态和聊天组件也可能设置Cookie。
- 每次加载页面都再次询问,因为选择没有被正确存储。
- 横幅在手机上遮挡页面,或者困住键盘焦点。请让它无障碍,并且足够小,便于跳过阅读。
- 照搬其他网站的政策,里面描述的却是你并未使用的Cookie。
同意检查清单
- 每个Cookie、存储键和第三方脚本都已列出并分类
- 可选脚本在同意之前被阻止(已在开发者工具中验证)
- 第一层的“接受”和“拒绝”同样容易操作
- 提供类别选择,且没有预先选中任何可选项
- 选择带有版本和日期存储;在更改后会重新征求同意
- 每个页面都有“Cookie设置”链接
- 如使用Google代码,已在其之前设置Google同意模式的默认值
- Cookie政策或隐私政策与网站的实际行为相符
- 已根据最新指导或专业人士意见核实适用于访客所在国家的规则
在Mythex中设置Cookie同意
Mythex不会自动为你的应用添加同意横幅或分析功能——两者都需要你主动要求,因此由你决定加载什么。先运行审计提示词,再用你的实际类别运行横幅提示词,并在发布前于预览中打开开发者工具进行测试。如果你使用托管的CMP,它会提供一段脚本和一个ID;这个ID是公开的,可以放在前端代码中,而任何机密信息都应保存在项目设置中(环境变量与密钥)。修改后请重新发布,让线上网站使用新的横幅。
常见问题
我需要Cookie横幅吗?
这取决于你的访客所在地区,以及你的网站在访客设备上存储了什么。在欧盟和英国,非必要的Cookie以及广告追踪器等类似技术通常需要先征得同意,而登录会话之类的严格必要Cookie则不需要。如果你不使用任何非必要的Cookie,可能根本不需要横幅。以上仅为一般性信息,不构成法律建议。
写着“继续使用本网站即表示你接受Cookie”的横幅够用吗?
在需要同意的地区,这样做不够。同意通常必须是在设置非必要Cookie之前做出的一项主动选择,因此默认视为同意的提示,或预先勾选的选项,通常都不算数。
分析Cookie需要同意吗?
在欧盟,通常需要。英国的《2025年数据(使用和访问)法》增加了一项例外,适用于某些仅用于改进你自己服务、并生成无法识别个人的汇总统计的分析,但需符合英国信息专员办公室(ICO)规定的条件。其他地区有各自的规则,请核实适用于你的规定。
什么是Google同意模式?
同意模式是Google的一项功能,使Google代码(如Analytics和Ads)能够根据访客的同意选择调整其行为。你需要在Google代码加载之前设置默认同意状态,并在访客做出选择时发送更新。它与同意横幅配合使用,本身并不是横幅。