服务器端标签与跟踪(Server-Side Tagging):为什么 GDPR 同意依然适用

UniConsent Team

12 min read
Add UniConsent as a preferred source on Google
目录

标签管理器正在转向服务器端。Google Tag Manager 的服务器容器、Tealium EventStream、Adobe Event Forwarding、Segment,以及 Stape 等托管服务,都能让你把事件发送到你控制的服务器,再从那里转发出去,服务器可以放在 data.example.com 这样的子域名上,也可以放在 example.com/metrics 这样的主域名路径下。这些都不会改变 GDPR 和 ePrivacy 规则的要求:使用分析和广告 Cookie 之前须获得同意,发送给广告或分析平台的每一项个人数据都要有法律依据。

改变的是同意需要经过的路径。横幅仍然在浏览器中运行,但是否把数据发送给某个供应商,现在由你的服务器决定,所以访客的选择必须随每个事件一起传递。

服务器端标签与跟踪(Server-Side Tagging):为什么 GDPR 同意依然适用服务器端标签与跟踪(Server-Side Tagging):为什么 GDPR 同意依然适用

在自己的域名上运行标签的两种方式

子域名主域名下的路径
示例data.example.comexample.com/metrics
如何设置通过 DNS 记录把子域名指向你的跟踪服务器由你的 CDN 或反向代理把该路径转发到你的跟踪服务器
带来的变化请求和 Cookie 都是第一方的请求是同源的,因此标签脚本和事件会像网站其他内容一样加载
是否仍需同意是是

如果子域名指向的 IP 地址与主站不同,Safari 会限制该子域名所设 Cookie 的有效期,这也是越来越多设置改用主域名路径的原因之一。就同意而言,选哪种都没有区别:两种情况下,标签和 Cookie 都是你的,责任也是你的。

为什么服务器端跟踪不能免除同意

有四种说法很常见,但没有一种站得住脚。

  • “服务器 Cookie 不算 Cookie。”由你的服务器设置的 Cookie 仍然存储在访客设备上。ePrivacy 规则涵盖在设备上存储和读取信息的行为,不论由谁设置。
  • “第一方就可以豁免。”不存在第一方豁免。用于分析或广告的第一方 Cookie 和第三方 Cookie 一样需要同意。欧盟的数字综合法案将来可能会豁免部分第一方测量,但它目前仍是 谈判文本,不是法律。
  • “浏览器根本不和供应商通信,所以没问题。”GDPR 适用于你转发的个人数据,例如 IP 地址、哈希处理后的电子邮件和订单详情,不论这些数据是从浏览器还是从你的服务器发出。
  • “广告拦截器看不到,所以不算数。”让请求躲过拦截器,并不会改变法律要求。你能收集哪些数据,仍然取决于访客在你横幅中做出的选择。

服务器端跟踪仍然值得做。哪些数据离开你的基础设施由你决定:转发之前,你可以去掉 IP 地址、缩短 User Agent,并删除供应商不需要的字段,这有助于落实 GDPR 的数据最小化原则。它只是需要和浏览器端标签相同的同意信号,只不过传递方式不同。

服务器端设置会在哪里出现漏洞

服务器不检查同意就转发事件

服务器容器或事件管道收到什么就转发什么。Google 的标签会读取 Google Consent Mode,并据此调整发送的内容,但大多数其他连接器不会自行检查同意,例如 Meta Conversions API、TikTok Events API、LinkedIn,以及用于 ChatGPT 广告 的 OpenAI Conversions API。如果保留默认设置,它们会发送每一个事件,包括来自已拒绝访客的事件。

从你自己域名加载的脚本在横幅之前运行

当你的标签管理器或 CDN 从你的域名提供标签脚本并把它们添加到页面中时,你可能就无法再控制它们的加载顺序。如果它们在你的 CMP 设置同意之前运行,就可能在访客看到横幅之前设置 Cookie 并发送数据。这就是所谓的延迟同意信号(late consent signal)。Google Tag Gateway 的一键 CDN 设置就是一个常见的例子。

基于域名的检查不再有效

脚本拦截器和简单的标签审计都是通过域名来识别跟踪器的。一旦所有内容都从你自己的域名加载,它们就分不清哪些是跟踪器、哪些是你自己的代码,所以要根据网站实际发出的请求来检查同意。

