使用 BigQuery 檢查個人化資料

Remote Config 個人化功能會在使用者獲派個人化設定時,記錄 personalization_assignment Analytics 事件,讓您使用 BigQuery 檢查及分析個人化事件和相關事件。

以下各節將說明如何啟用 BigQuery 匯出功能,以匯出 Analytics 事件和訪客偵測事件,並說明這些事件的儲存方式,以及提供一些基本查詢,協助您快速上手。

為「Firebase」啟用「Google Analytics」的「BigQuery」匯出功能

如果您採用 Spark 方案,可以使用 BigQuery 沙箱免付費存取 BigQuery,但須遵守沙箱限制。詳情請參閱「定價和 BigQuery 沙箱」。

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

  1. 在 Firebase 控制台中,依序前往「 Settings」(設定) >「Integrations」(整合)。

  2. 在「BigQuery」資訊卡中,按一下「連結」。如果已將 BigQuery 與其他 Firebase 服務搭配使用,請按一下「Manage」(管理)。

  3. 詳閱「關於將 Firebase 連結至 BigQuery」一文,然後按一下「下一步」。

  4. 在「Configure integration」(設定整合) 部分,啟用「 Google Analytics」切換鈕。

  5. 選取區域和匯出設定。

  6. 按一下「連結至 BigQuery」。

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

接著,您可以在 BigQuery 中存取及檢查個人化事件。

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

如要查詢實驗的數據分析資料,請按照下列步驟操作:

  1. 在 Google Cloud 控制台中開啟 BigQuery。您 也可以直接從 Firebase 控制台開啟 BigQuery,方法是 前往「Analytics」> 「Events」資訊主頁, 然後使用頁面 底部的「view your raw events in BigQuery」連結。

  2. 選取並展開 Firebase 專案,然後展開 analytics_ANALYTICS_PROPERTY_ID 項目,並按一下 events_。

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

  3. 從「查詢」下拉式選單中,選取「在新分頁中開啟」。

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

  4. 如要查看個人化事件和相關資料,請更新查詢,選取 personalization_assignment 事件。下列查詢範例會傳回特定日期 shard 的完整個人化指派事件,並將結果限制為 10 筆:

    # Select all personalization_assignment events
    SELECT *
    FROM `PROJECT_ID.analytics_ANALYTICS_PROPERTY_ID.events_DATE_SHARD`
    WHERE event_name = 'personalization_assignment'
    LIMIT 10
    

    提示:如要搜尋所有事件資料表,而非分區資料表,可以將事件資料表日期替換為星號 (例如 PROJECT_ID.analytics_ANALYTICS_PROPERTY_ID.events_*)。不建議在非測試情境或大型資料集使用這種做法。

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

下一節將詳細說明個人化指派事件包含的內容。

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

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

個人化事件提供的基本欄位與任何 Analytics 事件相同,如「匯出至 BigQuery 的 Google Analytics for Firebase 資料」一文所述。您主要會關注 user_pseudo_id (可用於區分不同使用者)、事件時間戳記和其他使用者屬性。

個人化專屬詳細資料會儲存在 event_params 欄位中,詳情請參閱下表:

參數 資料類型 說明
personalization_id STRING 提供指派的個人化通用專屬 ID (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 提供使用者首次開啟應用程式的時間戳記 (以世界標準時間毫秒為單位)。詳情請參閱「自動收集的事件」。
ga_session_id INTEGER 提供 Google Analytics 工作階段 ID。詳情請參閱「工作階段簡介」。您可以使用這個 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_ID.analytics_ANALYTICS_ACCOUNT_ID.events_DATE_SHARD`
    WHERE event_name = 'personalization_assignment'
    LIMIT 10