Experience Platform オーディエンスの取り込みと使用

このユースケースでは、Experience Platform オーディエンスをCustomer Journey Analyticsに取り込むための暫定的なソリューションについて説明します。 これらのオーディエンスは、Experience Platform セグメントビルダー、Adobe Audience Managerなどのツールで作成され、リアルタイム顧客プロファイルに保存されます。 オーディエンスは、一連のプロファイル IDと、該当する属性、イベントなどで構成されます。 そのオーディエンスデータをCustomer Journey Analyticsに取り込んで詳しく分析する必要があります。

前提条件

手順

暫定的なソリューションには、次の手順が含まれます。

オーディエンスを選択

まず、Customer Journey Analyticsに取り込むオーディエンスを特定します。

オーディエンスの特定

Experience Platform UI の場合:

  1. Customer > SegmentAudience Audiences​を選択します。

  2. 参照​を選択し、Customer Journey Analyticsで取り込んで使用するオーディエンスを検索します。 後で使用するために、各オーディエンスの​ オーディエンス ID ​を書き留めます。

    オーディエンス

プロファイル対応データセットの作成

コアベースの​XDM個人プロファイル スキーマに基づいてデータセットを作成する必要があります。 Experience Platform UIでデータセットを作成する際に、そのコアベースのXDM個人プロファイルをスキーマとして選択することはできません。 代わりに、Catalog Service APIを使用して、_xdm.context.profile__union スキーマに基づいてデータセット ​を作成します。

データセット作成リクエスト

リクエスト

code language-shell
curl -X POST \
  'https://platform.adobe.io/data/foundation/catalog/dataSets?requestDataSource=true' \
  -H 'Authorization: Bearer {ACCESS_TOKEN}' \
  -H 'Content-Type: application/json' \
  -H 'x-api-key: {API_KEY}' \
  -H 'x-gw-ims-org-id: {ORG_ID}' \
  -H 'x-sandbox-name: {SANDBOX_NAME}' \
  -d '{
   "name": "{DATASET_NAME}",
   "schemaRef": {
      "id": "_xdm.context.profile__union",
      "contentType": "application/vnd.adobe.xed+json;version=1"
   },
   "fileDescription": {
      "persistet": true,
      "containerFormat": "parquet",
      "format": "parquet"
   }
}'

ここで:

  • DATASET_NAMEはデータセットのわかりやすい名前です。 例:Segment Export Job Dataset for CJA

応答

code language-json
["@/dataSets/{DATASET_ID}"]

ここで:

  • DATASET_IDは、作成されたデータセットのデータセット IDです。

オーディエンスの書き出し

選択したオーディエンスを、作成したデータセットに書き出します。 ​ セグメント化サービス APIを使用して、オーディエンスをデータセットに送信する書き出しジョブ ​を作成します。

ジョブリクエストをエクスポート
code language-shell
curl -X POST https://platform.adobe.io/data/core/ups/export/jobs \
 -H 'Authorization: Bearer {ACCESS_TOKEN}' \
 -H 'Content-Type: application/json' \
 -H 'x-gw-ims-org-id: {ORG_ID}' \
 -H 'x-api-key: {API_KEY}' \
 -H 'x-sandbox-name: {SANDBOX_NAME}' \
 -d '{
    "fields": "{COMMA_SEPARATED_LIST_OF_FULLY_QUALIFIED_FIELD_NAMES}",
    "filter": {
        "segments": [
            {
                "segmentId": "{AUDIENCE_ID_1}",
                "segmentNs": "ups",
                "status": [
                    "realized"
                ],
                "segmentId": "{AUDIENCE_ID_2}",
                "segmentNs": "ups",
                "status": [
                    "realized"
                ],
                "segmentId": "{AUDIENCE_ID_3}",
                "segmentNs": "ups",
                "status": [
                    "realized"
                ]
             }
        ]
    },
    "destination":{
        "datasetId": "{DATASET_ID}",
        "segmentPerBatch": false
    },
    "schema":{
        "name": "_xdm.context.profile"
    }
}'

