Experience Platform Web SDKを統合して、顧客の同意データを処理する

Adobe Experience Platform Web SDKでは、同意管理プラットフォーム(CMP)によって生成された顧客の同意シグナルを取得し、同意の変更イベントが発生するたびにAdobe Experience Platformに送信できます。

SDKは、標準搭載のCMPとのインターフェイスを使用しません。 SDKをweb サイトに統合する方法を決定し、CMPで同意変更をリッスンし、適切なコマンドを呼び出すのはユーザーの役割です。 このドキュメントでは、CMPをExperience Platform Web SDKと統合する方法に関する一般的なガイダンスを提供します。

前提条件 prerequisites

このチュートリアルでは、CMP内で同意データを生成する方法を既に決定しており、Adobe標準またはIAB Transparency and Consent Framework (TCF) 2.0標準に準拠した同意フィールドを含むデータセットを作成していることを前提としています。 このデータセットをまだ作成していない場合は、このガイドに戻る前に、次のチュートリアルを参照してください。

このガイドでは、UIでタグ拡張機能を使用してSDKを設定する手順を追います。 拡張機能を使用せず、SDKのスタンドアロン版をサイトに直接埋め込む場合は、このガイドの代わりに次のドキュメントを参照してください。

このガイドのインストール手順では、タグ拡張機能と、それらをweb アプリケーションにインストールする方法について理解する必要があります。 詳しくは、次のドキュメントを参照してください。

データストリームの設定

SDKからExperience Platformにデータを送信するには、まずデータストリームを設定する必要があります。 データ収集UIまたはExperience Platform UIで、左側のナビゲーションで「データストリーム」を選択します。

新しいデータストリームを作成するか、編集する既存のデータストリームを選択した後、Adobe Experience Platform​の横にある切り替えボタンを選択します。 次に、以下に示す値を使用してフォームに入力します。

データストリームフィールド
サンドボックス
データストリームを設定するために必要なストリーミング接続とデータセットを含むExperience Platform ​ サンドボックス ​の名前。
​ イベントデータセット ​
SDKを使用して、にイベントデータを送信する予定のXDM ExperienceEvent データセット。 Experience Platform データストリームを作成するには、イベントデータセットを提供する必要がありますが、イベントを介して送信された同意データは、下流の適用ワークフローでは尊重されないことに注意してください。
​ プロファイルデータセット ​
以前に作成した、顧客の同意フィールドを含むProfile対応データセット。

完了したら、画面の下部にある「保存」を選択し、追加のプロンプトに従って設定を完了します。

Experience Platform Web SDKのインストールと設定

前の節で説明したようにデータストリームを作成したら、最終的にサイトにデプロイするExperience Platform Web SDK拡張機能を設定する必要があります。 タグプロパティにSDK拡張機能がインストールされていない場合は、左側のナビゲーションで「拡張機能」を選択し、続いて「カタログ」タブを選択します。 次に、使用可能な拡張機能のリストから、「Experience Platform SDK拡張機能」で「」を選択します。

SDKを設定する場合、Edge Configurations​で、前の手順で作成したデータストリームを選択します。

拡張機能をインストールするには、保存​を選択します。

データ要素を作成してデフォルトの同意を設定する

SDK拡張機能をインストールすると、ユーザーのデフォルトのデータ収集の同意値(collect.val)を表すデータ要素を作成できます。 これは、EU ユーザーのpending、北米ユーザーのinなど、ユーザーに応じて異なるデフォルト値を設定する場合に便利です。

このユースケースでは、次の機能を実装して、ユーザーの地域に基づいてデフォルトの同意を設定できます。

  1. Web サーバー上のユーザーのリージョンを決定します。
  2. Web ページのscript タグ (埋め込みコード)の前に、ユーザーの地域に基づいてadobeDefaultConsent変数を設定する個別のscript タグをレンダリングします。
  3. adobeDefaultConsent JavaScript変数を使用するデータ要素を設定し、このデータ要素をユーザーのデフォルトの同意値として使用します。

ユーザーの地域がCMPによって決定される場合は、代わりに次の手順を使用できます。

  1. ページ上の「CMP loaded」イベントを処理します。
  2. イベントハンドラーで、ユーザーのリージョンに基づいてadobeDefaultConsent変数を設定し、JavaScriptを使用してタグライブラリスクリプトを読み込みます。
  3. adobeDefaultConsent JavaScript変数を使用するデータ要素を設定し、このデータ要素をユーザーのデフォルトの同意値として使用します。

UIでデータ要素を作成するには、左側のナビゲーションで「データ要素」を選択し、「データ要素を追加」を選択して、データ要素の作成ダイアログに移動します。

