Experience Platform中的IAB TCF 2.0支持

Transparency & Consent Framework (TCF),如Interactive Advertising Bureau (IAB)中所述,是一个开放标准的技术框架,旨在使组织能够按照欧盟的General Data Protection Regulation (GDPR),获取、记录和更新消费者同意处理其个人数据。 该框架的第二个版本TCF 2.0为消费者如何提供或拒绝同意提供了更大的灵活性,包括供应商是否以及如何使用某些数据处理功能,如精确的地理位置。

NOTE
有关TCF 2.0的更多信息,请访问IAB Europe网站,包括支持材料和技术规范。

Adobe Experience Platform是已注册的IAB TCF 2.0供应商列表的一部分,ID为​ 565。 为符合TCF 2.0要求,Platform允许您收集客户同意数据并将其集成到存储的客户配置文件中。 然后,可以根据用户档案的用例将此同意数据纳入导出受众区段中是否包含用户档案。

IMPORTANT
Platform只能符合TCF版本2.0(或更高版本)。 不支持TCF的早期版本。

本文档概述了如何配置数据操作和配置文件架构,以接受同意管理平台(CMP)生成的客户同意数据。 此外,还介绍了Platform在导出区段时如何传达用户同意选择。

先决条件

要遵循本指南,您必须使用集成并与IAB TCF兼容的CMP,商业版或您自己的CMP。 有关详细信息,请参阅兼容CMP的列表

IMPORTANT
如果CMP的ID无效,则Platform会继续按原样处理您的数据。 要实施TCF 2.0,您必须先确认CMP具有已在IAB TCF 2.0中注册的有效ID,然后才能将数据发送到Platform。

本指南还要求您实际了解以下Platform服务:

除了上面列出的Platform服务之外,您还应熟悉目标及其在Platform生态系统中的角色。

客户同意流程摘要 summary

以下各节介绍在系统正确配置后如何收集和执行同意数据。

同意数据收集

Platform允许您通过以下流程收集客户同意数据:

  1. 客户通过网站上的对话框提供其关于数据收集的同意首选项。
  2. 您的CMP会检测同意首选项更改,并相应地生成TCF同意数据。
  3. 使用Platform Web SDK,生成的同意数据(由CMP返回)发送到Adobe Experience Platform。
  4. 收集的同意数据将摄取到启用了Profile的数据集,其架构包含TCF同意字段。

除了CMP同意更改挂接触发的SDK命令外,同意数据还可以通过客户生成的任何直接上传到启用了Profile的数据集的XDM数据流入Experience Platform。

如果通过Experience Cloud Identity Service对由Adobe Audience Manager与Platform共享的任何区段应用了相应的字段,则这些区段(通过Audience Manager源连接器或其他方式)也可能包含同意数据。 有关在Audience Manager中收集同意数据的更多信息,请参阅适用于IAB TCF的Adobe Audience Manager插件上的文档

下游同意执行

成功摄取TCF同意数据后,下游Platform服务中将执行以下流程:

  1. Real-Time Customer Profile更新该客户个人资料的已存储同意数据。
  2. 只有在为群集中的每个ID提供了Platform (565)的供应商权限时,Platform才会处理客户ID。
  3. 将区段导出到属于TCF 2.0供应商列表成员的目标时,只有在为群集中的每个ID提供平台(565) ​的供应商权限时,Platform才会包含配置文件。

本文档中的其余部分提供了有关如何配置Platform和数据操作以满足上述收集和实施要求的指导。

由于每个CMP系统都是唯一的,因此您必须确定允许客户在与您的服务交互时提供同意的最佳方式。 Cookie同意对话框是获得客户同意的常见方式。 下面显示了CMP对话框示例。

示例同意管理平台对话框。

此对话框必须允许客户选择加入或退出以下内容:

同意选项
描述
目的

用途定义品牌可以将客户数据用于哪些广告技术目的。 要处理Platform客户ID,必须选择实现以下目的:

  • 目的1:在设备上存储和/或访问信息
  • 目的10:开发和改进产品
供应商权限
除了广告技术目的之外,该对话框还必须允许客户选择加入或退出让其数据由特定供应商使用,包括Adobe Experience Platform (565)。

无论您使用何种方法收集数据,目的都是根据客户选择的同意选项生成一个字符串值,称为同意字符串。

在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

NOTE
需要使用Experience PlatformWeb SDK才能直接在Adobe Experience Platform中处理同意数据。 不支持Experience Cloud Identity Service。
在Adobe Audience Manager中仍支持Experience Cloud Identity Service进行同意处理,但只需将库更新到版本5.0才能符合TCF 2.0的要求。

配置CMP以生成同意字符串后,必须集成Experience PlatformWeb SDK以收集这些字符串并将它们发送到Platform。 Platform SDK提供了两个可用于将TCF同意数据发送到Platform的命令(下面各子部分进行了说明)。 当客户首次提供同意信息时,以及同意信息在以后任何时候发生更改时,都应使用这些命令。

SDK未与任何开箱即用的CMP接口。 您可以自行决定如何将SDK集成到您的网站中,监听CMP中的同意更改,并调用相应的命令。

创建数据流

为了使SDK将数据发送到Experience Platform,您必须首先为Platform创建数据流。 SDK文档中提供了有关如何创建数据流的特定步骤。

为数据流提供唯一名称后,选择​ Adobe Experience Platform ​旁边的切换按钮。 接下来,使用以下值完成表单的其余部分:

