GDPR 概览和指南

排查 IAB EU TCF v2.2 实现方面的问题

IAB 于 2023 年 5 月 16 日宣布推出 IAB TCF v2.2。作为供应商,Google 将从 2023 年 7 月 11 日起开始接受使用 TCF v2.2 的 TC 字符串。在此日期之前发送任何使用 TCF v2.2 字符串的请求都可能会导致错误。
  • TCF v2.1:我们将继续接受 TCF v2.1 字符串,但建议意见征求管理平台 (CMP) 遵循 IAB 指南 中列出的实施里程碑采取行动,与整个行业一起逐步过渡到 TCF v2.2。
  • Google 意见征求管理解决方案:Ad Manager、AdSense 和 AdMob 的“隐私权和消息”标签页中提供的 Google 意见征求管理解决方案计划到 11 月初开始支持在其 GDPR 意见征求消息中使用 TCF v2.2,以契合 IAB 针对 CMP 更新后的实施截止日期(2023 年 11 月 20 日)。

IAB Europe 最终审定了与 IAB Tech Lab、共同成员公司一起拟定的透明度和用户意见征求框架 v2.0。Google 现在全面支持 TCF v2.0。

为了让发布商有时间处理与 IAB Europe 透明度和用户意见征求框架 v2.0 的发布相关的错误和配置问题,Google 将向发布商提供错误检测报告并给予 150 天的宽限期以供发布商纠正相关错误。


在本文中,您将详细了解如何解决 TCF v2.2 实现方面的错误,具体内容包括:

 


更新后的指南

具体更新

  • 关于 TCF 要求每 13 个月重新征得用户同意的提醒:

    根据 IAB 透明度和用户意见征求框架 (TCF) 政策的要求,您需要至少每 13 个月(390 天)向用户发送一次意见征求提醒。如果用户意见征求决定已超过 13 个月,那么 Google 不会再将 TC 字符串视为有效,也不会向该用户投放广告。我们建议您与 CMP 合作,在未达到 13 个月的期限之前,向用户发送意见征求提醒。

  • 错误类型 3.2 已删除。在过去 13 个月内更新的 TC 字符串仍然有效。

常见错误的解决方法

可通过采取以下措施,排查 Ad Manager、AdSense 和 AdMob 中的一些最常见的错误:

考虑使用不会用于创收的 TC 字符串重新征求用户意见
(错误 1.1、3.1、4.1、5.1、5.2 和 6.1)

相关错误

错误 1.1。本指南可能也适用于错误 3.14.15.15.26.1

更新后的指南

考虑重新向用户征求意见。

理由

发布商若符合以下情况,则会受益于重新征求用户意见:之前使用了带外范围字符串、全局范围字符串、无效的 CMP ID(来自测试)、无效的 GVL ID(来自测试),或者在实现过程中的某个环节进行了适当的用户意见征求,但却没有将 Google 作为供应商。

错误 1.1、1.2、1.3:请务必检查是否有大量流量存在这些错误。如果是的话,应考虑 CMP 端可能存在问题,同时确保 Google 就所需用途获得了用户同意,并基于用户意见和合法权益而作为供应商(供应商 ID 为 755)。

IAB 规范

根据 IAB 规范,CMP 可以将用户意见征求字符串缓存 13 个月。

某些 CMP 之前保留了第一个用户意见征求日期,然后将该日期延长;这种做法是错误的。用户意见征求日期应该是每次指定的用户意见征求字符串的新日期。
建议的措施:让您的 CMP 在 500 毫秒内返回对 AddEventHandler 的调用
(错误 2.1a、2.1b、2.0a、2.0b 和 2.0c)

相关错误

错误 2.1a。本指南可能也适用于错误 2.1b、2.0a、2.0b 和 2.0c

更新后的指南

虽然不再有超时方面的要求,但我们建议 CMP 仔细检查其实现代码,确保立即返回AddEventListener getTCData 的调用。

如果 CMP 未响应,则相应请求可能会无法用于创收。

理由

Google 遵循 IAB 规范的如下规定:CMP 应立即响应 AddEventListener 函数。如果 CMP 未立即响应,则相应请求可能会无法用于创收。

此外,CMP 响应是事件链的一部分,事件链会影响广告请求的发出速度。缩短网页加载与广告请求之间所间隔的时间可减少发布商错失的展示次数。

IAB 规范

适用的 IAB 规范:IAB AddEventListener 规范(在 GitHub 上)