ここから、adobeDefaultConsentに基づいてJavaScript変数 データ要素を作成する必要があります。 完了したら、「保存」をクリックします。

データ要素を作成したら、Web SDK拡張機能の設定ページに戻ります。 「​ プライバシー」セクションで、「データ要素によって提供される」を選択し、提供されたダイアログを使用して、以前に作成したデフォルトの同意データ要素を選択します。

web サイトに拡張機能をデプロイする

拡張機能の設定が完了したら、web サイトに統合できます。 更新されたライブラリ ビルドのデプロイ方法について詳しくは、タグ ドキュメントの公開ガイド ​を参照してください。

同意変更コマンドの実行 commands

SDK拡張機能をweb サイトに統合したら、Experience Platform Web SDK setConsent コマンドを使用して同意データをExperience Platformに送信できます。

setConsent コマンドは、次の2つのアクションを実行します。

  1. プロファイルストアでユーザーのプロファイル属性を直接更新します。 これにより、データレイクにデータが送信されることはありません。
  2. 同意変更イベントのタイムスタンプ付きアカウントを記録する​ エクスペリエンスイベント ​を作成します。 このデータはデータレイクに直接送信され、時間の経過に伴う同意設定の変更を追跡するために使用できます。

setConsentに電話するタイミング

サイトでsetConsentを呼び出すには、次の2つのシナリオがあります。

  1. 同意がページに読み込まれる場合(つまり、ページが読み込まれるたびに)
  2. 同意設定の変更を検出するCMP フックまたはイベントリスナーの一部

setConsent構文

setConsent コマンドでは、単一の配列型プロパティ consentを含むペイロード オブジェクトが必要です。 consent配列には、Adobe標準に必要な同意フィールドを提供するオブジェクトが少なくとも1つ含まれている必要があります。

Adobe標準に必要な同意フィールドを次の例setConsentの呼び出しに示します。

alloy("setConsent", {
  consent: [{
    standard: "Adobe",
    version: "2.0",
    value: {
      collect: {
        val: "y"
      },
      share: {
        val: "y"
      },
      personalize: {
        content: {
          val: "y"
        }
      },
      metadata: {
        time: "YYYY-10-12T15:52:25+00:00"
      }
    }
  }]
});
ペイロードプロパティ
説明
standard
同意基準が使用されています。 Adobe標準の場合、この値はAdobeに設定する必要があります。
version
standardに示されている同意標準のバージョン番号。 Adobe標準の同意処理では、この値を2.0に設定する必要があります。
value
顧客の更新された同意情報。プロファイル対応データセットの同意フィールドの構造に準拠するXDM オブジェクトとして提供されます。
NOTE
他の同意規格をAdobeIAB TCFなど)と組み合わせて使用している場合は、各規格のconsent配列にオブジェクトを追加できます。 各オブジェクトには、それらが表す同意標準に対するstandardversionおよびvalueの適切な値を含める必要があります。

次のJavaScriptは、イベントリスナーまたはCMP フックのコールバックとして使用できる、web サイト上の同意設定の変更を処理する関数の例を示します。

var setConsent = function () {

  // Retrieve the current consent data.
  var categories = getConsentData();

  // If the script is running on a consent change, generate a new timestamp.
  // If the script is running on page load, set the timestamp to when the consent values last changed.
  var now = new Date();
  var collectedAt = consentChanged ? now.toISOString() : categories.collectedAt;

  //  Map the consent values and timestamp to XDM
  var consentXDM = {
    collect: {
      val: categories.collect !== -1 ? "y" : "n"
    },
    personalize: {
      content: {
        val: categories.personalizeContent !== -1 ? "y" : "n"
      }
    },
    share: {
      val: categories.share !== -1 ? "y" : "n"
    },
    metadata: {
      time: collectedAt
    }
  };

  // Pass the XDM object to the Experience Platform Web SDK
  alloy("setConsent", {
    consent: [{
      standard: "Adobe",
      version: "2.0",
      value: consentXDM
    }]
  });
});

SDKの応答の処理

すべてのExperience Platform SDK コマンドは、呼び出しが成功したか失敗したかを示す約束を返します。 その後、これらの応答を使用して、確認メッセージを顧客に表示するなどの追加のロジックを実行できます。 詳しくは、​ コマンド応答を参照してください。

SDKでsetConsent呼び出しを正常に実行したら、Experience Platform UIのプロファイルビューアを使用して、データがプロファイルストアにランディングされているかどうかを確認できます。 詳しくは、ID別プロファイルの参照の節を参照してください。

次の手順

このガイドでは、Experience Platform Web SDK拡張機能を設定して、同意データをExperience Platformに送信します。 実装のテストに関するガイダンスについては、実装する同意標準のドキュメントを参照してください。

recommendation-more-help
experience-platform-help-landing