Firebase Analytics信息中心与BigQuery

时间:2018-02-14 05:47:42

标签: firebase google-bigquery firebase-analytics

我正在尝试针对链接到BigQuery的Firebase Analytics数据开发查询,以重现Firebase Analytics信息中心的“每日用户互动”图表(包含在Google Data Studio报告中)。

根据Firebase Help documentation,每日用户互动定义为“日期范围内每位用户的平均每日互动次数,包括上一日期范围内的百分比波动”。因此,我的尝试是将 engagement_time_msec (根据https://support.google.com/firebase/answer/7061705?hl=en的上一次user_engagement事件后的额外参与时间(ms))与 user_engagement 事件相加,除以每天的用户数(由 user_dim.app_info.app_instance_id 标识)。查询如下所示:

SELECT ((total_engagement_time_msec / 1000) / users) as average_engagement_time_sec, date FROM
(SELECT
  SUM(params.value.int_value) as total_engagement_time_msec,
  COUNT(DISTINCT(user_dim.app_info.app_instance_id)) as users,
  e.date
FROM `com_artermobilize_alertable_IOS.app_events_*`, UNNEST(event_dim) as e, UNNEST(e.params) as params
WHERE e.name = 'user_engagement'
AND params.key = 'engagement_time_msec'
GROUP BY e.date)
ORDER BY date desc

结果与每日用户互动的Firebase控制台图表中显示的结果非常接近,但我的查询中的值始终高出几秒钟(左侧是BigQuery结果,右侧是Firebase控制台图表值)。

Results from BigQuery Results in Firebase Console

要注意,我们没有设置 user_dim.user_id 而不使用IDFA,所以我的理解是计算“用户”的正确/唯一方法是 user_dim.app_info.app_instance_id ,我想Firebase控制台也是如此。

任何人都可以建议我如何确定BigQuery的平均参与时间,以及如何在Firebase控制台图表中确定这一点?

需要注意的是,我看到了类似的问题here,但我不相信建议的答案适用于我的查询,因为1)差异存在多天,2)我已经查询user_engagement事件和3)查询中使用的事件日期声明基于您的应用程序的注册时区(根据this)。

0 个答案:

没有答案