ここで、

  • COMMA_SEPARATED_LIST_OF_FULLY_QUALIFIED_FIELD_NAMES_demoemea.identification.core.ecid, _demoemea.identification.core.email, _demoemea.identification.core.phoneNumber, person.gender, person.name.firstName, person.name.lastNameのようになります。 少なくとも、顧客ジャーニー分析で使用する関連フィールド(personID (電子メールなど)を含めてください。
  • AUDIENCE_ID_xは、書き出すオーディエンスのオーディエンス IDです。
  • DATASET_IDは、作成したデータセットです。

応答

code language-json
{
  "..."
  "id": "{EXPORT_JOB_ID}",
  "..."
}

ここで、

  • EXPORT_JOB_IDは書き出しジョブの識別子です。

​ セグメント化サービス APIを使用して、書き出しジョブ ​のステータスを確認します。

特定の書き出しジョブリクエストの取得

リクエスト

code language-shell
curl -X GET https://platform.adobe.io/data/core/ups/export/jobs/{EXPORT_JOB_ID} \
 -H 'Authorization: Bearer {ACCESS_TOKEN}' \
 -H 'x-gw-ims-org-id: {ORG_ID}' \
 -H 'x-api-key: {API_KEY}' \
 -H 'x-sandbox-name: {SANDBOX_NAME}'

応答

code language-json
{
  "..."
  "id": "{EXPORT_JOB_ID}",
  "..."
  "status": "SUCCEEDED",
  "..."
}

書き出しジョブが成功したら、データセットに正常に取り込まれたバッチが含まれているかどうかを確認します。

取り込みステータスの確認

Experience Platform UI の場合:

  1. データ管理 > ​ データ ​ データセット​を選択します。

  2. 作成したデータセットを選択します。例:CJA用のセグメント書き出しジョブデータセット

    データセットアクティビティ

  3. 取り込んだバッチを確認します。 データセットに失敗したバッチが含まれる場合は、データ管理 > 監視 監視​を使用して、その理由を確認します。 例えば、スキーマに存在しないフィールド名を使用しました。

  4. データセットの​ テーブル名 ​をコピーします。 例:segment_export_job_dataset_for_cja。 次の手順でその名前を使用します。

出力を変換する

データセット内のデータがCustomer Journey Analyticsの正しいフォーマットではありません。 データを変換するには、Experience Platform クエリサービスを使用してデータを取得します。

書き出されたオーディエンスデータを取得するためのSQL

Experience Platform Query Serviceに接続するPSQL クライアントを使用します。

Experience Platform UI の場合:

  1. データ管理 > ​ データ検索 クエリ​を選択します。
  2. AddCircle 資格情報​を選択します。

Customer Journey Analytics Query Serviceに接続するようにPSQL クライアントを設定するには、資格情報を使用します。

クエリ

このクエリを実行して、データセットからオーディエンスデータを取得します。

code language-sql
SELECT ROW_NUMBER() OVER (ORDER BY key)::text as _id, personID, key as audienceMembershipId
FROM (
   SELECT {IDENTITY_TO_USE_AS_PERSON_ID} AS personID, explode(segmentMembership.ups)
   FROM {DATASET_TABLE_NAME}
)
WHERE value.status = 'realized' AND (key = '{AUDIENCE_ID_1}' OR key = 'AUDIENCE_ID_2' OR key = 'AUDIENCE_ID_3')

ここで:

  • IDENTITY_TO_USE_AS_PERSON_IDは、書き出しジョブの一部として定義したフィールドの1つです。 例:_demoemea.identification.core.email
  • DATASET_TABLE_NAMEはデータセットのテーブル名です。
  • AUDIENCE_ID_xは、書き出しジョブの一部として定義したオーディエンスです。 書き出しジョブの仕様が行レベルのフィルターであるため、これらのオーディエンスをもう一度指定する必要があります。 この行レベルのフィルターは、指定されたセグメントのプロファイルを、各プロファイルのすべてのセグメントメンバーシップとともに返します。

結果

JSON形式のクエリの結果は、次のようになります。

code language-json
[
   {
      "_id": "1",
      "personID": "{PERSON_ID_x}",
      "audienceMembershipId": "{AUDIENCE_ID_x}"
   },
   {
      "_id": "2",
      "personID": "PERSON_ID_y",
      "audienceMembershipId": "{AUDIENCE_ID_x}"
   }

]

ここで:

  • PERSON_ID_xは、ユーザーIDとして使用する識別子の識別子の値です。 例えば、電子メールを使用する場合はjohn.doe@gmail.comです。
  • AUDIENCE_ID_xはオーディエンス IDです。

このJSON データを変換して、環境のテナント名を追加し、オーディエンスにより使いやすい名前を指定する必要があります。

JSONを変換

最終的なJSONは次のようになります。

code language-json
[
   {
      "_id": "1",
      "personID": "{PERSON_ID_x}",
      "{TENANT_NAME}": {
         "audienceMembershipId": "{AUDIENCE_ID_x}",
         "audienceMembershipName": "{AUDIENCE_FRIENDLY_NAME_x}"
      }
  },
  {
      "_id": "2",
      "personID": "{PERSON_ID_y}",
      "{TENANT_NAME}": {
         "audienceMembershipId": "{AUDIENCE_ID_y}",
         "audienceMembershipName": "{AUDIENCE_FRIENDLY_NAME_y}"
      }
    }
  }

]

ここで:

  • TENANT_NAMEはテナントの名前です。 例:_demoemea
  • PERSON_ID_xは、ユーザーIDとして使用する識別子の識別子の値です。 例えば、電子メールを使用する場合はjohn.doe@gmail.comです。
  • AUDIENCE_ID_xはオーディエンス IDです。
  • AUDIENCE_FRIENDLY_NAME_xは、オーディエンス idのわかりやすいオーディエンス名です。 例:Luma - Blue+ Members

お気に入りのツールを使用して、元のJSONをこの形式に変換します。

スキーマとデータセットの作成

変換されたJSONをCustomer Journey Analyticsで書き出されたオーディエンスデータとして使用するには、専用のスキーマを作成する必要があります。

スキーマを作成

スキーマを作成するには:

