IAB Europe 负责维护透明度和用户意见征求框架 (TCF),以便您可以向 Google 等广告供应商发送同意情况。得益于 Google 与 TCF 的集成,您可以直接使用 IAB TCF,也可以使用 CMP,后者可使用 IAB TCF 向 Google 传递意见征求信号。
本文介绍如何在 Campaign Manager 360、Search Ads 360 和 Display & Video 360 中与 TCF v2.2 集成,将其用于 Floodlight 代码、展示位置代码和跟踪代码。点击跟踪广告代码不在 IAB TCF 的涵盖范围内。
运作方式
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 代码的共享方式。
设置透明度和用户意见征求框架
Google 可以通过 TCF JavaScript API 或 TCF 宏接收或发送 TC 字符串。
TCF JavaScript API
CMP 会将 TC 字符串存储在 JavaScript 变量中,然后 Google 代码会访问该变量并从中检索用户权限详细信息。
TCF 宏
IAB TCF 支持在广告素材代码中使用宏,以实现以下目的:
- 指定应在网址中的什么位置插入 TC 字符串并随后发送。
- 确定有哪些供应商。
希望与 IAB TCF 集成的广告客户应与其像素供应商合作,确保能正常支持下列宏:
gdpr_consent=${GDPR_CONSENT_xxxxx}
:用于接收用户意见征求参数的宏,其中xxxxx
是接收 TC 字符串的供应商的全球供应商列表 ID (GVL ID)。gdpr=${GDPR}
:用于接收 GDPR 状态的宏,其中的值若为 1,即表示 GDPR 适用,值若为 0 则表示不适用。addtl_consent=${ADDTL_CONSENT}
:用于为 IAB GVL 中不包含但 Google 广告技术提供商控件包含的供应商提供支持的宏,其中ADDTL_CONSENT
是一系列以点分隔的已征得用户同意的 Google 广告技术提供商 (ATP) ID。不妨详细了解 Google 的“额外同意模式”技术规范。
向供应商传递 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>
展示位置代码和跟踪代码
只有 Campaign Manager 360 和 Display & Video 360 使用展示位置代码和跟踪代码。
对于展示位置代码和跟踪代码,发布商的 CMP 负责发送 TCF 用户权限详细信息。
-
Display & Video 360:当代码在发布商网站上执行(即“触发”)后,CMP 会先将 TCF 用户权限详细信息发送到广告交易平台,随后再将这些信息发送到 Display & Video 360。然后,Display & Video 360 会将代码中的相应宏替换为 TC 字符串,而 Campaign Manager 360 则会在发布商网站上投放相应广告素材。
-
Campaign Manager 360:如果使用了 TCF 宏或通过 TCF API 进行自动传输,CMP 会将 TCF 用户权限详细信息直接传递到 Campaign Manager 360 展示位置代码。
如果广告客户选择采用 TCF,则需采取以下措施,具体取决于所用代码:
- Google 代码(即将支持 ins):不需要采取任何措施,TCF 用户权限详细信息会自动从 CMP 通过 TCF API 传递。
- 所有其他代码:想采用 TCF 的广告客户可将新宏添加到其网站上的所有现有代码中,也可重新下载这些代码,重新下载的这些代码会自动包含新宏。客户可参考以下示例,将 TCF 添加到其现有的 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-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 与用户确认过的合法权益作为法律依据。Google 无法就用途 1、3 和 4 进行灵活注册,且始终需要就这些用途征得用户同意。
其余 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
调用时),相应广告素材将不会投放。在这种情况下,系统会投放其他符合条件的广告素材或者投放默认广告素材。
注意: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 支持并返回
TCData.eventStatus = 'tcloaded'
或'cmpuishown' + 'useractioncomplete'
,表明用户意见征求可在 500 毫秒内通过 API 使用。
常见问题解答
如果发布商不接受包含 TCF 参数的代码,我该怎么办?
gdpr=;gdpr_consent=${gdpr_consent_755}
data-dcm-gdpr-consent='gdpr_consent=${gdpr_consent_755}'
data-dcm-gdpr-applies='gdpr=${gdpr}'