Remote Config パーソナライズでは、ユーザーにパーソナライズが割り当てられている場合、personalization_assignment
Analytics イベントがログに記録されます。これにより、BigQuery を使用してパーソナライズ イベントと関連イベントを検査して分析できます。
以下の各セクションでは、Analytics イベントの BigQuery へのエクスポートを有効にする方法と、パーソナライズ イベントの保存方法について説明します。また、最初に使用できる基本的なクエリについても説明します。
Firebase 向け Google Analytics の BigQuery へのエクスポートを有効にする
Spark プランをご利用の場合は、BigQuery サンドボックスを使用して、サンドボックスの制限内で BigQuery に無料でアクセスできます。詳細については、料金と BigQuery サンドボックスをご覧ください。
Analytics データを BigQuery にエクスポートすると、費用の詳細を確認できます。
- [統合] タブを開きます。このタブには、Firebase コンソールで、 > [>] を選択してアクセスできます。
- 他の Firebase サービスですでに BigQuery を使用している場合は、[管理] をクリックします。それ以外の場合は、[リンク] をクリックします。
- [Firebase の BigQuery へのリンクについて] を確認し、[次へ] をクリックします。
- [統合を構成する] セクションで、[Google Analytics] の切り替えボタンをオンにします。
リージョンを選択し、エクスポートの設定を選択します。
[BigQuery へのリンク] をクリックします。
データのエクスポート方法によっては、テーブルが使用可能になるまでに 1 日かかることがあります。BigQuery に対するプロジェクト データのエクスポートの詳細については、プロジェクト データを BigQuery にエクスポートするをご覧ください。
次に、BigQuery でパーソナライズ イベントにアクセスして検査します。
BigQuery を使用して Remote Config のパーソナライズ データにアクセスする
テストの分析データをクエリで取得するには:
- Google Cloud コンソールで BigQuery を開きます。ページ下部にある BigQuery で未加工のイベントを表示するリンクを使用して、Analytics イベントから直接開くこともできます。
Firebase プロジェクトを選択して開き、
analytics_ANALYTICS_PROPERTY_ID
エントリを開いてevents_
をクリックします。[クエリ] プルダウンから、[In a new tab] を選択します。
自動生成されたサンプルクエリが表示されます。
パーソナライズ イベントとその関連データを表示するには、クエリを更新して
personalization_assignment
イベントを選択します。次のサンプルクエリは、特定の日付のシャードに対する完全なパーソナライズ割り当てイベントを返します。結果を 10 個に制限されています。# Select all personalization_assignment events SELECT * FROM `PROJECT_NAME.analytics_ANALYTICS_PROPERTY_ID.events_DATE_SHARD` WHERE event_name = 'personalization_assignment' LIMIT 10
ヒント: シャーディングされたテーブルではなく、すべてのイベント テーブルを検索するには、イベント テーブルの日付をアスタリスクに置き換えます(例:
PROJECT_NAME.analytics_ANALYTICS_PROPERTY_ID.events_*
)。これは、テスト以外のシナリオや大規模なデータセットにはおすすめしません。クエリ コンポーザで [クエリを実行] を選択します。結果が下のペインに表示されます。
次のセクションでは、パーソナライズ割り当てイベントの内容について詳しく説明します。
BigQuery にエクスポートされるパーソナライズ データの概要
パーソナライズ データは、BigQuery の Google Analytics テーブルに含まれ、personalization_assignment
イベントに保存されます。
パーソナライズ イベントで提供される基本フィールドは、[GA4] BigQuery Export スキーマで説明されている Analytics イベントと同じです。重要になるのは、user_pseudo_id
(別のユーザーと区別するために使用)、イベントのタイムスタンプ、その他のユーザー プロパティです。
パーソナライズ固有の詳細は event_params
フィールドに格納されます。詳細を次の表に示します。
パラメータ | データ型 | 説明 |
---|---|---|
personalization_id | STRING | 割り当てられたパーソナライズの Universally Unique Identifier(UUID)。 |
group | STRING | ユーザーがパーソナライズ グループ(P13N)とベースライン グループ(BASELINE)グループのどちらに割り当てられたかを示します。 |
arm_index | INTEGER | ユーザーに割り当てられた代替値(0~4 の整数)。 |
arm_key | STRING | パーソナライズで使用されるパラメータ名。 |
arm_value | STRING | パーソナライズによって割り当てられた代替値の文字列。 |
engaged_session_event | INTEGER | ユーザーが関わったセッションの数。詳しくは、セッションについてをご覧ください。 |
firebase_event_origin | STRING | イベントの起点。personalization_assignment イベントの場合、これは常に fp になります。 |
firebase_screen_class | STRING | パーソナライズ割り当てが行われたときにユーザーがアクティブだった画面のクラス名。詳しくは、自動的に収集されるイベントをご覧ください。 |
firebase_screen_id | INTEGER | パーソナライズ割り当てが行われたときにユーザーが行っていた画面の ID。詳しくは、自動的に収集されるイベントをご覧ください。 |
first_open_time | STRING | ユーザーが初めてアプリを開いたときのタイムスタンプ(UTC ミリ秒単位)。詳しくは、自動的に収集されるイベントをご覧ください。 |
ga_session_id | INTEGER | Google Analytics セッション ID を提供します。詳しくは、セッションについてをご覧ください。これを利用して、personalization_assignment イベントを他の Analytics イベントと関連付けることができます。 |
ga_session_number | INTEGER | Google Analytics セッション番号を提供します。詳しくは、セッションについてをご覧ください。 |
クエリの例
次のような SQL ステートメントを使用して、personalization_assignment
イベントからパーソナライズ固有のパラメータを抽出します。
# Expand nested personalization parameters
SELECT
timestamp_micros(event_timestamp) AS event_time,
user_pseudo_id,
(
SELECT event_params.value.string_value
FROM UNNEST(event_params) event_params
WHERE event_params.key = 'group'
) AS personalization_group,
(
SELECT event_params.value.string_value
FROM UNNEST(event_params) event_params
WHERE event_params.key = 'personalization_id'
) AS personalization_id,
(
SELECT event_params.value.string_value,
FROM UNNEST(event_params) event_params
WHERE event_params.key = 'arm_key'
) AS arm_key,
(
SELECT event_params.value.string_value
FROM UNNEST(event_params) event_params
WHERE event_params.key = 'arm_value'
) AS arm_value,
(
SELECT event_params.value.int_value
FROM UNNEST(event_params) event_params
WHERE event_params.key = 'ga_session_id'
) AS ga_session_id,
FROM `PROJECT_NAME.analytics_ANALYTICS_ACCOUNT_ID.events_DATE_SHARD`
WHERE event_name = 'personalization_assignment'
LIMIT 10