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 Web SDKのインストールと設定
前の節で説明したようにデータストリームを作成したら、最終的にサイトにデプロイするExperience Platform Web SDK拡張機能を設定する必要があります。 タグプロパティにSDK拡張機能がインストールされていない場合は、左側のナビゲーションで「拡張機能」を選択し、続いて「カタログ」タブを選択します。 次に、使用可能な拡張機能のリストから、「Experience Platform SDK拡張機能」で「」を選択します。
SDKを設定する場合、Edge Configurationsで、前の手順で作成したデータストリームを選択します。
拡張機能をインストールするには、保存を選択します。
データ要素を作成してデフォルトの同意を設定する
SDK拡張機能をインストールすると、ユーザーのデフォルトのデータ収集の同意値(collect.val)を表すデータ要素を作成できます。 これは、EU ユーザーのpending、北米ユーザーのinなど、ユーザーに応じて異なるデフォルト値を設定する場合に便利です。
このユースケースでは、次の機能を実装して、ユーザーの地域に基づいてデフォルトの同意を設定できます。
- Web サーバー上のユーザーのリージョンを決定します。
- Web ページの
scriptタグ (埋め込みコード)の前に、ユーザーの地域に基づいてadobeDefaultConsent変数を設定する個別のscriptタグをレンダリングします。 adobeDefaultConsentJavaScript変数を使用するデータ要素を設定し、このデータ要素をユーザーのデフォルトの同意値として使用します。
ユーザーの地域がCMPによって決定される場合は、代わりに次の手順を使用できます。
- ページ上の「CMP loaded」イベントを処理します。
- イベントハンドラーで、ユーザーのリージョンに基づいて
adobeDefaultConsent変数を設定し、JavaScriptを使用してタグライブラリスクリプトを読み込みます。 adobeDefaultConsentJavaScript変数を使用するデータ要素を設定し、このデータ要素をユーザーのデフォルトの同意値として使用します。
UIでデータ要素を作成するには、左側のナビゲーションで「データ要素」を選択し、「データ要素を追加」を選択して、データ要素の作成ダイアログに移動します。
ここから、adobeDefaultConsentに基づいてJavaScript変数 データ要素を作成する必要があります。 完了したら、「保存」をクリックします。
データ要素を作成したら、Web SDK拡張機能の設定ページに戻ります。 「 プライバシー」セクションで、「データ要素によって提供される」を選択し、提供されたダイアログを使用して、以前に作成したデフォルトの同意データ要素を選択します。
web サイトに拡張機能をデプロイする
拡張機能の設定が完了したら、web サイトに統合できます。 更新されたライブラリ ビルドのデプロイ方法について詳しくは、タグ ドキュメントの公開ガイド を参照してください。
同意変更コマンドの実行 commands
SDK拡張機能をweb サイトに統合したら、Experience Platform Web SDK setConsent コマンドを使用して同意データをExperience Platformに送信できます。
setConsent コマンドは、次の2つのアクションを実行します。
- プロファイルストアでユーザーのプロファイル属性を直接更新します。 これにより、データレイクにデータが送信されることはありません。
- 同意変更イベントのタイムスタンプ付きアカウントを記録する エクスペリエンスイベント を作成します。 このデータはデータレイクに直接送信され、時間の経過に伴う同意設定の変更を追跡するために使用できます。
setConsentに電話するタイミング
サイトでsetConsentを呼び出すには、次の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"
}
}
}]
});
standardAdobeに設定する必要があります。versionstandardに示されている同意標準のバージョン番号。 Adobe標準の同意処理では、この値を2.0に設定する必要があります。valueAdobe (IAB TCFなど)と組み合わせて使用している場合は、各規格のconsent配列にオブジェクトを追加できます。 各オブジェクトには、それらが表す同意標準に対するstandard、versionおよび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に送信します。 実装のテストに関するガイダンスについては、実装する同意標準のドキュメントを参照してください。