Adobe Analytics

Adobe WebSDK FPIDでECIDの復元を検証

こんにちは、野田です

昨今、Safari ITPの影響でクライアント発行のCookieの寿命が短くなる中、ユーザーを安定して識別しづらい状況になっています
この課題を解決するため、サーバーサイド発行のクッキーを使うケースが増えています
今回は、Adobe Analytics WebSDKにて、サーバーサイド発行のクッキーを使い、ユーザー識別子であるECIDを復元する様子を詳細に検証していきます


どんな仕様かざっくり

  • ユーザーの識別は基本的にcookieで管理している
  • クライアントサイド(JavaScript)発行のcookieでは、寿命が短い(=ユーザー識別子:ECIDはここに該当)
  • サーバーサイド発行cookieは、寿命が長い
  • 先にいなくなるユーザー識別子用のcookieをサーバーサイドクッキーで復元してユーザーを安定的に識別する


登場人物

AMCV_{組織ID}@AdobeOrg : cookieECIDやその他情報を保持
kndctr_{組織ID}_AdobeOrg_identity : cookieECIDやその他情報を暗号化して保持
fpid : cookieサーバーサイドで発行(名称は任意)
ECIDユーザー識別子
IdentityMapEdge Network(WebSDK)にfpidを送信する機能


ECIDが変わるタイミングの検証

↑ 現在のクッキー

// ECID確認用
(await alloy('getIdentity')).identity.ECID

↑ 現在のECIDを確認

手動でAMCV_クッキーを削除して、更新します

↑ AMCV_クッキー削除

画面を更新します

↑ 更新後のクッキー

↑ コード確認

手動でkndcr_削除して、更新します

↑ kndctr_クッキー削除

画面を更新します

↑ 更新後のクッキー

↑ コード確認

手動でAMCV_、kndcr_削除して、更新します

↑ AMCV_, kndctr_クッキー削除

※ kndctr_{組織ID}_AdobeOrg_clusterは、Adobe Edge Networkのリージョン情報のため、ECIDとは関係ありません

各種cookieについての参考URL:
https://experienceleague.adobe.com/ja/docs/core-services/interface/data-collection/cookies/web-sdk

↑ 更新後のクッキー

↑ コード確認

これで2つのクッキーがECIDを構成する上で必要なことがわかりました
次は、「今のECIDがある」状態からサードパーティクッキーを発行してFPIDをIdentityMapに設定します


すでにECIDがある状態でfpid発行

この段落が最重要です!

↑ 現在のコードを再確認
ECID: 71759742233093926852486172409537972541

fpidクッキーを発行して、画面を更新します

↑ fpidクッキーがあることを確認

↑ fpidクッキーと同じ値(4ae1f28c-2719-4ebe-87f9-5dc15f8f41bf)をWebSDKの送信データに設定し送信していることを確認

※ サーバーサイドから発行されたクッキー名(今回はfpid)は任意ですが、identityMapで送信するための名前空間は「FPID」と全て大文字である必要があります

では、ここでECIDを構成する2つのクッキーを削除して更新します
identityMapにもFPIDが設定されるのでECIDを復元できそうです

↑ ECIDに必要な2つのクッキーを削除、fpidは存在している状態

画面を更新します

↑ 更新後のクッキー

気づいている方もいるかもですが、ECID=AMCV_クッキーのMCMIDだったりします

↑ コードでも確認

先ほどの数値と違う(先頭7なのでぱっと見で勘違いしそう)
更新前ECID: 71759742233093926852486172409537972541
更新後ECID: 75020280887124336220211987196775701845

FPIDでのECID復元がうまくいきませんでした
再度、ECID系クッキーを削除します(ネタバレ:復元します)

FPIDがある状態でECIDを発行

もう一度、ECIDを削除します

↑ fpidクッキーのみ残し

画面を更新します

↑ 更新後のクッキー

おお、MCMIDが同じそう

↑ コードでも確認

