分析の指標を BigQuery にエクスポートする

このページでは、小売業向け Vertex AI Search の分析指標を BigQuery にエクスポートする方法について説明します。分析指標をエクスポートすると、指標を保持し、独自の分析用の SQL を記述できます。

小売業向け Vertex AI Search の分析指標は自動的に生成されます。 分析指標を使用して小売業向け Vertex AI Search のビジネスへの影響を測定する方法については、分析を表示をご覧ください。

BigQuery に指標データをエクスポートする場合、次の制限があります。

  • 小売業向け Vertex AI Search プロジェクトの BigQuery テーブルにエクスポートされるデータは、マテリアライズド ビューではなく、承認済みビューです。

  • これらのテーブルのデータの変更や更新はできません。データを変更または更新する必要がある場合は、ビューをエクスポートまたは別の宛先にコピーします。

  • 180 日以上経過したユーザー イベントの指標、または 180 日以上前に生成された指標はエクスポートできません。180 日が経過する前に生成された指標は取得できません。

始める前に

指標を BigQuery にエクスポートする前に、始める前にの手順を完了する必要があります。これには、ユーザー イベントと、必要に応じてカタログ情報のインポートが含まれます。

インポートの詳細については、以下をご覧ください。

BigQuery でデータセットを作成する

分析指標データを保持するには、BigQuery にデータセットを作成する必要があります。

小売業向け Vertex AI Search を実装したプロジェクトと同じプロジェクト内にデータセットを作成する必要があります。

  1. プロジェクトで BigQuery を使用したことがない場合は、BigQuery API を有効にし、データセットとテーブルを作成できる IAM ロールがあることを確認します。

    BigQuery ドキュメントの、始める前にIAM によるアクセス制御

    をご覧ください。

  2. BigQuery で米国(米国の複数のリージョン)のマルチリージョンのデータセットを作成します。たとえば、retail_data という名前を付けます。別のリージョンにデータセットを作成すると、BigQuery へのデータのエクスポートは失敗します。 データセットの CMEK はサポートされていません。有効にすると、エクスポートが失敗します。

    データセットの作成方法については、BigQuery ドキュメントのデータセットの作成をご覧ください。

    このデータセットは、エクスポートするデータテーブルを保持するために使用されます。次の手順では、エクスポートする方法について説明します。

分析指標を BigQuery テーブルにエクスポートする

exportAnalyticsMetrics メソッドを使用して、Retail カタログを BigQuery テーブルにエクスポートします。

リクエストのデータを使用する前に、次のように置き換えます。

  • PROJECT_ID: BigQuery データセットを作成した小売業向け Vertex AI Search API プロジェクトの ID。
  • DATASET_ID: BigQuery でデータセットを作成するで作成したデータセットの名前。たとえば、retail_data または retail_metrics_data を使用します。
  • TABLE_ID_PREFIX: テーブル ID の接頭辞。この接頭辞は空の文字列にできません。テーブル名を補完するために、接尾辞 retail_analytics_metrics が追加されます。たとえば、接頭辞が test の場合、テーブルの名前は test_retail_analytics_metrics です。

JSON 本文のリクエスト:

{
  "catalog": "projects/PROJECT_ID/locations/global/catalogs/default_catalog",
  "outputConfig":
  {
    "bigqueryDestination":
    {
      "datasetId": "DATASET_ID",
        "tableIdPrefix": "TABLE_ID_PREFIX",
        "tableType": "view"
    }
  }
}

リクエストを送信するには、次のいずれかのオプションを展開します。

次のような JSON レスポンスが返されます。

{
  "name": "projects/PROJECT_NUMBER/locations/global/catalogs/default_catalog/operations/12310973052792775280",
  "done": true,
  "response": {
    "@type": "type.googleapis.com/google.cloud.retail.v2.ExportAnalyticsMetricsResponse",
    "outputResult": {
      "bigqueryResult": [
        {
          "datasetId": "DATASET_ID",
          "tableId": "TABLE_ID_PREFIX_retail_analytics_metrics"
        }
      ]
    }
  }
}

