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