将IAB TCF 2.0支持与Platform Web SDK集成

本指南将演示如何在不使用标记的情况下将Interactive Advertising Bureau Transparency & Consent Framework版本2.0 (IAB TCF 2.0)与Adobe Experience Platform Web SDK集成。 有关与IAB TCF 2.0集成的概述,请阅读概述。 有关如何与标记集成的指南,请阅读标记的IAB TCF 2.0指南

快速入门

本指南使用__tcfapi界面访问同意信息。 您可以更轻松地直接与云管理提供商(CMP)集成。 但是,本指南中的信息可能仍然有用,因为CMP通常提供与TCF API类似的功能。

NOTE
这些示例假定在运行代码时,页面上定义了window.__tcfapi。 CMP可以提供挂接,您可以在__tcfapi对象就绪时运行这些函数。

要将包含标记的IAB TCF 2.0和Adobe Experience Platform Web SDK扩展结合使用,您需要具有可用的XDM架构。 如果尚未设置这两个中的任何一个选项,请先查看此页面,然后再继续。

此外,本指南要求您实际了解Adobe Experience Platform Web SDK。 如需快速刷新,请阅读Adobe Experience Platform Web SDK概述常见问题解答文档。

启用默认同意

如果要对所有未知用户一视同仁,可将defaultConsent设置为pendingout。 在收到同意首选项之前,这将排队或丢弃体验事件。

根据gdprApplies设置默认同意

某些CMP提供了确定《通用数据保护条例》(GDPR)是否适用于客户的能力。 如果您希望客户同意不适用GDPR的情况,则可以在TCF API调用中使用gdprApplies标记。

以下示例显示了执行此操作的一种方法:

var alloyConfiguration = { ... };
window.__tcfapi('getTCData', 2, function (tcData, success) {
  if (success) {
    alloyConfiguration.defaultConsent = tcData.gdprApplies ? "pending" : "in";
    window.alloy("configure", alloyConfiguration);
  }
});

在此示例中,在从TCF API获取tcData之后调用configure命令。 如果gdprApplies为true,则默认同意设置为pending。 如果gdprApplies为false,则默认同意设置为in。 请确保使用您的配置填写alloyConfiguration变量。

NOTE
当默认同意设置为in时,setConsent命令仍可用于记录您的客户同意首选项。

使用setConsent事件

IAB TCF 2.0 API为客户更新同意时提供了一个事件。 当客户最初设置其首选项以及更新其首选项时,会发生这种情况。

以下示例显示了执行此操作的一种方法:

const identityMap = { ... };
window.__tcfapi('addEventListener', 2, function (tcData, success) {
  if (success && tcData.eventStatus === 'useractioncomplete') {
    window.alloy("setConsent", {
      identityMap,
      consent: [
        {
          standard: "IAB TCF",
          version: "2.0",
          value: tcData.tcString,
          gdprApplies: tcData.gdprApplies
        }
      ]
    });
  }
});

此代码块侦听useractioncomplete事件,然后设置同意,传递同意字符串和gdprApplies标记。 如果您有客户的自定义标识,请务必填写identityMap变量。 有关详细信息,请参阅setConsent指南。

在sendEvent中包含同意信息

在XDM架构中,您可以存储来自体验事件的同意偏好设置信息。 可通过两种方式将此信息添加到每个事件。

首先,您可以在每sendEvent次调用中提供相关的XDM架构。 以下示例显示了执行此操作的一种方法:

var sendEventOptions = { ... };
window.__tcfapi('getTCData', 2, function (tcData, success) {
  if (success) {
    sendEventOptions.xdm.consentStrings = [{
      consentStandard: "IAB TCF"
      consentStandardVersion: "2.0"
      consentStringValue: tcData.tcString,
      gdprApplies: tcData.gdprApplies
    }];
    window.alloy("sendEvent", sendEventOptions);
  }
});

此示例获取TCF API的同意信息,然后发送一个事件,其中包含添加到XDM架构的同意信息。

向每个请求添加同意信息的另一种方法是使用onBeforeEventSend回调。

后续步骤

现在,您已了解如何将IAB TCF 2.0与Platform Web SDK扩展结合使用,您还可以选择与其他Adobe解决方案(如Adobe Analytics或Adobe Real-time Customer Data Platform)集成。 有关详细信息,请参阅IAB透明度和同意框架2.0概述

recommendation-more-help
ad108910-6329-42f1-aa1d-5920a2b13636