更新前ECID: 75020280887124336220211987196775701845
更新後ECID: 75020280887124336220211987196775701845

FPIDからECIDの復元を確認できました
次は、FPID, ECIDを削除して動作を確認します


FPID, ECID削除

では、fpid, AMCV_, kndctr_クッキーを削除します

ここでの観点は、FPID, ECIDを新たに発行後に、ECIDをFPIDで復元できるかを検証します

↑ 全消し

画面を更新します

↑ 更新後のクッキー

コードでの確認割愛します
ECID: 34180933153157445047597657547883793036

次にfpidクッキーのみ残しで更新します

↑ ECID系クッキー削除

画面を更新します

↑ 更新後のクッキー

ECID: 34180933153157445047597657547883793036
FPIDでまたもや復元が成功しています

まとめ

簡単に整理します
①ECIDが発行された後にFPIDが発行される=FPIDによる復元はできない
②FPIDはあるが、ECIDがないところからECIDが発行される=FPIDによる復元ができる
③FPID、ECIDが同時?=FPIDによる復元ができる

③を補足すると、以下の順でFPID, ECIDが生成、使用されています

  1. サイトにアクセス
  2. サーバーからHTMLを返却(サーバーサイドクッキー:fpidとともに)
  3. クライアント側でfpidをidentityMapで送信
  4. fpidがある状態で新たにECIDが発行される
    → つまり、FPIDがある状態でECIDが発行される

③は、内部的には②と同じ動きをしています

この記事を読んだ後に以下の公式ドキュメントを読むとより理解が深まると思います
※ 特に2回目の訪問 → 3回目の訪問が①のケースに該当します
https://experienceleague.adobe.com/ja/docs/experience-platform/web-sdk/identity/first-party-device-ids#migrating-to-fpid

dbt Projects on Snowflakeで作成したプロジェクトのdocsを見る方法前のページ

ピックアップ記事

  1. 最速で理解したい人のためのIT用語集

関連記事

  1. Adobe Analytics

    BigQuery: Adobe Datafeed: event_listカラムの手軽な扱い方

    こんにちは、エクスチュアの權泳東(権泳東/コン・ヨンドン)です。…

  2. Adobe Analytics

    リアルタイムとは-Adobe Analyticsの指標説明

    今回はリアルタイムについて説明いたします。リアルタイムとはタイムラ…

  3. Adobe Analytics

    訪問別滞在時間とは-Adobe Analyticsの指標説明

    こんにちは。インターン生の市川です。今回は訪問別滞在時間について説明…

  4. Adobe Analytics

    adobe analytics Report Builder

    こんにちは!今回はreport builderを使って、エクセルにaa…

  5. Adobe Analytics

    Adobe Analytics: BigQueryでパーティシペーション指標を集計するSQL

    こんにちは、エクスチュアの權泳東(権泳東/コン・ヨンドン)です。…

  6. Adobe Analytics

    Adobe Analytics: DatafeedのログからパスフローレポートをBigQueryで作…

    こんにちは、エクスチュアの權泳東(権泳東/コン・ヨンドン)です。…

カテゴリ
最近の記事
  1. Adobe WebSDK FPIDでECIDの復元を検証
  2. dbt Projects on Snowflakeで作成した…
  3. Dataformでtype:’increment…
  4. dbt Projects on SnowflakeをTASK…
  5. AWS発のAIエージェントIDE「Kiro」を使用した仕様駆…
  1. Tableau

    【学生向け】TableauのアカデミックプログラムでTableauが無料で使える…
  2. Linux

    Linux Tips: コマンドラインでJSONをCSVに変換する
  3. IT用語集

    ファーストパーティー、セカンドパーティー、サードパーティデータって何?
  4. Tableau

    TableauでTreasure Data上のデータへ接続する方法(2019/1…
  5. Adobe Analytics

    Adobe Summit 2020レポート: Customer Journey …
PAGE TOP