使用 BigQuery 檢查個人化資料

Remote Config」個人化功能會記錄personalization_assignment Analytics 事件 (這個事件有助於您 使用 BigQuery 分析個人化事件和相關事件

下列各節說明如何啟用 BigQuery 匯出功能 Analytics 事件、個人化事件的儲存方式,並提供一些 基本查詢。

Firebase 啟用 Google AnalyticsBigQuery 匯出功能

如果您使用的是 Spark 方案,則可以使用 BigQuery 沙箱,以便: 免付費使用「BigQuery」,須遵守 沙箱限制。 詳情請見 定價與 BigQuery 沙箱 瞭解詳情

首先,請確認您將 Analytics 資料匯出至 BigQuery

  1. 開啟 「Integrations」分頁 您可以透過 存取 > Firebase 控制台中的「專案設定」
  2. 已使用其他 Firebase 服務使用 BigQuery: 按一下「管理」。否則請按一下「連結」
  3. 查看「關於將 Firebase 連結至 BigQuery,然後按一下「下一步」
  4. 在「設定整合」部分中,啟用「Google Analytics」切換按鈕。
  5. 選取區域並選擇匯出設定。

  6. 按一下「連結至 BigQuery

視您選擇的資料匯出方式而定,表格可能需要最多一天的時間才能使用。如要進一步瞭解如何將專案資料匯出至 BigQuery,請參閱 將專案資料匯出至 BigQuery

接下來,我們要存取並檢查「BigQuery」中的個人化事件。

使用 BigQuery 存取「Remote Config」個人化資料

如要查詢實驗的數據分析資料:

  1. BigQuery Google Cloud 控制台。您也可以直接透過 Analytics 事件頁面底部的「BigQuery 中查看原始事件」連結,開啟這份報表。
  2. 選取並展開 Firebase 專案,然後展開 analytics_ANALYTICS_PROPERTY_ID 然後按一下 events_

    在 Cloud 控制台中存取個人化事件

  3. 在「Query」下拉式選單中,選取「In new tab」

    系統會顯示自動產生的查詢範例。

  4. 如要查看個人化事件和相關資料,請將查詢更新為: 請選取 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_*)。不過,不建議在非測試情境或大型資料集中使用這項功能。

  5. 在查詢撰寫器中選取「執行查詢」。結果會顯示在下方 窗格。

在下一節中,我們會進一步說明個人化指派事件的內容。

哪些個人化資料會匯出至「BigQuery」?

個人化資料會納入 BigQuery 中的 Google Analytics 資料表,並儲存在 personalization_assignment 事件中。

個人化事件中提供的基本欄位與任何 Analytics事件 (原述方式所述) [GA4] BigQuery 匯出架構。 您主要會關心 user_pseudo_id i (可用於區分不同使用者)、事件時間戳記和其他使用者屬性。

個人化相關詳細資料會儲存在 event_params 欄位中, 如下表所述:

參數 資料類型 說明
個人化 ID STRING 提供指派的個人化全域專屬 ID (UUID)。
群組 STRING 指出是否已將使用者指派給個人化群組 (P13N) 或基準 (BASELINE) 群組。
arm_index INTEGER 代表指派給使用者的替代值,以整數 介於 0 到 4 之間。
arm_key 字串 包含個人化功能所使用的參數名稱。
arm_value 字串 包含個人化指派的替代值字串。
engaged_session_event INTEGER 包括使用者參與的工作階段數量。詳情請參閱「關於工作階段」。
firebase_event_origin STRING 指出事件來源。對於 personalization_assignment 事件,這個值一律會是 fp
firebase_screen_class 字串 提供使用者處於活躍狀態的畫面類別名稱 個人化作業的指派。詳情請參閱「自動收集的事件」。
firebase_screen_id INTEGER 顯示個人化指派發生時,使用者所在畫面的 ID。詳情請見 自動 「收集事件」報表
first_open_time STRING 提供使用者初次開啟應用程式的時間戳記,以世界標準時間的毫秒為單位。詳情請參閱「自動收集的事件」。
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