使用当前 TC 数据注册后,应立即调用 AddEventListener 回调函数,即使 CMP 处于 loading 状态并且 CMP 的 TC 数据不完整也应如此。这样,执行调用的脚本便可访问其已注册的 listenerId。此外,每当 TC 字符串发生更改时,都应调用该回调函数,除非已使用 RemoveEventListener 将其移除。

合作规范中心

如果应用或网站不符合 Google 意见征求管理要求合作规范中心将通知发布商。

错误报告

如果我们检测到与发布商的一个或多个网站或者应用关联的 TC 字符串存在问题,即会通过对应的产品界面通知对方。如果发布商收到错误通知,可使用自己的账号进入“欧盟地区用户意见征求”页面,然后点击下载 TCF 错误报告来下载详细的报告,其中会包含系统在过去 7 天检测到的错误。

仅当系统在过去 7 天内检测到错误时,才有此报告可供下载。
如需访问“欧盟地区用户意见征求”页面和 TCF 错误报告,请按以下步骤操作:
  • Ad Manager:依次点击管理 > 欧盟地区用户意见征求
  • AdMob 和 AdSense:依次点击屏蔽控制功能 > 欧盟地区用户意见征求

该报告将包含以下与检测到的各种错误有关的信息:

  • 网域/MobileAppID:存在配置错误的网站或移动应用。
  • 广告单元路径:与错误相关联的广告单元。
  • 错误代码:系统为错误分配的代码。
  • 错误数量:系统在前一周检测到的含有该错误的查询数量。
  • 上次检测日期:上次检测到该错误的日期。

发布商可以根据此报告中列出的错误代码,从下面的问题排查表格中找到建议采取的措施,然后纠正相应错误。

问题排查

为了帮助发布商修正存在配置错误的 IAB TCF v2.2 集成,我们在下面的表格中汇总了最常见的 TC 字符串错误类型以及对应的问题排查建议。

请参考这些表格,了解在广告请求一级出现的问题以及对应的系统行为。

只征得有限同意的情形

这三种情形的优先级始终高于配置错误,即使给定请求中含有多类错误也是如此。

情形 说明 建议采取的措施
1.1 根据用户意见或合法权益,不允许将 Google 作为供应商。 确认是用户故意拒绝了 Google 作为供应商、出现 CMP 实施错误,还是存在任何发布商限制。
1.2 对于欧洲经济区 (EEA) 国家/地区和英国,未能就用途 1 征得用户同意。

确认是用户故意拒绝了用途 1,还是由于 CMP 实现错误所致。

对于瑞士的发布商,如果他们不征求用户意见的话,就应确保正确设置 PublisherCCPurposeOneTreatment 字段。
 

自 2021 年 12 月起,我们将不再根据《德国电信和电信媒体数据保护法》针对来自德国的广告请求检查 PurposeOneTreatment 的处理方式。

1.3 已就用途 1 征得用户同意,但缺少针对基本广告的法律依据。

确认是用户就其他用途故意拒绝了合法权益,还是由于 CMP 实现错误所致。

配置错误

如果存在配置错误,系统将不会针对广告请求填充广告。

错误 说明 建议采取的措施
2.1a 由于 CMP 的状态为 stubloadingerror,代码或 SDK 未获得 TC 字符串。

如果您手动调用函数来请求广告,请确保对 getTCData TCData.eventStatus 的响应 = 'tcloaded''cmpuishown' + 'useractioncomplete'。这表明 CMP 已做好准备,可以为用户提供意见征求选项。

如果您没有手动调用函数来请求广告,那么请与您的 CMP 协力确保其实现了对 getTCData 的支持并返回 TCData.eventStatus = 'tcloaded''cmpuishown' + 'useractioncomplete',以表明已可以通过 API 使用用户同意情况了。

2.1b

同时符合以下两个条件:

  • CMP 设为 &gdpr=1
  • 请求中出现 &gdpr_consent=,但 TC 字符串为空。
让您的 CMP 务必依照 IAB TCF 技术规范正确实现其 API。
2.0a

TC 字符串并非使用 base64 编码的,因而无法解析。

示例:“2”

CMP(或发布商)应该在 gd_consent= 参数中仅发送以 base64 编码的数据。
2.0b

由于解码错误,TC 字符串无法解析。

示例:包含的位数不正确

CMP 应修正 TC 字符串实现方面的错误。
2.0c

由于数据错误,TC 字符串无法解析。

示例:时间戳不正确、供应商 ID 太大
 

CMP 应修正 TC 字符串实现方面的错误。

TC 字符串问题

与广告请求关联的 TC 字符串存在问题。广告请求将会被丢弃,从而出现广告空缺。

