Remote Config 個人化功能會在將個人化內容指派給使用者時記錄 personalization_assignment
Analytics 事件,方便您使用 BigQuery 檢查及分析個人化事件和相關事件。
以下各節將說明如何為 Analytics 事件啟用 BigQuery 匯出功能、如何儲存個人化事件,並提供一些基本查詢,協助您開始使用。
為 Firebase 啟用 Google Analytics 的 BigQuery 匯出功能
如果您使用的是 Spark 方案,可以使用 BigQuery 沙箱免費存取 BigQuery,但須遵守沙箱限制。詳情請參閱「定價和 BigQuery 沙箱」一文。
首先,請確認您已將 Analytics 資料匯出至 BigQuery:
- 開啟「整合」分頁,您可以透過 Firebase 控制台中的 「> 專案設定」存取該分頁。
- 如果您已將 BigQuery 與其他 Firebase 服務搭配使用,請按一下「管理」。否則請按一下「連結」。
- 詳閱「關於將 Firebase 連結至 BigQuery」,然後按一下「下一步」。
- 在「設定整合」部分中,啟用「Google Analytics」切換按鈕。
選取區域並選擇匯出設定。
按一下「連結至 BigQuery」。
視您選擇的資料匯出方式而定,表格可能需要最多一天的時間才能使用。如要進一步瞭解如何將專案資料匯出至 BigQuery,請參閱「將專案資料匯出至 BigQuery」。
接下來,我們將在 BigQuery 中存取及檢查個人化事件。
使用 BigQuery 存取「Remote Config」個人化資料
如要查詢實驗的數據分析資料:
- 在 Google Cloud 控制台中開啟 BigQuery。您也可以直接透過 Analytics 事件,使用頁面底部的「查看 BigQuery 中的原始事件」連結開啟。
選取並展開 Firebase 專案,然後展開
analytics_ANALYTICS_PROPERTY_ID
項目並按一下events_
。在「查詢」下拉式選單中,選取「在新分頁中開啟」。
系統會顯示自動產生的查詢範例。
如要查看個人化事件和相關資料,請更新查詢以選取
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
事件中。
個人化事件中提供的基本欄位與任何 Analytics 事件相同,如[GA4] BigQuery 匯出結構定義所述。您大多需留意 user_pseudo_id
i(它可用於區分不同的使用者)、事件時間戳記和其他使用者屬性。
個人化專屬詳細資料會儲存在 event_params
欄位中,並在下表中說明:
參數 | 資料類型 | 說明 |
---|---|---|
personalization_id | STRING | 提供已指派個人化功能的通用唯一識別碼 (UUID)。 |
群組 | STRING | 指出使用者是指派至個人化群組 (P13N) 還是控制組 (BASELINE) 群組。 |
arm_index | INTEGER | 代表指派給使用者的替代值,介於 0 到 4 之間的整數。 |
arm_key | STRING | 包含個人化功能使用的參數名稱。 |
arm_value | STRING | 包含個人化指派的替代值字串。 |
engagement_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。詳情請參閱「關於工作階段」。您可以使用這個屬性,將 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