Experience Platform UI の場合:

  1. データ管理 > ​ スキーマ ​ スキーマ​を選択します。

  2. AddCircle スキーマの作成​を選択します。 ドロップダウンメニューから「Standard」を選択します。

  3. スキーマを作成」ダイアログで「手動」を選択し、選択」を使用して続行します。

  4. スキーマを作成 ウィザードの​ クラスを選択 ​手順で次の操作を行います。

    1. 個人プロファイル​を選択します。
    2. 次へ」を選択します。
  5. スキーマを作成 ウィザードの​ 名前とレビュー ​手順で:

    1. スキーマの表示名​を入力します。 例:Audience Export for CJA Schema
    2. (オプション) 説明​を入力します。
    3. 完了」を選択します。
  6. audienceMembershipId​と​ audienceMembershipName ​という2つのフィールドを含むカスタムフィールドグループ(例えば、Audience Membership​という名前)を含むようにスキーマを設定します。

  7. personID フィールドが​IDプライマリ ID​であり、Email​がI​ ID名前空間であることを確認し ​す。

    書き出し用セグメント ​

  8. すべての変更を​ 適用 ​します。 「保存」を選択してスキーマを保存します。

データセットを作成し、そのデータセットを使用して、変換されたJSON データを取り込みます。

データセットの作成とデータの取り込み

Experience Platform UI の場合:

  1. データ管理 > ​ データ ​ データセット​を選択します。

  2. AddCircle データセットを作成​を選択します。

  3. スキーマからデータセットを作成」をクリックします。

  4. スキーマからデータセットを作成 ウィザードで、スキーマを選択​手順で次の操作を行います。

    1. 作成したスキーマを選択します。 例:CJA スキーマのオーディエンス書き出し
    2. 次へ」を選択します。
  5. スキーマからデータセットを作成 ウィザードで、データセットを設定​手順で次の操作を行います。

    1. データセットの​ 名前 ​を入力します。
    2. (オプション)データセットの​ 説明 ​を入力します。
    3. 完了」を選択します。
  6. データセット データセット > データセット ​名で、変換されたJSON データファイルをドラッグし、ファイルを​ファイルにドロップします。 このアクションは、書き出されたJSON データのデータセットへの取り込みを開始します。

  7. 取り込んだバッチを確認します。 データセットに失敗したバッチが含まれる場合は、データ管理 > 監視 監視​を使用して、その理由を確認します。 例えば、スキーマに存在しないフィールド名をJSONで定義したとします。

接続の追加または編集

Experience Platformからのオーディエンスデータを含む、変換されたJSON データが正常に取り込まれたら、Customer Journey Analyticsの新規または既存の接続にデータセットを追加できます。

接続にデータセットを追加

Customer Journey Analytics UIの場合:

  1. データ管理 > 接続​を選択します。

  2. 新しい接続を作成/接続設定​および​ データ設定 ​を定義します。 または、既存の接続を選択し、 編集 接続の編集​を使用して接続を編集します。

  3. DataAdd データセットを追加​を選択します。

  4. 作成したデータセットと、変換されたJSON データを取り込んだデータセットを選択します。

  5. データセットを設定します。 次に例を示します。

    接続 – オーディエンスデータを書き出したデータセット ​

  6. 接続を​ 保存 ​します。

データビューの設定

作成または編集したばかりの接続のデータビューを設定します。

オーディエンスコンポーネントの定義
  1. データ管理 > データビュー​を選択します。

  2. 既存のデータビューを編集するか、新しいデータビューを作成します。

  3. データビューの「コンポーネント」タブで、オーディエンスメンバーシップ Id​と​ オーディエンスメンバーシップ名 ​がディメンションコンポーネントとして追加されていることを確認します。

    データ表示コンポーネント

  4. 保存して続行」を選択し、データビューを保存します。

レポートと分析

最後に、Analysis Workspaceを使用して、audienceMembershipIdaudienceMembershipIdNamepersonIDなどのオーディエンスメンバーシップコンポーネントでデータビューを使用する1つ以上のパネルで、Experience Platform オーディエンスデータについてレポートします。

追加情報

  • Customer Journey Analytics内でオーディエンスデータが常に更新されるように、このプロセスを定期的に実行する必要があります。

  • 1つのCustomer Journey Analyticsコネクション内に複数のオーディエンスをインポートできます。 これは、プロセスがさらに複雑になりますが、可能です。 これを機能させるには、前述のプロセスに少し修正を加える必要があります。

    1. RTCP 内のオーディエンスコレクションの目的の各オーディエンスに対して、このプロセスを実行します。
    2. Customer Journey Analyticsでは、プロファイルデータセットの配列/オブジェクト配列をサポートしています。 audienceMembershipIdまたはaudienceMembershipIdName​ オブジェクトの配列を使用することが最適です。
    3. データビューで、audienceMembershipId フィールドの部分文字列変換を使用して、新しいディメンションを作成し、コンマ区切り値の文字列を配列に変換します。 メモ:現在、配列の値は 10 個までという制限があります。
    4. Customer Journey Analytics Workspace内のこの新しいディメンション audienceMembershipIdsについてレポートできるようになりました。
recommendation-more-help
analytics-platform-help-main