错误 说明 建议采取的措施
3.1 CMP ID 无效。

确保使用的是经过 IAB 验证的 CMP,并在 TC 字符串中正确设置其 ID。

如果 CMP 在生成 TC 字符串时处于有效状态,但后来被 IAB 删除,那么您需要使用有效的 CMP 重新征得用户同意。

3.2 不再使用。 无。之前的含义:TC 字符串的创建日期距今已超过 13 个月。

必须重新征得用户同意

必须征得用户同意。如果您征得用户同意的时间距今已超过 13 个月,或者使用的那版全球供应商名单中尚未列入 Google,则应重新征得用户同意,否则广告请求将被丢弃,从而出现广告空缺。

错误 说明 建议采取的措施
3.3 TC 字符串的上次更新日期距今已超过 13 个月。

CMP 应删除旧的 TC 字符串,并重新征得用户同意。

如果在 CMP 失效并重新征得用户同意之前发送广告请求时使用了已过期的 TC 字符串,则可能会出现少数此类错误。

如果您在应用中使用 Google 意见征求管理解决方案和 UMP SDK,请确定 UMP SDK 已正确实现,并且在每次启动应用时都会调用 requestConsentInfoUpdate

4.1 在生成 TC 字符串时所用的那版全球供应商名单中,尚未列入 Google。 使用当前版本的全球供应商名单重新征得用户同意。

全局范围和带外范围

与全局范围和带外范围(Ad ManagerAdMobAdSense)相关的问题。如果 TC 字符串指明“带外”或“全局范围”,则广告将不会投放。

错误 说明 建议采取的措施
5.1 TC 字符串允许在带外范围内征求用户意见。 指示您的 CMP 从 TC 字符串中移除带外信号。
5.2 TC 字符串指明适用于全局范围。 指示您的 CMP 将 TC 字符串更新为适用于具体服务。

广告投放量受限

系统将投放受限广告

错误 说明 建议采取的措施
6.1 TC 字符串版本为 11.1(即 v1.0 字符串)。 CMP 应发送 TCF v2.2 字符串。

Google 将负责处理问题

如果出现这类问题,Google 会在必要时自行采取措施来缓解该问题,并继续执行正常的 TCF 处理。

错误 说明 建议采取的措施
7.1 未定义 gdprApplies,或者是为其设置的值无效或无法解读,但是存在有效的 TC 字符串。
7.2 用来生成 TC 字符串的全球供应商名单版本比 Google 广告投放技术已知的当前版本更新。
7.3 某些用途、功能和/或供应商超出范围(未知)。
7.4 TC 字符串中的 tcf_policy_version 比最新的全球供应商名单旧。 CMP 应删除旧的 TC 字符串,然后使用最新的全球供应商名单重新征得用户同意。
7.5

请求中包含 &gdpr=1,但在对应的请求网址中根本没有 &gdpr_consent 参数。

7.6 发布商的国家/地区代码无效,但是存在就用途 1 征求的用户意见。 CMP 应修正 TC 字符串实现方面的错误。
7.7 语言代码无效。 CMP 应修正 TC 字符串实现方面的错误。
7.8 TC 字符串版本字段既不是 1,也不是 2

如果检测到无效的 TC 字符串,CMP 应通过重新征得用户同意,修正 TC 字符串实现方面的错误。

如果您在应用中使用 Google 意见征求管理解决方案和 UMP SDK,请确定 UMP SDK 已正确实现,并且在每次启动应用时都会调用 requestConsentInfoUpdate

7.9 AC 字符串版本既不是 1,也不是 2 CMP 应将 AC 字符串版本设为 12

AC 字符串问题

如果出现这类问题,Google 将把更多意见征求方式 (AC) 字符串视为无效字符串,并且不会考虑 TC 字符串以外的其他供应商。

错误 说明 建议采取的措施
8.1 AC 字符串未使用版本分隔符 (~)。 CMP 应使用“~”作为 AC 字符串的第二个字符,用于将版本号与已征得同意的供应商名单分隔开来。
8.2 AC 字符串中包含不符合预期格式(使用“.”分隔的 int64 列表)的供应商名单。 CMP 应修正 AC 字符串实现方面的错误。

 

该内容对您有帮助吗?

您有什么改进建议?
true
版本说明

获悉最新的 Ad Manager 功能和帮助中心更新。

了解新变化

搜索
清除搜索内容
关闭搜索框
主菜单
7250352328478690240
true
搜索支持中心
true
true
true
true
true
148
false
false