指標の定義

エクスポートされた指標は、カウント指標です。bot フィルタリングでは指標の計算から一部のイベントを除外する場合があるため、一部のカウント指標ではわずかなブレが生じることがあります。bot フィルタリングは、より正確なパフォーマンス測定値を提供するのに役立ちます。これは A/B テストには影響しません。A/B テストはディメンション external_experiment_ids に依存しますが、bot フィルタリングはすべてのトラフィックに適用されます。

指標のディメンション

カウント指標は、同じディメンションの関連するユーザー イベントから直接集計された未加工のカウントです。指標を解釈するには、指標がどのディメンションに基づいているかを知る必要があります。分析指標の目的上、検索イベントと閲覧イベントはインプレッション イベントと呼ばれ、detail_page_view イベント、add_to_cart イベント、purchase イベントはコンバージョン イベントと呼ばれます。次の表では、指標のディメンションを定義しています。

指標のディメンション 説明
date

指標を生成した関連イベントの日付。

インプレッション指標の場合、これはインプレッション イベントの日付です。

セッション指標とユーザー指標の場合、これはセッション / ユーザーの最初のインプレッション イベントの日付です。

external_experiment_ids

指標を生成した関連イベントのテスト ID。

インプレッション指標の場合、これはインプレッション イベントのテスト ID です。

セッション指標とユーザー指標の場合、セッション / ユーザーに表示されるすべてのインプレッション イベントの固有の外部テスト ID を連結したものです。たとえば、セッション / ユーザー内に 2 つの検索イベントがある場合、最初の検索イベントには external_experiment_ids 'test_arm_1,test_arm_2' があり、2 番目の検索イベントには external_experiment_ids 'test_arm_1,test_arm_3' があり、その後セッション / ユーザーの external_experiment_ids は 'test_arm_1,test_arm_2,test_arm_3' です。

device_type

指標を生成した関連イベントのデバイスタイプ(イベントがモバイル デバイスやデスクトップ デバイスから生成された場合など)。

インプレッション指標の場合、これはインプレッション イベントのデバイスタイプです。

セッション指標とユーザー指標では、セッション / ユーザーが複数の異なるデバイスタイプを有する場合は空で、セッション / ユーザー全体で 1 つのデバイスタイプしかない場合はそのデバイスタイプになります。

serving_config

指標を生成した関連イベントのサービス構成。

インプレッション指標の場合、これはインプレッション イベントのサービス構成です。

セッション指標とユーザー指標では、セッション / ユーザーが複数の異なるサービス構成を有する場合は空で、セッション / ユーザー全体で 1 つのサービス構成しかない場合はそのサービス構成になります。

traffic_destination

指標を生成した関連イベントのソース。

インプレッション指標の場合、インプレッションが Google により配信されている場合は「Google」、独自のソリューションにより配信されている場合は「Google 以外」となります。

セッション指標とユーザー指標の場合、セッション / ユーザーがいずれも Google と独自のソリューションの両方によって配信されたインプレッション イベントの場合は「混在」となります。インプレッション イベントが純粋に Google によって配信される場合は「Google」、インプレッション イベントが純粋にセッション / ユーザー全体に対するソリューションから配信される場合は「Google 以外」です。

エンティティ

1 つの商品カタログで複数のブランド サイトや地域にサービスを提供している小売店が使用します。エンティティは通常、ブランドや場所を表します。

インプレッション指標の場合、これはインプレッション イベントのエンティティです。

セッション指標とユーザーの指標の場合、これはセッション / ユーザーのインプレッション イベントの上位 5 つのカウント対象エンティティです。

インプレッション指標

インプレッション指標は前提条件に従って計算されます。コンバージョン イベント(detail_page_view イベント、add_to_cart イベント、purchase イベント)は、次の条件に一致する場合にのみ、インプレッション イベントに帰属させることができます。

  • インプレッション イベントとコンバージョン イベントが同じユーザーである。

  • コンバージョン イベントの商品 ID は、インプレッション イベントの結果に表示される必要があります。

  • コンバージョン イベントは、インプレッション イベントの発生後の、必要な期間内のものです。コンバージョンの期間は、コンバージョン イベントの種類によって異なります。

    コンバージョン経路 コンバージョンの期間
    インプレッション -> 詳細ページ表示 60 秒
    インプレッション -> カートに追加 24 時間
    インプレッション -> 購入 48 時間