由你的跟踪服务器设置的 Cookie 带有你的域名,很容易被遗漏。它们仍然必须列入你的 Cookie 政策,并纳入横幅的管理范围。Cookie 扫描 同样能发现第一方 Cookie。

如何把同意传递给服务器端标签

  1. 先加载 CMP。如果你的标签从你自己的域名加载,横幅也要用同样的方式提供,这样它就不会比标签慢:UniConsent 支持 第一方 CMP 域名。
  2. 让每个事件都带上选择。在浏览器发送到你服务器的每个事件中加入同意状态:Google 使用 Google Consent Mode 值,读取 IAB TCF 字符串的广告供应商使用该字符串,其他所有供应商使用按用途或供应商划分的标记。
  3. 转发之前在服务器上检查同意。每个供应商连接器只在对应的用途或供应商获得允许时才触发。
  4. 保留记录。在每个事件中附上同意 ID,这样你就能证明每个被转发的事件依据的是哪一次选择。

在最常见的服务器端 Google Tag Manager 设置中,Google 自己的标签会替你把 Consent Mode 传给服务器容器,因此 Google Analytics 和 Google Ads 会遵循访客的选择。容器中的其他标签则不会。从网页容器转发你需要的同意值,并把它加入每个 Meta、TikTok、LinkedIn 或 OpenAI 标签的触发器中。

UniConsent 如何适配任何服务器端设置

无论你在服务器上运行哪种标签管理器,UniConsent 都能配合使用。它只需收集一次访客的选择,就会把它提供给你的标签管理器的浏览器客户端:

UniConsent 是 Google 认证的 CMP,也是 IAB TCF 注册 CMP。它为 Meta Pixel、TikTok Pixel 和 Microsoft UET 提供现成的同意标签,还支持为 IAB TCF 之外的平台(如 OpenAI)添加自定义供应商。Consent Logging 会记录每一次选择。对于 Google 自己的服务器端工具,请参阅 服务器端 GTM 和 Google Tag Gateway 的设置指南。

开始免费试用,或者现在就用免费的 Consent Mode Checker 检查你的网站。

服务器端跟踪同意检查清单

  • CMP 在任何标签之前加载,包括从你自己域名提供的脚本。
  • 发送到你服务器的每个事件都带有访客的同意状态。
  • 服务器上的每个供应商连接器都只在获得对应同意时触发。
  • 供应商不需要的字段在转发之前已在服务器上删除。
  • 你的服务器设置的 Cookie 已列入 Cookie 政策。
  • 在横幅上点击拒绝后,你的服务器不再向任何广告平台发送数据。请在上线前测试。

常见问题

服务器端跟踪能让我的网站符合 GDPR 吗?

不能。它让你更好地控制发送的数据,这有帮助,但广告和分析 Cookie 以及与广告和分析平台共享个人数据,仍然需要获得同意。

需要,只要你使用 Cookie 或类似技术进行分析或广告,并且有来自欧盟、欧洲经济区或英国的访客。从你自己域名设置的 Cookie 仍然是 Cookie。

就同意而言,子域名和主域名路径哪个更好?

两者都不会改变同意规则。主域名路径可以避开 Safari 对指向不同 IP 地址的子域名的 Cookie 限制,但以这种方式提供的脚本,如果你不控制加载顺序,可能会在横幅之前加载。

我的服务器能读取 IAB TCF 字符串吗?

能。在每个事件中附上 TC 字符串。你的服务器可以在转发之前检查用途和供应商,支持 TCF 的供应商也可以自行读取它。

Google Tag Gateway 能绕过同意吗?

不能。只要你的 CMP 在标签运行之前设置好同意,标签仍然会遵循 Google Consent Mode。UniConsent 正是为此而设计的。

Activate Google Consent Mode UniConsent to enhance the accuracy of your Google Analytics and Google Ads conversion data.

Set up Google Consent Mode →

开始使您的网站和应用符合欧盟 GDPR、美国 CPRA、加拿大 PIPEDA 等法规

注册

开始使您的网站和应用符合欧盟 GDPR、美国 CPRA、加拿大 PIPEDA 等法规

注册

掌握隐私与同意管理的最新动态

隐私法规、同意管理与合规动态,每月几封邮件。

无垃圾邮件,可随时退订。 隐私