IAB Europe 负责维护透明度和用户意见征求框架 (TCF),让您能将用户同意情况发送给 Google 等广告供应商。得益于 Google 与 TCF 的集成,您可以直接使用 IAB TCF,也可以使用 CMP,后者可使用 IAB TCF 向 Google 传递同意情况信号。
全球隐私保护平台 (GPP) 由 IAB 的 Tech Lab 开发,也提供了一个用于存储和传递用户隐私意见偏好的标准化框架。
本文介绍了如何在 Campaign Manager 360、Search Ads 360 和 Display & Video 360 中集成 TCF v2.2 和 GPP,以将其用于 Floodlight 代码、展示位置代码和跟踪代码。
本页内容
运作方式
Campaign Manager 360、Search Ads 360 和 Display & Video 360 能够读取和解读 TCF 透明度和用户意见 (TC) 字符串,以用于广告投放、跟踪和转化跟踪代码。CMP 可以根据用户做出的选择来创建 TCF 字符串,以便向 Campaign Manager 360、Search Ads 360 或 Display & Video 360 发送同意情况信号。
集成 TCF v2.2 意味着 Campaign Manager 360、Search Ads 360 和 Display & Video 360 将能够读取 TC 字符串。您已关联的代码会根据 TC 字符串的内容调整自身的行为。
请注意以下事项:
- 作为供应商,Google 接受使用 TCF v2.2 的 TC 字符串。Google 将继续接受 TCF v2.1 字符串,但建议 CMP 遵循 IAB 指南中列出的实施里程碑采取行动,与整个行业一起逐步过渡到 TCF v2.2。
- Campaign Manager 360 和 Search Ads 360 共用同一组 Floodlight 代码。在 Campaign Manager 360 中获得的用户权限会由 Search Ads 360 沿用。详细了解 Floodlight 代码的共享方式。
Campaign Manager 360 还支持通过全球隐私保护平台 (GPP) 发送的美国全国字符串和美国各州字符串。为遵守《一般数据保护条例》(GDPR),我们将继续支持 IAB TCF。我们不接受通过 GPP 发送的 TCF 字符串。GPP 将在日后支持 IAB TCF。
设置透明度和用户意见征求框架以及全球隐私保护平台
从 TCF 或 GPP 向 Google 传递用户意见数据时,所采用的主要机制是宏。
TCF 和 GPP 宏
IAB TCF 和 GPP 标准支持在广告素材代码中使用宏,以实现以下目的:
- 指定应在网址中的什么位置插入用户意见字符串并随后发送。
- 确定有哪些供应商。
无论要集成哪一项标准,广告客户都应与其合作伙伴合作,确保能正常支持下列宏。这些宏在所有 Campaign Manager 360 代码中均受支持,并会在广告投放管理期间自动插入。
TCF 宏(规范):
gdpr_consent=${GDPR_CONSENT_xxxxx}:用于接收用户意见参数的宏,其中 xxxxx 是接收 TC 字符串的供应商在全球供应商列表中的 ID (GVL ID)。gdpr=${GDPR}:用于接收 GDPR 状态的宏,其中的值若为1,即表示 GDPR 适用;值若为0,则表示不适用。此宏可启用 TCF 处理,并且必须与gdpr_consent=${GDPR_CONSENT_xxxxx}一起发送。如果gdpr=1,但未设置或缺少gdpr_consent=${GDPR_CONSENT_xxxxx},则广告可能不会投放或者其效果可能得不到衡量。addtl_consent=${ADDTL_CONSENT}:用于为 IAB GVL 中不包含但 Google 广告技术提供商控件包含的供应商提供支持的宏,其中ADDTL_CONSENT是一系列以点分隔的已征得用户同意的 Google 广告技术提供商 (ATP) ID。详细了解 Google 的“额外同意模式”技术规范。
GPP 宏(规范):
gpp=${GPP_STRING_xxxxx}:用于接收 GPP 字符串的宏,其中xxxxx是接收相应字符串的供应商在全球供应商列表中的 ID (GVL ID)。gpp_sid=${GPP_SID}:由于 GPP 字符串可能会对多个管辖区的用户偏好进行编码,因此,此字段会向被调用方指明字符串的哪个部分被调用方视为“有效”。
TCF 和 GPP JavaScript API
对于 Campaign Manager 360 展示广告(ins 代码),代码可通过 TCF 或 GPP 的 API(如果已由 CMP 提供)收集相应的用户意见数据。如果提供了任一 API,且代码中的 TCF/GPP 宏尚未填写,系统就会自动执行此操作。
向供应商传递 TCF 信号
TCF 信号或许还会被传递到广告素材或事件代码中可能包含的其他供应商。这些信号可能会根据用户为相应广告素材中的供应商提供的权限以及 Google 政策的适用情况,控制哪些广告素材能够投放。TC 字符串让用户还可以选择不接收个性化广告,并拒绝被添加到受众群体名单中。
每个接收 TC 字符串的供应商都有一个专属的全球供应商列表 (GVL) ID。对于第三方广告代码和跟踪像素,如果广告客户选择采用 TCF,则需要手动将其供应商的 GVL ID 以及新宏添加到其代码中。然后,Campaign Manager 360、Search Ads 360 和 Display & Video 360 会将该宏替换为 TC 字符串,以便供应商尊重用户的偏好并继续传递 TCF 用户意见详细信息。
示例
http://vendor-a.com/?key1=val1&key2=val2&gdpr=${GDPR}&gdpr_consent=${GDPR_CONSENT_xxxxx}
注意:不支持在原始广告素材资源(例如 HTML5 文件和富媒体广告素材)中植入的宏。如果广告客户使用了这些格式的素材资源,并且希望将 TC 字符串传递到通过广告素材进行的第三方调用,则应添加自己的 JavaScript 代码以便自行查找 CMP 并访问 TCF API。
在 Campaign Manager 360 中,以下各项均支持供应商宏:
- 事件代码
- Floodlight 动态代码
- 广告素材重定向
- 自定义广告素材
- 线上行为广告 (OBA) 链接
- ins 代码
在 Display & Video 360 中,所有通常支持宏的广告素材类型和字段,都支持供应商宏。
代码集成
如果广告客户在自己的网站上部署了已注册 IAB TCF 的 CMP,Campaign Manager 360、Search Ads 360 和 Display & Video 360 代码将支持为其传递用户意见。
Floodlight 代码
Campaign Manager 360、Search Ads 360 和 Display & Video 360 均使用 Floodlight 代码来衡量转化情况。如果广告客户选择采用 TCF,则需采取以下措施,具体取决于广告客户的 Floodlight 代码植入方式:
- 旧版 Floodlight 代码(未使用 Google 代码来植入):广告客户应向其网站上的所有现有 Floodlight 代码添加新宏,也可重新下载 Floodlight 代码,重新下载的这些代码会自动包含新宏。
- Floodlight 代码(使用 Google 代码或 Google 跟踪代码管理器植入):这些代码应该会与 TCF API 集成,广告客户应按照 CMP 的说明操作,确保其代码正确集成。使用 Google 代码或 Google 跟踪代码管理器的广告客户可启用 TCF 支持,只需将下面这行 JavaScript 代码添加到相应代码的全局标头部分即可:
window ['gtag_enable_tcf_support'] = true;示例
<script>window ['gtag_enable_tcf_support'] = true;</script><!-- Google tag (gtag.js) --><script async src="https://www.googletagmanager.com/gtag/js?id=FL-CONFIG_ID"></script><script>window.dataLayer = window.dataLayer || [];function gtag(){dataLayer.push(arguments);}gtag('js', new Date());gtag('config','FL-CONFIG_ID');</script>
TCF 和 GPP 的展示位置代码和跟踪代码
只有 Campaign Manager 360 和 Display & Video 360 使用展示位置代码和跟踪代码。
对于展示位置代码和跟踪代码,发布商的 CMP 负责发送 TCF 和 GPP 中的用户意见数据。
-
Display & Video 360:当代码在发布商网站上执行(即“触发”)后,CMP 会先将 TCF 或 GPP 用户意见详细信息发送到广告交易平台,随后再将这些信息发送到 Display & Video 360。然后,Display & Video 360 会将代码中的相应宏替换为 TCF 或 GPP 字符串,而 Campaign Manager 360 则会在发布商网站上投放相应广告素材。
-
Campaign Manager 360:如果使用了 TCF 或 GPP 宏,CMP 会将 TCF 或 GPP 字符串直接传递到 Campaign Manager 360 展示位置代码。或者,ins 代码可以通过 TCF 或 GPP API 自动收集这些字符串。
广告客户应确保投放的 Campaign Manager 360 代码包含适当的宏,以确保 TCF 或 GPP 字符串传递到相应代码。您可以手动添加这些宏;但如果选中了“包含 TCF/GPP 宏”选项,系统会自动插入这些宏:
<IMG SRC="https://ad.doubleclick.net/ddm/trackimp/N7480.3387844TESTING/B24889003.371904955;dc_trk_aid=562881136;dc_trk_cid=195466355;kw=matata;k2=v2;ord=[timestamp];dc_lat=;dc_rdid=;tag_for_child_directed_treatment=;tfua=;gdpr=${GDPR};gdpr_consent=${GDPR_CONSENT_755};gpp=${GPP_STRING_755};gpp_sid=${GPP_SID};ltd=;dc_tdv=1?" attributionsrc BORDER="0" HEIGHT="1" WIDTH="1" ALT="Advertisement">示例 - ins 代码:
<ins class='dcmads'
style='display:inline-block;width:300px;height:250px'
data-dcm-placement='N7480.1664088DOUBLECLICK.NETTEST/B8299600.114131924'
data-dcm-rendering-mode='script'
data-dcm-gdpr-applies=’gdpr=${GDPR}’
data-dcm-gdpr-consent='gdpr_consent=${GDPR_CONSENT_755}'
data-dcm-addtl-consent=’addtl_consent=${ADDTL_CONSENT}’
data-dcm-gpp='gpp=${GPP_STRING_755}'
data-dcm-gpp-sid='gpp_sid=${GPP_SID}'
data-dcm-click-tracker='${CLICK_URL}'>
<script src='https://www.googletagservices.com/dcm/dcmads.js'></script>
</ins>
使用 TCF 时的产品行为
用途
TCF 按照“用途”管理数据处理,每种“用途”均有相应的法律依据,即“用户同意”或“合法权益”。Campaign Manager 360、Display & Video 360 和 Search Ads 360 代码将通过以下方式(若适用)处理包含用户意见字符串的请求:
| 用途 | Google 注册的法律依据 | 说明 | 缺少相应用途时的影响 |
|---|---|---|---|
| 1 | 用户同意 | 在设备上存储和/或访问信息 |
不会创建 Cookie,也不会使用 Cookie 来衡量效果或提供个性化广告。未同意的用户不会被添加到再营销名单中,而且归因报告可能会受到更多限制。 Google 服务不会接收用户级广告数据。您可以在 Google 代码设置中管理各项 Google 服务对数据的使用。 |
| 2 | 灵活 - 默认是合法权益* | 选择基本广告 | 对于所有投放广告的事件,此用途都必不可少。如果缺少此用途,相应广告可能不会投放。 |
| 3 和 4 | 用户同意 | 创建用户画像并用于投放个性化广告 | 事件不符合广告个性化条件,也不会用于再营销名单。已添加至受众群体名单的用户不会受到影响。 |
| 7 | 灵活 - 默认是合法权益* | 衡量广告效果 |
对于所有事件,此用途都必不可少。如果缺少此用途,相应事件可能不会被记录下来。 Google 服务不会接收用户级广告数据。您可以在 Google 代码设置中管理各项 Google 服务对数据的使用。 |
| 9 | 灵活 - 默认是合法权益* | 使用市场调研结果进行受众群体分析 | 对于所有事件,此用途都必不可少。如果缺少此用途,相应事件可能不会被记录下来。 |
| 10 | 灵活 - 默认是合法权益* | 开发和改进产品 | 对于所有事件,此用途都必不可少。如果缺少此用途,相应事件可能不会被记录下来。 |
| SP1 | 合法权益 | 确保安全、防范欺诈、开展调试 | 此用途始终存在,且在 TCF 内提供。 |
| SP2 | 合法权益 | 运用技术投放广告或内容 | 此用途始终存在,且在 TCF 内提供。 |
* Google 就 TCF 用途 2、7、9 和 10 进行了灵活注册,并默认以“合法权益”为法律依据。除非发布商配置 CMP,将 Google 限制为仅在用户同意的情况下处理这些用途的数据,否则 Google 将以 CMP 与用户确认过的合法权益作为法律依据。对于用途 1、3 和 4,Google 未灵活注册,始终需要在用户同意的情况下进行处理。
其余 TCF 用途不会用于 Campaign Manager 360、Display & Video 360 和 Search Ads 360 代码,但可能会用于其他 Google 产品。
注意事项
- Google 会将 gdpr=1 解读为 TCF 适用于某个事件。当
gdpr=参数设为 1 且 Campaign Manager 360 展示位置代码包含gdpr_consent=参数时,gdpr_consent=必须包含有效的 TC 字符串,否则广告可能无法投放,或无法得到衡量。 - 如果 TC 字符串表明对于相应请求,Google 没有收到用途 1 的用户意见,请将代码中的
ad.doubleclick.net替换为pagead2.googlesyndication.com。这适用于标准代码、iframe/JavaScript 代码(不包括 ins 代码)、预取代码(包括视频广告)、跟踪广告代码和点击跟踪广告代码。 - 与上述情况不同,无效的
addtl_consent值目前不会阻止广告投放。 - Google 的政策也适用于嵌入在广告素材中并链接到其他供应商的 TCF 宏。如果这些宏无效,那么当 Google 认为 TCF 适用时(例如,相应展示是通过
gdpr=1调用时),相应广告素材将不会投放。在这种情况下,系统会投放其他符合条件的广告素材或者投放默认广告素材。
使用 GPP 时的产品行为
美国全国
如果满足以下任一条件,Google 就会触发“受限的数据处理”(RDP):
- 用户已选择拒绝出售消费者的个人信息。
- 用户已选择拒绝分享消费者的个人信息。
- 用户已选择拒绝出于投放有针对性广告的目的处理消费者的个人数据。
Google 只会读取美国全国字符串的上述字段。
加利福尼亚州
如果满足以下任一条件,Google 就会触发“受限的数据处理”(RDP):
- 用户已选择拒绝出售消费者的个人信息。
- 用户已选择拒绝分享消费者的个人信息。
Google 只会读取针对加利福尼亚州的美国州级字符串的上述字段。
科罗拉多州、康涅狄格州、弗吉尼亚州
如果满足以下任一条件,Google 就会触发“受限的数据处理”(RDP):
- 用户已选择拒绝出售消费者的个人信息。
- 用户已选择拒绝出于投放有针对性广告的目的处理消费者的个人数据。
Google 只会读取针对弗吉尼亚州、康涅狄格州、科罗拉多州的美国州级字符串的上述字段。
佛罗里达州
如果满足以下任一条件,Google 就会触发“受限的数据处理”(RDP):
- 用户已选择拒绝出售消费者的个人信息。
- 用户已选择拒绝出于投放有针对性广告的目的处理消费者的个人数据。
Google 只会读取针对佛罗里达州的美国州级字符串的上述字段。
使用 GPP 提供针对未成年人的同意情况信号
美国全国
如果满足以下任一条件,相应请求就会被标记为面向儿童的内容 (TFCD):
- 同意或不同意处理未满 13 周岁消费者的个人信息或敏感个人信息
如果满足以下任一条件,相应请求就会触发“受限的数据处理”(RDP):
- 不同意处理年龄在 13 到 16 周岁的消费者的个人信息或敏感个人信息。
- 不同意处理年龄在 16 到 17 周岁的消费者的个人信息或敏感个人信息。
加利福尼亚州
如果满足以下任一条件,相应请求就会被标记为面向儿童的内容 (TFCD):
- 同意或不同意出售未满 16 周岁消费者的个人信息。
- 同意或不同意分享未满 16 周岁的消费者的个人信息。
科罗拉多州和弗吉尼亚州
如果满足以下条件,相应请求就会被标记为面向儿童的内容 (TFCD):
- 同意或不同意处理已知儿童的敏感数据。
康涅狄格州
如果满足以下任一条件,相应请求就会被标记为面向儿童的内容 (TFCD):
- 同意或不同意处理已知儿童的敏感数据。
如果满足以下任一条件,相应请求就会触发“受限的数据处理”(RDP):
- 不同意出售年满 13 周岁但未满 16 周岁消费者的个人数据。
- 不同意出于投放有针对性广告的目的处理年满 13 周岁但未满 16 周岁消费者的个人数据。
佛罗里达州
如果满足以下任一条件,相应请求就会被标记为面向儿童的内容 (TFCD):
- 同意或不同意处理未满 13 周岁的消费者的个人数据或敏感数据。
如果满足以下任一条件,相应请求就会触发“受限的数据处理”(RDP):
- 不同意处理年满 13 周岁但未满 16 周岁消费者的个人数据。
- 不同意出于投放有针对性广告的目的处理年满 16 周岁但未满 18 周岁消费者的个人数据。
注意:Google 跟踪代码管理器和 Google 代码只接受按照 TCF 政策和技术规范正确实现,且遵循 Google 的《欧盟地区用户意见征求政策》的 TCF 字符串。如果您的 CMP 没有在 500 毫秒内做出响应,或者显示“错误”“存根”或“正在加载”状态,那么该代码将会在受限模式下继续运行:
- Google Ads 第一方和第三方转化 Cookie 的写入和读取将受到限制。
- Google Analytics 广告功能会与 IAB TCF v2 集成,并将这些请求视为拒绝所有用途的请求,相关影响已在上表中列出。
- 再营销功能将被停用。
对错误消息进行问题排查
如果您的 CMP 没有在 500 毫秒内做出响应,或者显示“错误”“存根”或“正在加载”状态,那么该代码将会在受限模式下继续运行。解决这一问题的方法如下:
如果您是通过手动调用函数来触发转化跟踪代码:
- 请务必在 500 毫秒内发送对
getTCData TCData.eventStatus = 'tcloaded'或'cmpuishown' + 'useractioncomplete'的响应。这表明 CMP 已做好准备,可以为用户提供意见征求选项。
如果您不是通过手动调用函数来提交转化跟踪代码:
- 请与您的 CMP 合作,确保其实现对 getTCData 的支持,并在 500 毫秒内返回
TCData.eventStatus = 'tcloaded'或'cmpuishown' + 'useractioncomplete',以表明用户同意情况已可以通过 API 使用。
常见问题解答
如果发布商不接受包含 TCF 参数的代码,我该怎么办?
gdpr=;gdpr_consent=${gdpr_consent_755}data-dcm-gdpr-consent='gdpr_consent=${gdpr_consent_755}'
data-dcm-gdpr-applies='gdpr=${gdpr}'