Remote Config 個人化功能會在使用者獲派個人化設定時,記錄 personalization_assignment Analytics 事件,讓您使用 BigQuery 檢查及分析個人化事件和相關事件。
以下各節將說明如何啟用 BigQuery 匯出功能,以匯出 Analytics 事件和訪客偵測事件,並說明這些事件的儲存方式,以及提供一些基本查詢,協助您快速上手。
為「Firebase」啟用「Google Analytics」的「BigQuery」匯出功能
如果您採用 Spark 方案,可以使用 BigQuery 沙箱免付費存取 BigQuery,但須遵守沙箱限制。詳情請參閱「定價和 BigQuery 沙箱」。
首先,請確認您將 Analytics 資料匯出至 BigQuery:
在 Firebase 控制台中,依序前往「
Settings」(設定) >「Integrations」(整合)。在「BigQuery」資訊卡中,按一下「連結」。如果已將 BigQuery 與其他 Firebase 服務搭配使用,請按一下「Manage」(管理)。
詳閱「關於將 Firebase 連結至 BigQuery」一文,然後按一下「下一步」。
在「Configure integration」(設定整合) 部分,啟用「 Google Analytics」切換鈕。
選取區域和匯出設定。
按一下「連結至 BigQuery」。
視您選擇的資料匯出方式而定,資料表可能需要最多一天的時間才會顯示。如要進一步瞭解如何將專案資料匯出至 BigQuery,請參閱「將專案資料匯出至 BigQuery」。
接著,您可以在 BigQuery 中存取及檢查個人化事件。
使用 BigQuery 存取 Remote Config 個人化資料
如要查詢實驗的數據分析資料,請按照下列步驟操作:
在 Google Cloud 控制台中開啟 BigQuery。您 也可以直接從 Firebase 控制台開啟 BigQuery,方法是 前往「Analytics」> 「Events」資訊主頁, 然後使用頁面 底部的「view your raw events in BigQuery」連結。
選取並展開 Firebase 專案,然後展開
analytics_ANALYTICS_PROPERTY_ID項目,並按一下events_。
從「查詢」下拉式選單中,選取「在新分頁中開啟」。
系統會顯示自動生成的查詢範例。
如要查看個人化事件和相關資料,請更新查詢,選取
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_*)。不建議在非測試情境或大型資料集使用這種做法。在查詢撰寫器中,選取「執行查詢」。結果會顯示在下方窗格中。
下一節將詳細說明個人化指派事件包含的內容。
哪些個人化資料會匯出至 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