メインコンテンツへスキップ
見出し画像
Photo bykillerskill

【第595回】Personalization:Real-Time Profile Data Graph を作成する

    Nobuyuki Watanabe

    前回の記事では、TrailNest の Customer ID を使用し、Web サイトから取得した匿名の Profile と、CRM の既知 Profile を同じ Unified Individual に関連付ける手順を紹介しました。

    今回は、その統合結果と Web 行動を Salesforce Personalization で利用するために、Real-Time Profile Data Graph を作成します。

    TrailNest では、CRM の顧客情報に加えて、商品閲覧、カートへの追加、購入などを Personalization の判断に利用するための土台を用意します。


    Personalization 基礎シリーズ

    Sitemap Builder シリーズ

    Data 360 設定シリーズ

    Personalization 設定シリーズ


    Profile と Item は分けて作成する

    今回の PoC では、次の 2 つの Data Graph を作成します。

    1. Profile Data Graph

    顧客情報と、その顧客の Web 行動を参照します。今回の Web Personalization では、Real-Time Data Graph を使用します。

    2. Item Data Graph

    Recommendation の候補となる商品情報を参照します。商品名、価格、カテゴリ、画像 URL、商品 URL などを用意し、次回作成します。

    例えば、ある顧客が閲覧した商品 ID は Profile 側の行動データです。一方、おすすめとして表示する商品の画像や商品 URL は Item 側の商品データです。

    これらを分ける理由は、将来的に、その顧客にとって未知の商品をレコメンドしたりするので、プロファイル側に持たせることはできず、どうしても Item Data Graph として分ける必要があるためです。

    それでは、今回は Profile Data Graph の作成に集中します。


    ① Real-Time Data Graph を作成する

    Data 360 の Data Graphs を開きます。

    New → Start from Scratch → Real-Time Data Graph の順に進みます。

    画像

    次の内容を設定します。

    • Data Graph Name:TrailNest Profile

    • Data Space:default

    • Primary Data Model Object:Unified Individual

    画像

    Real-Time Consumption Limits

    続いて、Real-Time Consumption Limits を設定します。

    今回の PoC では、まず画面に表示されるデフォルト設定を使用します。

    • Session End:30 分 — 無操作が 30 分続いたら、現在のリアルタイムセッションを終了する。

    • Disable Record Caching:未チェック — キャッシュを有効にし、最近利用した既知顧客の Profile を再訪問時にも素早く使えるようにする。

    画像

    Web Personalization を本番運用する場合、Session End は、Salesforce が一般的な基準として示す 最終操作から 30 分 を出発点に検討できます。

    Record Caching とは、最近利用した既知の訪問者に対して、再訪問時の最初のページからプロファイルを使った Personalization を行いたいかを基準に判断します。

    これを有効(「Disable Record Caching」を未チェック)にすると、プロファイル情報が「リアルタイム層」に保持され、最初のページから利用しやすくなります。こちらでは Sub-second Real-Time Profiles & Entities の利用枠を消費します。

    一方で無効にした場合、この利用枠は消費されません。ただし、既知の訪問者が最初のページを開いた際に、Data 360 の Lake House 層からプロファイルを取得する必要があり、Personalization がすぐに表示されない可能性があります。

    この利用枠は、請求月ごとのユニークなアクティブ訪問者数 を基準に計測されます。例えば、同じ訪問者が 9 月中に 20 回利用しても、9 月分は 1 人です。10 月にも利用すれば、10 月分でも 1 人として数えます。ページ表示回数やセッション数を合計するものではありません。


    ③ Profile の基本構造を作成する

    Data Graph の編集画面で、各 DMO の横にある追加ボタンから関連オブジェクトを選択します。

    今回の基本構造は、次の順序です。

    • Unified Individual → Unified Link Individual → Individual

    関連をたどる際は、この順序で追加します。候補に複数の経路がある場合も、今回使用する経路を確認します。


    Unified Individual

    • First Name

    • Is Anonymous

    • Last Name


    Unified Link Individual(追加元:Unified Individual)

    • Data Source

    • Data Source Object


    Individual(追加元:Unified Link Individual)

    • First Name

    • Is Anonymous

    • Last Name

    画像
    • Data Graph では、プライマリーキー、関連する Key Qualifier、必要な外部キーに関しては自動選択されます。

    • 今回の Web 側は、氏名を送信していないため、Web 由来の Individual の氏名が空欄となりますが、問題ありません。


    Contact Point Email(追加元:Individual)

    • Email Address


    Party Identification(追加元:Individual)

    • Identification Name

    • Identification Number

    • Party Identification Type

    画像

    ④ Web 行動の DMO を追加する

    続いて、Individual に関連する行動データを追加します。ここで選択するのは、今回の TrailNest で送信・Mapping した値を参照するための項目です。

    Website Engagement(追加元:Individual)

    • Engagement Channel Action

    • Engagement Channel Type

    • Engagement Date Time

    • Page URL

    • Referrer URL

    • Webpage Type

    画像

    今後、Hero Banner の表示・クリックを記録する場合にも、この DMO を利用する予定です。Data Graph に追加するだけで、それらの Event が送信されるわけではありません。


    Product Browse Engagement(追加元:Individual)

    • Engagement Channel Action

    • Engagement Date Time

    • Product

    • Product Price

    商品詳細の表示によって取得した商品閲覧の情報です。今回の例では、Product に TN-BP-001、Product Price に 79000 などが入ります。

    画像

    Product Category は、現在の Sitemap では送信していません。 カテゴリを使った Affinity や条件設定の前に、カテゴリの取得・Mapping と Data Graph への追加を行います。


    Shopping Cart Engagement(追加元:Individual)

    • Engagement Date Time

    • Engagement Type

    • Shopping Cart Event Type

    画像

    今回の Mapping では、cart.interactionName を Shopping Cart Event Type、eventType を Engagement Type に接続しています。この 2 項目で、Add to Cart に対応する親 Event の種類を参照します。


    Shopping Cart Product Engagement(追加元:Shopping Cart Engagement)

    • Engagement Date Time

    • Individual

    • Product

    • Product Price

    • Product Quantity

    商品ごとのカート操作を参照します。Shopping Cart Engagement 参照項目は自動的に選択され、そちらが親 Event Id を指しています。

    画像

    今回の Sitemap は Add to Cart を送信していますが、Cart 上での数量変更や削除までは Event 化していません。そのため、この履歴だけで現在の Cart の内容を完全に再現できるとは扱わず、「カートに追加した行動」として利用します。


    Product Order Engagement(追加元:Individual)

    • Correlation ID(コリレーションと読みます)

    • Engagement Date Time

    • Total Product Amount

    画像

    注文全体の情報を参照します。今回の Mapping では、Correlation ID に TrailNest の注文 ID、Total Product Amount に注文合計 orderTotalValue が入ります。


    Sales Order Product Engagement(追加元:Product Order Engagement)

    ※ この Sales Order Product Engagement は(ProductOrderEngagement)経由のものを選択してください。そうしないと表示されません。

    画像
    • Engagement Date Time

    • Individual

    • Ordered Quantity

    • Product

    • Unit Price Amount

    購入した商品ごとの明細です。Product Order Engagement は自動で追加されます。ProductOrderEngagement には、親 Order Event の eventId が入ります。これは、Cart と Cart Item の関係と同じ構造です。

    画像

    今回の例では、次の 2 件が同じ注文に関連付いています。

    • TN-BP-001:数量 1、単価 79,000

    • TN-BP-005:数量 2、単価 229,000

    今回の Request には totalPrice が含まれていません。 明細合計を使う売上指標や Recommendation を設定する場合は、送信する値の生成と Mapping を別途補います。Data Graph で金額項目を選択するだけでは、単価と数量から明細合計は計算されません。


    Privacy Consent Log(追加元:Individual)

    • Privacy Consent Status

    今回の Tracking の同意ログを参照するために追加します。

    今回の TrailNest は PoC 用に Opt-In を設定しています。ここに同意ログを含めることは、SDK の同意制御を変更する操作ではありません。

    画像

    もし Individual 配下に Privacy Consent Log DMO が表示されない場合は、Privacy Consent Log DMO の 「Individual」項目と、Individual DMO の 「Individual Id」項目を N:1(Many-to-One) のリレーションで紐づけてください。

    画像

    ⑤ Engagement DMO のフィルター設定

    ビルドの前に、すべての Engagement DMO の Filters タブを開き、参照する履歴の範囲を確認します。

    今回の PoC では、以下の設定に変更します。件数のところのみ修正です。

    • 対象期間:直近 7 日間

    • 件数:最新 20 件

    • 日時の基準:Created Date

    画像

    ⑥ 構造を確認して Save and Build

    ここまでで、今回のグラフには次の情報を含めています。

    • 統合個人と、元の Individual との関連

    • 氏名、匿名・既知の区分

    • Email Address と Customer ID

    • ページ閲覧、商品閲覧、カートへの追加

    • 注文と購入商品の明細

    • 同意ログ

    商品マスタは、次回の Item Data Graph で扱います。

    最後に、Save and Build をクリックします。

    画像

    注意:リアルタイムデータグラフには、標準のデータグラフのような更新周期の設定がないので、ボタンを押した瞬間にビルドが開始します。


    いかがでしたでしょうか。

    今回の Real-Time Data Graph は、Customer ID を使って既存の顧客 Profile をリアルタイムで照合し、Personalization で利用するための土台です。

    ただし、Data Graph の構築完了と、リアルタイム ID 解決の動作確認は別です。 グラフを作成しただけで「リアルタイムで CRM の顧客と照合できた」とは判断できません。

    次回は、新しいブラウザで TrailNest を開き、Customer ID を送信します。通常の ID 解決の次回実行を待たずに、既存の CRM 顧客の Profile と照合され、その情報を Real-Time Data Graph で参照できるかを確認します。

    今回は以上です。


    次の記事はこちら

    前回の記事はこちら

    私の note のトップページはこちら

     
     
     
    Salesforce Marketing Cloud、Agentforce、Data Cloud、Salesforce 認定資格に関する実践的な情報を発信しています。これらの記事が、皆さまの学習や日々の業務に少しでもお役に立てば幸いです。