GDPR 概览和指南

Google 的“额外同意模式”技术规范


本文内容


 
发布商若想与非 TCF 广告技术提供商 (ATP) 合作,应直接采用对方的 CMP。

本文档制定了一项技术规范(称为“额外同意模式”),该规范只能与 IAB Europe 透明度和用户意见征求框架 (TCF) v2 搭配使用,向尚未注册加入 IAB Europe 全球供应商列表 (GVL) 的供应商发送透明度和/或意见征求信号。通过遵循该规范,发布商、意见征求管理平台 (CMP) 和合作伙伴可在实施 TCF 的同时,为那些尚未注册加入 IAB Europe 全球供应商列表但已列入 Google 广告技术提供商 (ATP) 列表的公司征集并传播额外同意意见。

“额外同意模式”的组成部分

在“额外同意模式”中,我们支持以下两种字符串:

  • IAB TCF v2.2 规范定义的透明度和用户意见征求字符串(TC 字符串),其中包含针对 IAB 全球供应商列表 (GVL) 中的供应商确立的透明度和用户意见征求框架。以及
  • 轻量级的 addtl_consent 字符串(AC 字符串),其中包含未向 IAB 注册但已征得用户同意和/或已披露的 Google 广告技术提供商 (ATP) 的列表。

本规范定义了以下各项:

  1. AC 字符串格式。

  2. 扩展 TCF v2.2 CMP API 以支持 AC 字符串以及 TCF 和广告客户意见征求模式并存时的控件。

  3. AC 字符串应该如何存储。

  4. 如何通过数字广告链传递 AC 字符串。

“额外同意模式”(AC) 字符串格式

AC 字符串中会存储哪些信息?

AC 字符串包含以下组成部分:

  • 第 1 部分:规范版本号,例如“2

  • 第 2 部分:分隔符“~

  • 第 3 部分:一系列以点分隔的已征得用户同意的 Google 广告技术提供商 (ATP) ID。示例:“1.35.41.101

  • 第 4 部分:分隔符“~

  • 第 5 部分:“dv.”后跟一系列以点分隔的已披露的 Google 广告技术提供商 (ATP) ID。示例:“dv.9.21.81

    为缩短字符串长度,第 3 部分所含的供应商不应纳入第 5 部分。

AC 字符串示例

AC 字符串 2~1.35.41.101~dv.9.21.81 表示用户已同意使用 ID 为 13541101 的 ATP,ID 为 92181 的 ATP 则已向用户披露,并且此字符串是使用 v2 规范中定义的格式创建的。

AC 字符串应该由谁创建?

只有已向 IAB Europe TCF 注册的 CMP 才能使用为其分配的 CMP ID 编号根据 IAB 政策创建 AC 字符串。供应商或任何其他第三方服务提供商不得自行创建 AC 字符串。

Google ATP 将在何处发布?

Google 会在下列位置发布未向 IAB 注册的广告技术提供商列表及其 ID:

https://storage.googleapis.com/tcfac/additional-consent-providers.csv

何时应该创建 AC 字符串?

无论何时,都只能在发布商遵循 Google 的欧盟地区用户意见征求政策的前提下创建 AC 字符串。

只有针对以下事项征得用户的具有法律效力的同意时,才能纳入已征得用户同意的供应商:

  1. 使用 Cookie 或其他本地存储方式(如果法律要求);以及

  2. ATP 出于投放个性化广告的目的以及按照 Google 的《欧盟地区用户意见征求政策》的所有其他条款收集、分享和使用个人数据。

只有在向用户适当公开每个 ATP 的身份后(包括链接到 Google ATP 列表中提供的 ATP 隐私权政策),才能纳入已披露但尚未针对以下事项征得用户同意的供应商:

  1. 使用 Cookie 或其他本地存储方式(如果法律要求);以及

  2. 出于投放个性化广告的目的收集、分享和使用个人数据

只可创建 AC 字符串作为 TC 字符串的补充,而不得使用 AC 字符串替代 TC 字符串。如果 Google 收到的请求中没有可用的 TC 字符串,Google 便不会处理相应请求,并会舍弃其中的 AC 字符串。

那些实施该规范的 CMP 必须确保其创建的 AC 字符串中仅包含已发布的 Google ATP 文件中的 ID(即非 GVL 供应商)。在收到 TC 字符串后,Google 会检查此 TC 字符串中所列的 GVL 版本。如果此 GVL 版本包含某供应商的注册信息,系统会忽略此供应商的 TC 字符串控件,以及此供应商的所有 AC 字符串条目。在这种情况下,Google 有权从 AC 字符串中移除此类“重复”条目,并随 TC 字符串传递此类经过修改的 AC 字符串。Google 之外的供应商不得修改 AC 字符串。

额外同意模式 v2 中的变更