数据流字段
沙盒
平台沙盒的名称,该沙盒包含设置数据流所需的流连接和数据集。
流式入口
Experience Platform的有效流连接。 如果您没有现有的流入口,请参阅有关创建流连接的教程。
事件数据集
选择在上一步中创建的XDM ExperienceEvent数据集。 如果在此数据集的架构中包含IAB TCF 2.0同意字段组,则可以使用sendEvent命令跟踪一段时间的同意更改事件,并将该数据存储在此数据集中。 请记住,此数据集中存储的同意值​ 不在自动实施工作流中使用
配置文件数据集
选择在上一步中创建的XDM Individual Profile数据集。 使用setConsent命令响应CMP同意更改挂接时,收集的数据将存储在此数据集中。 由于此数据集启用了配置文件,在自动实施工作流期间,将遵循此数据集中存储的同意值。

完成后,选择屏幕底部的​ 保存,然后按照任何其他提示继续完成配置。

发出consent-change命令

创建上一部分所述的数据流后,您可以开始使用SDK命令将同意数据发送到Platform。 以下部分提供了如何在不同的场景中使用每个SDK命令的示例。

使用CMP同意更改挂接 setConsent

许多CMP提供开箱即用的挂接,用于侦听同意更改事件。 发生这些事件时,您可以使用setConsent命令更新该客户的同意数据。

setConsent命令需要两个参数:

  1. 一个字符串,它指示命令类型(在本例中为“setConsent”)。
  2. 包含consent数组的负载。 数组必须至少包含一个提供必需同意字段的对象。

setConsent命令显示如下:

alloy("setConsent", {
  consent: [{
    standard: "IAB TCF",
    version: "2.0",
    value: "CLcVDxRMWfGmWAVAHCENAXCkAKDAADnAABRgA5mdfCKZuYJez-NQm0TBMYA4oCAAGQYIAAAAAAEAIAEgAA.argAC0gAAAAAAAAAAAA",
    gdprApplies: "true"
  }]
});
有效负载属性
描述
standard
使用的同意标准。 对于TCF 2.0同意处理,此值必须设置为IAB
version
standard下指示的同意标准的版本号。 对于TCF 2.0同意处理,此值必须设置为2.0
value
CMP生成的base-64编码的同意字符串。
gdprApplies
一个布尔值,指示GDPR是否适用于当前登录的客户。 若要为此客户强制执行TCF 2.0,该值必须设置为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

您还可以使用sendEvent命令收集Platform中触发的每个事件的TCF 2.0同意数据。

NOTE
要使用此方法,您必须已将“体验事件隐私”字段组添加到已启用Profile的XDM ExperienceEvent架构中。 有关如何配置此架构的步骤,请参阅数据集准备指南中有关更新ExperienceEvent架构的部分。

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
使用的同意标准。 对于TCF 2.0同意处理,此值必须设置为IAB
consentStandardVersion
standard下指示的同意标准的版本号。 对于TCF 2.0同意处理,此值必须设置为2.0
consentStringValue
CMP生成的base-64编码的同意字符串。
gdprApplies
一个布尔值,指示GDPR是否适用于当前登录的客户。 若要为此客户强制执行TCF 2.0,该值必须设置为true。 如果未定义,则默认为true

处理SDK响应

许多Web SDK命令会返回指示调用是成功还是失败的promise。 然后,您可以将这些响应用于其他逻辑,例如向客户显示确认消息。 有关详细信息,请参阅命令响应

导出区段 export

NOTE
在开始导出区段之前,必须确保区段包括所有必需的同意字段。 有关详细信息,请参阅配置合并策略一节。

一旦您收集了客户同意数据并创建了包含所需同意属性的受众区段,则以后在将这些区段导出到下游目标时,可以强制实施TCF 2.0合规性。

如果一组客户配置文件的同意设置gdprApplies设置为true,则系统会根据每个配置文件的TCF同意首选项过滤这些配置文件中导出到下游目标的任何数据。 在导出过程中,将跳过任何不符合所需同意首选项的配置文件。

客户必须同意以下目的(如TCF 2.0策略所述),才能将其配置文件包含在导出到目标的区段中:

  • 目的1:在设备上存储和/或访问信息
  • 目的10:开发和改进产品

TCF 2.0还要求在将数据发送到目标之前,数据源必须检查目标的供应商权限。 因此,在包含绑定到该目标的数据之前,Platform会检查是否针对群集中的所有ID选择加入目标的供应商权限。

NOTE
与Adobe Audience Manager共享的任何区段包含与其Platform对应区段相同的TCF 2.0同意值。 由于Audience Manager与平台(565)共享相同的供应商ID,因此需要相同的目的和供应商权限。 有关详细信息,请参阅适用于IAB TCF的Adobe Audience Manager插件上的文档。

测试实施 test-implementation

配置TCF 2.0实施并将区段导出到目标后,任何不符合同意要求的数据都不会导出。 要查看在导出期间是否过滤了正确的客户配置文件,您必须手动检查目标上的数据存储,以查看是否正确强制同意客户。

IMPORTANT
如果群集由多个ID组成,并且应用TCF 2.0,那么即使单个ID不包含正确的用途和供应商权限,也会排除整个群集。

后续步骤

本文档介绍了配置Platform数据操作以履行TCF 2.0概述的业务义务的过程。有关Platform隐私相关功能的详细信息,请参阅治理、隐私和安全性概述。

recommendation-more-help
5741548a-2e07-44b3-9157-9c181502d0c5