検索インプレッション指標

指標名 説明
search_event 検索イベント数
details_page_view_from_search 検索からの詳細ページ表示イベント数
add_to_cart_unit_from_search 検索からの「カートに追加」ユニット数
purchase_unit_from_search 検索からの購入ユニット数
revenue_from_search 検索からの収益
search_event_without_result 結果のない検索イベント数
search_request_personalization_enabled パーソナライズが有効になっている検索リクエストの数
search_request_personalization_result_served パーソナライズされた結果とともに配信された検索リクエストの数

閲覧インプレッション指標

指標名 説明
browse_event 閲覧イベント数
detail_page_view_from_browse 閲覧からの詳細ページ表示イベント数
add_to_cart_unit_from_browse 閲覧からの「カートに追加」ユニット数
purchase_unit_from_browse 閲覧からの購入ユニット数
revenue_from_browse 閲覧からの収益
browse_event_without_result 結果のない閲覧イベント数
browse_request_personalization_enabled パーソナライズが有効になっている閲覧リクエストの数
browse_request_personalization_result_served パーソナライズされた結果とともに配信された閲覧リクエストの数

セッション指標

セッションは、ユーザーとシステム間の連続するインタラクション期間として定義されます。どのユーザー イベントもセッションの開始としてマークされ、次の 30 分間に他のイベントが発生しない場合は、セッションの終了がマークされます。セッションは、開始したセッション内でユーザー イベントが発生するたびに、さらに 30 分延長されます。セッションが終了すると、ユーザーがシステムに再度アクセスしたときに新しいセッションが開始されます。

セッション指標を特徴とするディメンションは、セッション内のすべてのユーザー イベントでまとめて定義されます。セッションにディメンション値を設定する方法については、指標のディメンションをご覧ください。

指標名 説明
session セッション数

検索セッション指標

検索セッションとは、少なくとも 1 つの検索イベントを含むセッションです。検索セッションは、閲覧セッションの指標で定義される閲覧セッションにすることもできます。

指標名 説明
search_session 検索を含むセッション数
search_event_in_search_session 検索セッション内の検索イベント数
browse_event_in_search_session 検索セッション内の閲覧イベント数
detail_page_view_in_search_session 検索セッション内の詳細ページ表示数
add_to_cart_in_search_session 検索セッション内の「カートに追加」イベント数
add_to_cart_unit_in_search_session 検索セッション内の「カートに追加」ユニット数
purchase_order_in_search_session 検索セッション内の注文書数
purchase_unit_in_search_session 検索セッション内の購入ユニット数
revenue_in_search_session 検索セッション内の収益
bounce_count_in_search_session 検索セッション内で 1 ページだけ閲覧した後、サイトを離れたユーザーのセッション数

閲覧セッション指標

閲覧セッションとは、少なくとも 1 つの閲覧イベントを含むセッションです。閲覧セッションは、検索セッション指標で定義されている検索セッションにすることもできます。

指標名 説明
browse_session 閲覧を含むセッション数
search_event_in_browse_session 閲覧セッション内の検索イベント数
browse_event_in_browse_session 閲覧セッション内の閲覧イベント数
detail_page_view_in_browse_session 閲覧セッション内の詳細ページ表示数
add_to_cart_in_browse_session 閲覧セッション内の「カートに追加」イベント数
add_to_cart_unit_in_browse_session 閲覧セッション内の「カートに追加」ユニット数
purchase_order_in_browse_session 閲覧セッション内の注文書数
purchase_unit_in_browse_session 閲覧セッション内の購入ユニット数
revenue_in_browse_session 閲覧セッション内の収益
bounce_count_in_browse_session 閲覧セッション内で 1 ページだけ閲覧した後、サイトを離れたユーザーのセッション数