自 2023 年 12 月以来,Google 便一直支持 v2 版“额外同意模式”规范。主要变更如下:

  • 更新了额外同意模式 (AC) 字符串,以支持 CMP 中披露的供应商。
  • 更新了 CMP API,让同时支持 TCF 和广告客户意见征求模式的 CMP 能够协同合作。
注意:根据 v1 版规范生成的 AC 字符串仍将受支持。不过,此类字符串无法指明是否已针对相应 ATP 公开透明地提供相关信息。为了支持不需要征得用户同意的用例,CMP 应迁移到 v2 规范。

支持“额外同意模式”的认证 CMP

此名单包含经过认证且支持 Google“额外同意模式”技术规范的意见征求管理平台 (CMP),以及它们支持的“额外同意模式”版本。

如果您提供的 CMP 支持“额外同意模式”,但 (1) 未包含在此名单中,或 (2) 所列的“额外同意模式”版本有误,请前往 CMP 信息登记表单,然后选择“我想提问或更新状态”请求类型。我们将尽快更新此名单,以及时反映您的平台状态。

支持“额外同意模式”的认证 CMP 名单
CMP 认证会持续进行,建议发布商定期查看此名单。

针对此名单中相关信息的指南

此名单包含每个经认证的 CMP 的以下信息:

  • 经认证的 CMP经认证的 CMP 的名称。
  • TCF CMP ID:IAB 向通过透明度和用户意见征求框架 (TCF) 验证的 CMP 分配的唯一标识符。
  • 额外同意模式:CMP 支持的“额外同意模式”版本。

支持“额外同意模式”的认证 CMP 名单

经认证的 CMP TCF CMP ID Supported version
1&1 Mail & Media GmbH CMP (Private)167ACv1
adjoe GmbH CMP (Private)409ACv2
Adlane LTD CMP396ACv1
Admiral CMP9ACv2
Alma CMP (Private)84ACv1
ALPRED SL CMP (Private)237ACv2
Associated Newspapers Ltd CMP27ACv2
AutoScout24 GmbH CMP (Private)397ACv1
AVACY CMP297ACv2
Axel Springer Deutschland GmbH CMP (Private)345ACv2
Axeptio260ACv2
BigID Inc.452ACv2
Blasting SA CMP (Private)292ACv1
BurdaForward GmbH CMP (Private)35ACv2
CCM19 CMP343ACv1
Ciao people s.r.l. CMP (Private)58ACv1
CIVIC COMPUTING LTD CMP259ACv1
Clickio CMP63ACv2
Commanders Act CMP90ACv1
Complianz CMP332ACv1
Consentmanager CMP31ACv2
Cookie Script CMP374ACv2
Cookiebot CMP134ACv2
CookieFirst CMP382ACv2
CookieHub CMP354ACv1
CookieYes CMP401ACv1
Dailymotion CMP (Private)105ACv2
Didomi CMP7ACv2
DPG Media CMP (Private)411ACv2
Easybrain CMP (Private)350ACv2
eBay Kleinanzeigen GmbH CMP (Private)309ACv1
Ethyca Inc CMP407ACv1
Ezoic CMP299ACv2
Fandom CMP (Private)141ACv1
FastCMP388ACv2
Flexy Consent317ACv2
Geek Software GmbH CMP (Private)423ACv1
Google LLC CMP300ACv2
Gravito CMP302ACv2
Grupa RMF CMP (Private)330ACv2
Guardian News and Media CMP (Private)112ACv2
Healthline CMP (Private)227ACv1
ILOVEPDF SL CMP (Private)417ACv2
Impala CMP (Private)303ACv1
InMobi Choice CMP10ACv2
Interia CMP (Private)231ACv1
Internetowy Dom Mediowy net S.A. CMP (Private)225ACv2
Iubenda CMP123ACv2
Kayak Software Corporation CMP (Private)413ACv2
Ketch CMP340ACv2
Kixell Tag443ACv2
Learnings CMP387ACv1
legal web GmbH410ACv2
Marfeel Solutions S.L181ACv1
Mediavine CMP46ACv2
mobile.de CMP (Private)306ACv1
Moonee Publishing LTD CMP (Private)421ACv1
My Agile Privacy CMP403ACv1
NitroPay CMP242ACv1
One Consent CMP273ACv1
Onetrust / Cookiepro CMP28ACv2
Outfit7 CMP (Private)348ACv1
Overwolf Ltd. CMP (Private)246ACv2
Pandectes CMP445ACv2
Paruvendu CMP (Private)222ACv2
Podravka d.d. CMP (Private)441ACv2
Pubtech CMP352ACv2
RCS CMP218ACv2
Ringier Axel Springer Polska (Private)280ACv1
Setupad CMP379ACv1
Seven.One Entertainment Group GmbH CMP (Private)318ACv2
Seznam.cz CMP247ACv1
SFBX CMP2ACv2
Sibbo CMP76ACv2
Sirdata CMP92ACv2
Snigel Adconsent CMP229ACv1
Social Shopping Group GmbH CMP (Private)438ACv2
Sourcepoint Dialogue CMP6ACv2
Termly CMP412ACv2
Traffective CMP21ACv2
Transcend CMP399ACv1
Tri-table Sp. z o.o. CMP61ACv2
Uniconsent CMP68ACv1
UserCentrics CMP5ACv2
Viber Media CMP (Private)171ACv2
Wirtualna Polska Media S.A. CMP72ACv1
Yahoo EMEA CMP (Private)14ACv2

