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 個人化資料
如要查詢實驗的 Analytics 資料,請按照下列步驟操作:
- 在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
事件中。
如「[GA4] BigQuery 匯出結構定義」所述,個人化事件中提供的基本欄位與任何 Analytics 事件相同。您主要會關注 user_pseudo_id
i(可用於區分不同使用者)、事件時間戳記和其他使用者屬性。
個人化專屬詳細資料會儲存在 event_params
欄位中,如下表所述:
參數 | 資料類型 | 說明 |
---|---|---|
personalization_id | STRING | 提供指派的個人化設定通用唯一識別碼 (UUID)。 |
群組 | 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。詳情請參閱「關於工作階段」。您可以使用這個參數,將 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