向用户分配个性化后,Remote Config 个性化会记录 personalization_assignment
Analytics 事件,让您可以使用 BigQuery 检查和分析个性化事件及关联事件。
以下部分介绍了如何为 Analytics 事件启用 BigQuery Export 以及如何存储个性化事件,并提供了一些基本查询来帮助您上手。
为 Google Analytics for Firebase 启用 BigQuery Export
如果您使用的是 Spark 方案,则可以使用 BigQuery 沙盒免费访问 BigQuery,但需遵循沙盒限制。如需了解详情,请参阅价格和 BigQuery 沙盒。
首先,请确保将 Analytics 数据导出到 BigQuery:
- 打开集成标签页,您可以在 Firebase 控制台中使用 > 项目设置访问该标签页。
- 如果您已经将 BigQuery 与其他 Firebase 服务搭配使用,请点击管理。否则,请点击关联。
- 查看如何将 Firebase 关联至 BigQuery,然后点击下一步。
- 在配置集成部分中,启用 Google Analytics 切换开关。
选择区域,然后选择导出设置。
点击关联到 BigQuery。
根据您选择导出数据的方式,这些表最多可能需要一天的时间才能供您使用。如需详细了解如何将项目数据导出到 BigQuery,请参阅将项目数据导出到 BigQuery。
接下来,让我们访问并检查 BigQuery 中的个性化事件。
使用 BigQuery 访问 Remote Config 个性化数据
若要查询实验的分析数据,请执行以下操作:
- 在 Google Cloud 控制台中打开 BigQuery。您还可以使用页面底部的 View your raw events in BigQuery(在 BigQuery 中查看原始事件)链接,直接从 Analytics 事件打开它。
选择并展开您的 Firebase 项目,然后展开
analytics_ANALYTICS_PROPERTY_ID
条目并点击events_
。从查询下拉菜单中,选择 In a new tab(在新标签页中)。
系统会显示自动生成的示例查询。
如需查看个性化事件和关联数据,请更新查询以选择
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 Export 架构中所述的任何 Analytics 事件相同。您将主要关注 user_pseudo_id
(它可用于区分不同的用户)、事件时间戳和其他用户属性。
特定于个性化的详细信息存储在 event_params
字段中,下表对其进行了说明:
参数 | 数据类型 | 说明 |
---|---|---|
personalization_id | STRING | 提供已分配的个性化通用唯一标识符 (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 | 提供用户首次打开应用的时间戳(采用世界协调时间 (UTC),以毫秒为单位)。如需了解详情,请参阅自动收集的事件。 |
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