CMP API 扩展

我们建议扩展现有 TCF v2.2 CMP JavaScript API,以便允许返回 AC 字符串。具体而言,我们建议扩展 TCDataInAppTCData JSON 对象,以便返回此类数据。

TCData = {
  tcString: 'base64url-encoded TC string with segments',
  ...
  addtlConsent: ‘AC string with spec version and consented Ad Tech Provider IDs’
}

 

InAppTCData = {
  tcString: 'base64url-encoded TC string with segments',
  ...
  addtlConsent: ‘AC string with spec version and consented Ad Tech Provider IDs’
}

如何存储 AC 字符串?

Web

存储机制由 CMP 自行选择。

应用内

CMP SDK 将使用 NSUserDefaults (iOS) 或 SharedPreferences (Android) 来存储 AC 字符串。此机制的作用如下:

  • 让供应商能够轻松地访问 AC 字符串

  • 让 AC 字符串可在不同的应用会话中留存

  • 让 AC 字符串可在不同 CMP 之间移植,以便发布商能够灵活地使用某一 CMP SDK 替换另一 CMP SDK

如果发布商选择从应用中移除 CMP SDK,则应负责为用户清除 AddtlConsent 值,以免供应商继续使用所包含的 AC 字符串。

NSUserDefaults 和 SharedPreferences 中用于存储和查找的键
IABTCF_AddtlConsent

字符串:包含规范版本和已征得用户同意的广告技术提供商 ID 的 AC 字符串

如何通过数字广告链传递 AC 字符串

出价请求

我们会重复使用 ConsentedProvidersSettings 来传播下游的非 GVL 供应商。

  • 在 OpenRTB 扩展原型中
  • 旧 Protobuf 版本

message ConsentedProvidersSettings {
 // 与符合下述条件的提供商对应的一组 ID:相应发布商告知
 // Google,他们已针对以下事项征得 EEA 境内用户的具有法律效力的同意:1) 使用 Cookie 或其他本地
 // 存储方式(如果法律要求);以及 2) ATP 出于投放个性化广告的目的
 // 按照 Google 的欧盟地区用户意见征求政策收集、分享和使用个人数据。
 // 提供商 ID 与提供商名称的映射关系会在 providers.csv 中发布。
 repeated int64 consented_providers = 2 [packed = true];
}

 // 与符合下述条件的提供商有关的信息:发布商告知 Google,
 // 他们在 EEA 境内的用户已同意他们
 // 出于投放个性化广告的目的按照 Google 的《欧盟地区用户意见征求政策》使用用户的个人数据。
 // 只有当 regs_gdpr 为 true 时,系统才会填充此字段。
 optional ConsentedProvidersSettings consented_providers_settings = 42;

基于网址的服务

在某个广告素材呈现后,此广告素材的 <img> 标记中可能会包含一些像素。例如,<img src="http://vendor-a.com/key1=val1&key2=val2">,它会将来自浏览器的 HTTP GET 请求发送到供应商的网域。

由于该像素位于 <img> 标记中,无法执行 JavaScript,所以无法使用 CMP API 来获取 TC 字符串。类似于对 TC 字符串的支持,我们会在应该插入 AC 字符串的像素网址中提供一个标准网址参数和一个宏。

网址参数 对应的宏 网址中的表示法
addtl_consent ADDTL_CONSENT &addtl_consent=${ADDTL_CONSENT}

示例 1

若要让供应商 A 能够收到 AC 字符串,图片网址必须包含具有网址参数和宏 &addtl_consent=${ADDTL_CONSENT} 的键值对。得到的网址为:

http://vendor-a.com/key1=val1&key2=val2&addtl_consent=${ADDTL_CONSENT}

 

示例 2

在给定的请求中,如果 AC 字符串为:1~1.35.41.101

广告素材的调用方或呈现程序会使用实际 AC 字符串来替换网址中的宏,以便在调用特定服务器时按以下方式修改最初放置的包含此宏的像素:

http://vendor-a.com/key1=val1&key2=val2&addtl_consent=1~1.35.41.101

相关资源

该内容对您有帮助吗?

您有什么改进建议?
搜索
清除搜索内容
关闭搜索框
主菜单
2299474671922442170
true
搜索支持中心
true
true
true
true
true
148
false
false
false
false