Experience Platform中的IAB TCF 2.0支持
此 Transparency & Consent Framework (TCF),如 Interactive Advertising Bureau (IAB)是一个开放标准的技术框架,旨在使各组织能够在处理其个人数据时获取、记录和更新消费者同意,符合欧盟的 General Data Protection Regulation (GDPR)。 该框架的第二个版本TCF 2.0为消费者如何提供或拒绝同意提供了更大的灵活性,包括供应商是否以及如何使用某些数据处理功能,如精确的地理位置。
Adobe Experience Platform是 IAB TCF 2.0供应商列表,在ID下 565. 为符合TCF 2.0要求,Platform允许您收集客户同意数据并将其集成到存储的客户配置文件中。 然后,可以根据用户档案的用例将此同意数据纳入导出受众区段中是否包含用户档案。
本文档概述了如何配置数据操作和配置文件架构,以接受同意管理平台(CMP)生成的客户同意数据。 此外,还介绍了Platform在导出区段时如何传达用户同意选择。
先决条件
要遵循本指南,您必须使用集成并与IAB TCF兼容的CMP,商业版或您自己的CMP。 请参阅 符合规范的CMP列表 以了解更多信息。
本指南还要求您实际了解以下Platform服务:
- 体验数据模型(XDM):Experience Platform用于组织客户体验数据的标准化框架。
- Adobe Experience Platform Identity服务:通过跨设备和系统桥接身份,解决了客户体验数据碎片化带来的根本挑战。
- Real-time Customer Profile:用途 Identity Service 从数据集实时创建详细的客户配置文件。 Real-Time Customer Profile 从数据湖中提取数据,并将客户配置文件保留在其自己的单独数据存储中。
- Adobe Experience Platform Web SDK:客户端JavaScript库,允许您将各种Platform服务集成到面向客户的网站上。
- SDK同意命令:本指南中显示的与同意相关的SDK命令的用例概述。
- Adobe Experience Platform Segmentation Service:用于除 Real-Time Customer Profile 数据归入个人组,这些个人组具有相似的特征,并对营销策略的响应类似。
除了上面列出的Platform服务外,您还应熟悉 目标 以及它们在平台生态系统中的作用。
客户同意流程摘要 summary
以下各节介绍在系统正确配置后如何收集和执行同意数据。
同意数据收集
Platform允许您通过以下流程收集客户同意数据:
- 客户通过网站上的对话框提供其关于数据收集的同意首选项。
- 您的CMP会检测同意首选项更改,并相应地生成TCF同意数据。
- 使用Platform Web SDK,生成的同意数据(由CMP返回)发送到Adobe Experience Platform。
- 收集的同意数据将摄取到 Profile启用了数据集,其架构包含TCF同意字段。
除了由CMP同意更改挂接触发的SDK命令之外,同意数据还可以通过客户生成的任何直接上传到的XDM数据流入Experience Platform Profile启用数据集。
Adobe Audience Manager与Platform共享的任何区段(通过 Audience Manager 如果通过以下方式将适当的字段应用于这些区段,则源连接器或其他连接器中也可能包含同意数据: Experience Cloud Identity Service. 有关在中收集同意数据的更多信息 Audience Manager,请参阅此文档: 适用于IAB TCF的Adobe Audience Manager插件.
下游同意执行
成功摄取TCF同意数据后,下游Platform服务中将执行以下流程:
- Real-Time Customer Profile 更新针对该客户个人资料存储的同意数据。
- 只有在为群集中的每个ID提供了Platform (565)的供应商权限时,Platform才会处理客户ID。
- 将区段导出到属于TCF 2.0供应商列表成员的目标时,如果两个平台的供应商权限相同,则Platform仅包含配置文件(565) 和 为群集中的每个ID提供各个目标。
本文档中的其余部分提供了有关如何配置Platform和数据操作以满足上述收集和实施要求的指导。
确定如何在CMP中生成客户同意数据 consent-data
由于每个CMP系统都是唯一的,因此您必须确定允许客户在与您的服务交互时提供同意的最佳方式。 Cookie同意对话框是获得客户同意的常见方式。 下面显示了CMP对话框示例。
此对话框必须允许客户选择加入或退出以下内容:
用途定义品牌可以将客户数据用于哪些广告技术目的。 要处理Platform客户ID,必须选择实现以下目的:
- 用途1:存储和/或访问设备上的信息
- 目的10:开发和改进产品
同意字符串 consent-strings
无论您使用何种方法收集数据,目的都是根据客户选择的同意选项生成一个字符串值,称为同意字符串。
在TCF规范中,同意字符串用于根据策略和供应商定义的特定营销目的,编码有关客户同意设置的相关详细信息。 Platform使用这些字符串来存储每个客户的同意设置,因此,每次这些设置发生更改时,都必须生成一个新的同意字符串。
同意字符串只能由在IAB TCF中注册的CMP创建。 有关如何使用特定CMP生成同意字符串的更多信息,请参阅 同意字符串格式指南 IAB TCF GitHub存储库中的路径
使用TCF同意字段创建数据集 datasets
客户同意数据必须发送到其架构包含TCF同意字段的数据集。 请参阅以下教程: 创建数据集以获取TCF 2.0同意 了解在继续本指南之前,如何创建所需的用户档案数据集(以及可选的Experience Event数据集)。
更新 Profile 合并策略以包含同意数据 merge-policies
创建 Profile启用用于收集同意数据的数据集,您必须确保将合并策略配置为始终在客户配置文件中包含TCF同意字段。 这涉及设置数据集优先级,以使您的同意数据集优先于其他潜在冲突的数据集。
有关如何使用合并策略的更多信息,请参阅 合并策略概述. 在设置合并策略时,必须确保区段包含 XDM隐私架构字段组,如数据集准备指南中所述。
集成Experience PlatformWeb SDK以收集客户同意数据 sdk
配置CMP以生成同意字符串后,必须集成Experience PlatformWeb SDK以收集这些字符串并将它们发送到Platform。 Platform SDK提供了两个可用于将TCF同意数据发送到Platform的命令(下面各子部分进行了说明)。 当客户首次提供同意信息时,以及同意信息在以后任何时候发生更改时,都应使用这些命令。
SDK不会与任何开箱即用的CMP进行交互. 您可以自行决定如何将SDK集成到您的网站中,监听CMP中的同意更改,并调用相应的命令。
创建数据流
为了使SDK将数据发送到Experience Platform,您必须首先为Platform创建数据流。 有关如何创建数据流的特定步骤,请参见 SDK文档.
为数据流提供唯一名称后,选择旁边的切换按钮 Adobe Experience Platform. 接下来,使用以下值完成表单的其余部分:
sendEvent
命令,将数据存储在此数据集中。 请记住,此数据集中存储的同意值为 非 在自动实施工作流中使用。setConsent
命令,收集的数据将存储在此数据集中。 由于此数据集启用了配置文件,在自动实施工作流期间,将遵循此数据集中存储的同意值。
完成后,选择 保存 继续按照其他提示完成配置。
发出consent-change命令
创建上一部分所述的数据流后,您可以开始使用SDK命令将同意数据发送到Platform。 以下部分提供了如何在不同的场景中使用每个SDK命令的示例。
使用CMP同意更改挂接 setConsent
许多CMP提供开箱即用的挂接,用于侦听同意更改事件。 在这些事件发生时,您可以使用 setConsent
命令以更新客户的同意数据。
此 setConsent
命令需要两个参数:
- 一个字符串,它指示命令类型(在本例中为“setConsent”)。
- 包含
consent
数组。 数组必须至少包含一个提供必需同意字段的对象。
此 setConsent
命令如下所示:
alloy("setConsent", {
consent: [{
standard: "IAB TCF",
version: "2.0",
value: "CLcVDxRMWfGmWAVAHCENAXCkAKDAADnAABRgA5mdfCKZuYJez-NQm0TBMYA4oCAAGQYIAAAAAAEAIAEgAA.argAC0gAAAAAAAAAAAA",
gdprApplies: "true"
}]
});
standard
IAB
用于TCF 2.0同意处理。version
standard
. 此值必须设置为 2.0
用于TCF 2.0同意处理。value
gdprApplies
true
. 默认为 true
如果未定义。此 setConsent
命令应作为检测同意设置更改的CMP挂接的一部分使用。 以下JavaScript提供了一个示例,说明 setConsent
命令可用于OneTrust OnConsentChanged
挂钩:
OneTrust.OnConsentChanged(function () {
// Retrieve the TCF 2.0 consent data generated by the CMP, and pass it to Alloy.
__tcfapi("getTCData", 2, function (data, success) {
if (success) {
var tcString = data.tcString;
var gdpr = data.gdprApplies;
alloy("setConsent", {
consent: [{
standard: "IAB TCF",
version: "2.0",
value: tcString,
gdprApplies: gdpr
}]
});
}
});
});
使用事件 sendEvent
您还可以使用收集Platform中触发的每个事件的TCF 2.0同意数据 sendEvent
命令。
此 sendEvent
命令应用作网站上相应事件侦听器中的回调。 该命令需要两个参数: (1)指示命令类型的字符串(在本例中, sendEvent
),以及(2)包含 xdm
将必需的同意字段作为JSON提供的对象:
alloy("sendEvent", {
xdm: {
"consentStrings": [{
"consentStandard": "IAB TCF",
"consentStandardVersion": "2.0",
"consentStringValue": "CLcVDxRMWfGmWAVAHCENAXCkAKDAADnAABRgA5mdfCKZuYJez-NQm0TBMYA4oCAAGQYIAAAAAAEAIAEgAA.argAC0gAAAAAAAAAAAA",
"gdprApplies": true
}]
}
});
xdm.consentStrings
consentStandard
IAB
用于TCF 2.0同意处理。consentStandardVersion
standard
. 此值必须设置为 2.0
用于TCF 2.0同意处理。consentStringValue
gdprApplies
true
. 默认为 true
如果未定义。处理SDK响应
许多Web SDK命令会返回指示调用是成功还是失败的promise。 然后,您可以将这些响应用于其他逻辑,例如向客户显示确认消息。 请参阅 命令响应 以了解更多信息。
导出区段 export
一旦您收集了客户同意数据并创建了包含所需同意属性的受众区段,则以后在将这些区段导出到下游目标时,可以强制实施TCF 2.0合规性。
如果同意设置 gdprApplies
设置为 true
对于一组客户配置文件,将根据每个配置文件的TCF同意首选项过滤这些配置文件中导出到下游目标的任何数据。 在导出过程中,将跳过任何不符合所需同意首选项的配置文件。
客户必须同意以下目的(如概述 TCF 2.0策略),则其配置文件将包含在导出到目标的区段中:
- 用途1:存储和/或访问设备上的信息
- 目的10:开发和改进产品
TCF 2.0还要求在将数据发送到目标之前,数据源必须检查目标的供应商权限。 因此,在包含绑定到该目标的数据之前,Platform会检查是否针对群集中的所有ID选择加入目标的供应商权限。
测试实施 test-implementation
配置TCF 2.0实施并将区段导出到目标后,任何不符合同意要求的数据都不会导出。 要查看在导出期间是否过滤了正确的客户配置文件,您必须手动检查目标上的数据存储,以查看是否正确强制同意客户。
后续步骤
本文档介绍了配置Platform数据操作以履行TCF 2.0概述的业务义务的过程。有关更多详细信息,请参阅 治理、隐私和安全 有关更多信息,请参阅Platform的隐私相关功能。