ユーザー指標

ユーザーは訪問者 ID によって一意に識別されます。ユーザー指標は、ユーザーのすべてのユーザー イベント情報を集計します。

ユーザー指標を特徴とするディメンションは、そのユーザーのすべてのユーザー イベントによってまとめて定義されます。ユーザーにディメンション値を設定する方法については、指標のディメンションをご覧ください。

指標名 説明
ユーザー ユーザー数

検索ユーザー指標

検索ユーザーとは、少なくとも 1 つの検索イベントを行ったユーザーです。検索ユーザーは、閲覧ユーザー指標で定義されているように、閲覧ユーザーにすることもできます。

指標名 説明
search_visitor 検索を 1 回以上行ったユーザー数
search_event_from_search_visitor 検索ユーザーの検索イベント数
browse_event_from_search_visitor 検索ユーザーの閲覧イベント数
detail_page_view_from_search_visitor 検索ユーザーの詳細ページ表示数
add_to_cart_from_search_visitor 検索ユーザーの「カートに追加」イベント数
add_to_cart_unit_from_search_visitor 検索ユーザーの「カートに追加」ユニット数
purchase_order_from_search_visitor 検索ユーザーの注文書数
purchase_unit_from_search_visitor 検索ユーザーの購入ユニット数
revenue_from_search_visitor 検索ユーザーの収益

閲覧ユーザー指標

閲覧ユーザーとは、少なくとも 1 つの閲覧イベントを実行するユーザーです。なお、閲覧ユーザーは、検索ユーザー指標で定義されているように、検索ユーザーにすることもできます。

指標名 説明
browse_visitor 少なくとも 1 回の閲覧を行ったユーザー数
search_event_from_browse_visitor 閲覧ユーザーの検索イベント数
browse_event_from_browse_visitor 閲覧ユーザーの閲覧イベント数
detail_page_view_from_browse_visitor 閲覧ユーザーの詳細ページ表示数
add_to_cart_from_browse_visitor 閲覧ユーザーの「カートに追加」イベント数
add_to_cart_unit_from_browse_visitor 閲覧ユーザーの「カートに追加」ユニット数
purchase_order_from_browse_visitor 閲覧ユーザーの注文書数
purchase_unit_from_browse_visitor 閲覧ユーザーの購入ユニット数
revenue_from_browse_visitor 閲覧ユーザーからの収益

使用例

指標データを別の宛先にコピーまたはエクスポートすると、SQL を使用してエクスポートされた指標の概要や特定の情報を取得できます。次のセクションでは、SQL を使用してエクスポートされた指標を探索する一般的な方法について説明します。

コンピューティング クリック率(CTR)

トラフィックの宛先ごとの 1 デバイスタイプの 1 日あたりの検索のコンピューティング クリック率。

SELECT
  `date`,
  device_type,
  traffic_destination,
  SUM(detail_page_view_from_search) / SUM(search_event) as search_CTR
FROM copied_table
GROUP BY `date`, device_type, traffic_destination

閲覧ドリブンな詳細ページ表示数を取得する

test_arm を含む external_experiment_ids で Google トラフィックの閲覧イベントから発生した詳細ページ表示イベントを取得し、すべてのディメンション情報を表示します。external_experiment_ids は、繰り返される string です。

SELECT
  `date`,
  external_experiment_ids,
  device_type,
  serving_config,
  traffic_destination,
  entity,
  detail_page_view_from_browse
FROM copied_table
WHERE
  traffic_destination = 'Google' AND 'test_arm' in UNNEST(external_experiment_ids)

よく使うサービス構成を取得する

Google トラフィックに対して「2023-10-01」から「2023-11-01」の間に最もよく使用されたサービス構成を取得します。各検索イベントには、サービス構成が関連付けられている必要があります。

SELECT
  serving_config,
  SUM(search_event) as total_search_count
FROM copied_table
WHERE `date` between '2023-10-01' and '2023-11-01' AND traffic_destination = 'Google'
GROUP BY serving_config
ORDER BY total_search_count