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

Adobe Experience Platform Web SDK を使用すると、Consent Management Platform (CMP)によって生成された顧客の同意信号を取得し、同意変更イベントが発生するたびにAdobe Experience Platformに送信できます。

SDK は、初期設定では、どの CMP ともインターフェイスを行いません。 SDK を web サイトに統合する方法を決定し、CMP で同意の変更をリッスンして適切なコマンドを呼び出すかどうかは、ユーザー次第です。 このドキュメントでは、CMP と Platform Web SDK を統合する方法に関する一般的なガイダンスを提供します。

前提条件 prerequisites

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

このガイドは、UI のタグ拡張機能を使用して SDK を設定するワークフローに従います。 拡張機能を使用せず、スタンドアロンバージョンの SDK をサイトに直接埋め込む場合は、このガイドではなく次のドキュメントを参照してください。

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

データストリームの設定

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

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

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

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

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

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

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

保存」を選択して、拡張機能をインストールします。

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

SDK 拡張機能がインストールされている状態で、デフォルトのデータ収集同意値(collect.val)をユーザーに対して表すデータ要素を作成するオプションがあります。 これは、欧州連合(EU)ユーザーの pending や北米ユーザーの in など、ユーザーに応じて異なるデフォルト値を使用する場合に便利です。

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

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

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

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

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

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

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

Web サイトへの拡張機能のデプロイ

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

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

SDK 拡張機能を web サイトに統合したら、Platform Web SDK setConsent コマンドを使用して、同意データを 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 配列にオブジェクトを追加できます。 各オブジェクトには、表す同意標準の standardversionvalue に適した値が含まれている必要があります。

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

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 Platform Web SDK
  alloy("setConsent", {
    consent: [{
      standard: "Adobe",
      version: "2.0",
      value: consentXDM
    }]
  });
});

SDK 応答の処理

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

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

次の手順

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

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