將IAB TCF 2.0支援與Platform Web SDK整合

本指南說明如何不使用標籤,將互動式廣告局透明與同意架構2.0版(IAB TCF 2.0)與Adobe Experience Platform Web SDK整合。 如需與IAB TCF 2.0整合的概觀,請參閱overview。 如需如何與標籤整合的指南,請參閱IAB TCF 2.0指南中的標籤

快速入門

本指南使用__tcfapi介面來存取同意資訊。 直接與雲端管理提供者(CMP)整合可能會更輕鬆。 不過,本指南中的資訊可能仍很實用,因為CMP通常提供與TCF API類似的功能。

注意

這些範例假設,在執行程式碼時,已在頁面上定義window.__tcfapi__tcfapi物件準備就緒時,CMP可提供一個掛接,讓您在其中執行這些函式。

若要搭配標籤和Adobe Experience Platform Web SDK擴充功能使用IAB TCF 2.0,您必須有可用的XDM結構。 如果您尚未設定其中一個,請先檢視此頁面,再繼續操作。

此外,本指南也要求您妥善了解Adobe Experience Platform Web SDK。 如需快速重新整理,請參閱Adobe Experience Platform Web SDK概述常見問題檔案。

啟用預設同意

如果您想要對所有未知使用者一視同仁,可將預設同意設定為pendingout。 在收到同意偏好設定之前,此會讓系統排入佇列或捨棄體驗事件。

如需預設同意的詳細資訊,請參閱Platform Web SDK設定檔案中的預設同意區段

根據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變數。

注意

當預設同意設為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結構中,您可以儲存Experience Events的同意偏好設定資訊。 有兩種方式可將此資訊新增至每個事件。

首先,您可以在每次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結構之同意資訊的事件。 請參閱追蹤事件指南,了解sendEvent命令選項中應包含的內容。

將同意資訊新增至每個要求的另一種方式是使用onBeforeEventSend回呼。 如需如何執行此動作的詳細資訊,請參閱追蹤事件檔案中有關全域修改事件的區段

後續步驟

現在您已了解如何搭配Platform Web SDK擴充功能使用IAB TCF 2.0,您也可以選擇與其他Adobe解決方案整合,例如Adobe Analytics或即時客戶資料平台。 如需詳細資訊,請參閱IAB透明與同意架構2.0概觀

本頁內容