データ収集でのidentityMapの使用
identityMap ペイロードオブジェクトは、訪問者がデバイスレベル ECIDを超えているEdge Networkを識別する方法です。 訪問者がログインしたり、購入を完了したり、その他の方法で既知になったりすると、個人レベルのID (CRM ID、ハッシュメール、ロイヤルティ IDなど)をECIDと一緒に送信できます。 これらの個人レベルのIDは、下流のサービスに貴重な情報を提供し、次のことを可能にします。
- 複数のデバイスとチャネルをまたいでアクティビティを個人に結び付けます。 ID サービス は、送信したIDをID グラフ にリンクし、匿名のデバイス レベルの動作を既知の人物に接続します。
- 統合顧客プロファイルの構築。 リアルタイム顧客プロファイル は、イベントと属性を単一のプロファイルに固定するために設定したプライマリ IDを使用し、個人レベルのセグメンテーションとオーディエンスの構築を可能にします。
- 下流の宛先でオーディエンスをアクティブ化します。多くの宛先では、オーディエンスをユーザーベースに一致させるために、解決された個人レベルのID (ハッシュ化された電子メール、電話番号など)が必要です。
- クロスチャネルジャーニーのオーケストレーション。 Journey Optimizerは、解決済みのIDを使用して、訪問者の認証済みの行動に基づいて、電子メール、プッシュ通知、アプリ内チャネルをまたいでジャーニーをトリガーし、パーソナライズします。
このページでは、identityMap ペイロードを構築し、各IDに適切な設定を選択し、一般的な実装シナリオを処理する方法について説明します。
ペイロード構造 structure
identityMapはJSON オブジェクトです。各トップレベル キーは名前空間で、値はID記述子の配列です。 1つのペイロードに1つ以上の名前空間を含めることができ、各記述子にはid、authenticatedState、primaryの3つのフィールドが含まれます。
{
"identityMap": {
"CRMID": [
{
"id": "abc-123-xyz",
"authenticatedState": "authenticated",
"primary": true
}
]
}
}
iduser@example.comまたはABC123)。authenticatedStateambiguous、authenticatedおよびloggedOutが含まれます。primaryprimary: true。以下のセクションでは、ペイロードの各部分について詳しく説明します。
名前空間キー namespace-keys
identityMapの各トップレベル キーはID名前空間です。識別子の種類を分類する文字列(CRMID、Email、Phone、またはLoyaltyIdなど)です。 名前空間は、ペイロードで参照する前にID サービスに存在する必要があります。 訪問者に複数の識別子がある場合、同じイベントに複数の名前空間キーを含めることができます。
ECIDを名前空間キーとして含める必要はありません。 Edge Networkは、ECIDをID ペイロードに自動的に追加します。 ECIDを明示的に含める場合は、個人レベルのIDも存在する場合は、primaryとしてマークしないでください。
id id
id フィールドは、識別子文字列自体です。このIDがどの特定の個人またはデバイスを表しているかをExperience Platformに伝える値です。 各ID名前空間には特定の値の形式が必要です。誤った形式で値を送信すると、正しい形式のバージョンと結合できない個別のIDが作成され、プロファイルが断片化されます。
identityMapに値を含める前に、ターゲット名前空間で想定される形式に従って値を準備します。
ABC-12345, 00098765user@example.coma1b2c3d4e5f6a7b8c9...標準の名前空間とその定義の完全なリストについては、ID名前空間の概要を参照してください。
id値では大文字と小文字が区別されます。 User@Example.comとuser@example.comは2つの別々のIDとして扱われます。 値を送信する前にケーシングを正規化し(通常は電子メールを小文字にし、空白をトリミングします)、グラフに重複するIDが作成されないようにします。実行時にidを収集しています collect-id
必要な識別子がページ上で直接利用可能になることはほとんどありません。 一般的な収集戦略には、次のものがあります。
- データレイヤー:訪問者がログインした後、サイトのデータレイヤーから識別子を読み取ります。 この場所は、データレイヤーがアプリケーションのバックエンドによって入力され、認証済みセッションの状態を反映するため、最も信頼性の高いアプローチです。
- 認証トークンまたはセッション Cookie:認証システムが設定したJWTまたはセッション Cookieから識別子をデコードまたは検索します。 値を使用する前に、トークンがまだアクティブであることを検証します。
- サーバーサイドのエンリッチメント: Data Prep for Data Collectionまたは イベント転送ルール を使用して、EdgeでIDをマッピングまたは変換してから、ダウンストリームサービスに到達します。 この場所は、クライアントがサーバーサイドの内部IDにマッピングする不透明なセッショントークンのみを持っている場合に便利です。
id値が空の文字列、nullまたはundefinedに解決される場合、identityMapに名前空間を含めないでください。 空のidを送信すると、壊れたID レコードが作成されます。 ペイロードを構築する前に、チェックを行って実装を監視します。authenticatedState authenticated-state
authenticatedState フィールドは、特定のIDにどの程度の信頼度を割り当てるかをダウンストリームサービスに伝えます。 このフィールドには次の値が有効です。
authenticatedloggedOutambiguousauthenticatedState値は、Adobe Experience Platform Identity ServiceがID グラフを構築および結合する方法に影響します。 確認されていないIDにauthenticatedを送信すると、取り消しにくい不正なクロスデバイスリンクが作成される可能性があります。primary primary-identity
identityMap ペイロードごとに、primary: trueとしてマークされたIDを1つだけ持つ必要があります。 プライマリ IDは、Experience Platformでイベントのアンカーとして使用されるIDを決定します。
プライマリ IDを設定する場合は、次のガイドラインに従ってください。
- 個人レベルのIDが使用可能な場合 (訪問者がログインしている場合)、個人レベルの名前空間をプライマリとして、ECIDを非プライマリとしてマークします。 これにより、Experience Platformは、デバイスではなく個人にイベントを固定するように指示されます。
- デバイスレベルのIDのみが使用可能な場合 (訪問者が匿名の場合)、ECIDがプライマリ IDとして自動的に使用されます。
identityMapにECIDを含める必要はありません。Edge Networkが自動的に追加します。
{
"identityMap": {
"CRMID": [
{
"id": "abc-123-xyz",
"authenticatedState": "authenticated",
"primary": true
}
],
"Email": [
{
"id": "user@example.com",
"authenticatedState": "authenticated",
"primary": false
}
]
}
}
実装でのIDMapの送信 send-identity
identityMap呼び出しのxdm オブジェクトにsendEventを渡します。
| code language-js |
|---|
|
タグ UIでID ペイロードを構築するには、ID マップ データ要素タイプを使用します。
-
Adobe Experience Platform Web SDK拡張機能とIdentity map データ要素タイプを使用してデータ要素を作成します。
-
名前空間、識別子に解決するデータ要素または値、および認証状態を指定して、IDを追加します。
-
1つのIDをプライマリとしてマークします。
-
このデータ要素は、Send eventの下のIdentity map アクションで参照してください。
一般的なシナリオ common-scenarios
訪問者がログインしたら、個人レベルのIDをauthenticatedState: "authenticated"とprimary: trueで送信します。 このIDは、認証後の最初のイベントおよびセッション内のその後のすべてのイベントに含めます。
| code language-json |
|---|
|
訪問者がログアウトしたら、同じIDを維持しながらauthenticatedStateをloggedOutに更新します。 これにより、デバイスとユーザーとの関連付けが保持され、セッションがアクティブでなくなったことを示します。
| code language-json |
|---|
|
ログアウト後、ECIDは有効なプライマリ IDに戻ります(Edge Networkでは自動的に適用されます)。 訪問者が別のアカウントでログインしない限り、別の個人レベル IDをプライマリとしてマークしないでください。
| note important |
|---|
| IMPORTANT |
ログアウト後にIDの送信を完全に停止しないでください。 authenticatedからloggedOutに切り替えると、セッションが終了したことをダウンストリームサービスに伝えます。 識別子を完全に省略すると、ID グラフにギャップが残り、プロファイルが断片化する可能性があります。 |
同じイベントで複数のID名前空間を送信できます。 このシナリオは、訪問者がログインしており、複数の識別子(CRM ID、ハッシュ化された電子メール、ロイヤルティ IDなど)が使用可能な場合に一般的です。 すべての既知のIDを含め、1つのみをプライマリとしてマークし、他のIDをprimary: falseに設定します。
| code language-json |
|---|
|
| note tip |
|---|
| TIP |
同じイベントで同じauthenticatedStateを持つ複数の名前空間を送信すると、ID サービスは、これらのIDをリンクするための最も強力なシグナルを提供します。 利用可能なすべての識別子を、別々のイベントに分散させるのではなく、認証の時点で含めます。 |
identityMapを送信する必要はありません。 Edge NetworkはECIDを自動的に割り当て、プライマリ IDとして使用します。 ファーストパーティデバイス IDを使用する場合、匿名の訪問者に含める必要があるIDはFPIDのみです。identityMapがID グラフに与える影響 identity-graph
Experience Platformに到達するidentityMap個のペイロードはID サービス によって処理され、送信したIDがID グラフ にリンクされます。 どの名前空間を含めるか、どのようにauthenticatedStateを設定するか、そしてどのIDをprimaryとしてマークするかは、Identity Serviceがそれらのグラフを構築および結合する方法を直接形作ります。
注意すべき主な行動:
- 同じイベントで送信された IDはリンクされています。 同じ
sendEvent呼び出しにCRMIDとメール名前空間を含める場合、ID サービスはこれらの2つのID間のリンクを作成します。 識別子を別々のイベントに分散させると、リンクが弱くなり、グラフが断片化する可能性があります。 primaryIDは、リアルタイム顧客プロファイルでイベントを固定します。 プロファイルは、プライマリ IDを使用して、イベントがどのプロファイルに属しているかを判断します。 誤ったIDをプライマリとしてマークする(例えば、個人レベル IDが使用可能な場合にECIDをプライマリとして設定する)と、個人レベルのプロファイルではなく、デバイスレベルのプロファイルに対してイベントが保存される可能性があります。authenticatedStateはグラフの信頼性に影響します。実際に確認されていないIDに対してauthenticatedを送信すると、取り消しにくい不正なクロスデバイスリンクが作成される可能性があります。 訪問者が現在のセッション中に積極的にIDを証明した場合にのみauthenticatedを使用します。
実装でID グラフ リンク ルール (名前空間の優先順位やID最適化アルゴリズムなど)を使用している場合は、実装ガイド を参照して、これらのルールがidentityMapを通じて送信するIDとどのように相互作用するかを理解してください。
identityMapは、Web SDKが訪問者の同意状態によってゲートされるEdge Networkにリクエストを行った場合にのみ送信されます。 実装でdefaultConsent: "pending"を使用している場合、同意が付与されるまでIDは送信されません。 詳しくは、同意とIDを参照してください。