繁体   English   中英

BigQuery 中的 GA4 数据:如何复制参与率?

[英]GA4 data in BigQuery: How to replicate the engagement rate?

在 BigQuery 中,我想复制 Google Analytics 4 统计“参与率”,它被定义为(更多信息):

参与会话数/总会话数

需要为所有平台(iOS / Android / Web)计算。 在 BigQuery 中,我使用默认的 Google Analytics 4 数据导入表。

我在这里看到了各种与参与相关的参数,甚至是具有不同值类型的相同参数,这让我有点困惑:

  1. 参数'session_engaged'; 对于所有 session_start 事件,此参数包含为类型 integer。仅在 session_engaged = 1 时添加该参数; 所有平台的数据(ios、android、web)。
  2. 参数'session_engaged'; 对于除 session_start 事件之外的所有事件,此参数作为字符串类型包含在内。 该参数包含在 100% 的所有现有(网络)事件中,值为“0”或“1”; 数据仅适用于平台 = 'web'。
  3. 参数'engaged_session_event'; 此参数(仅)作为类型 integer 包含在内; 该参数仅在值 = 1 时包含在事件中。所有平台的数据(ios、android、web)
  4. 然后还有参数engagement_time_msec; 我没有在这篇文章的 scope 中使用这个参数,因为我仍然怀疑这个参数的有效性(另请参阅我质疑参数值的早期帖子

对于参与率的复制,似乎不能使用上面的选项 2,因为数据仅适用于 web,我还需要计算 ios 和 android。

按照上面的“选项 1”或“选项 3”:这些选项之间 BigQuery 中的 output 大致相等,差异很小。 将两个选项的 output 与 GA4 UI 中的 output 进行比较,数字不匹配; 在 GA4 用户界面中,它们在每个平台上始终高出 3-4%。

查询以下“选项 1”:

SELECT platform,
SAFE_DIVIDE(COUNT(DISTINCT CASE WHEN (SELECT value.int_value FROM UNNEST(event_params) WHERE key = 'session_engaged') = 1 THEN CONCAT(user_pseudo_id,(SELECT value.int_value FROM UNNEST(event_params) WHERE key = 'ga_session_id')) END),COUNT(DISTINCT CONCAT(user_pseudo_id,(SELECT value.int_value FROM UNNEST(event_params) WHERE key = 'ga_session_id')))) AS engagement_rate
FROM `[project id].[dataset id].events_*`
WHERE _table_suffix between '20221008' AND '20221008'
GROUP BY 1

查询以下“选项 3”:

SELECT platform,
SAFE_DIVIDE(COUNT(DISTINCT CASE WHEN (SELECT value.int_value FROM UNNEST(event_params) WHERE key = 'engaged_session_event') = 1 THEN CONCAT(user_pseudo_id,(SELECT value.int_value FROM UNNEST(event_params) WHERE key = 'ga_session_id')) END),COUNT(DISTINCT CONCAT(user_pseudo_id,(SELECT value.int_value FROM UNNEST(event_params) WHERE key = 'ga_session_id')))) AS engagement_rate
FROM `[project id].[dataset id].events_*`
WHERE _table_suffix between '20221008' AND '20221008'
GROUP BY 1

Google 方面似乎缺少关于参数 session_engaged 和 engaged_session_event 的清晰文档。

我正在寻找有关以下问题的更多信息:

  1. 每个参数的真正含义是什么,每个参数值的上下文是什么,它们之间有什么区别?
  2. 在这种情况下应该使用哪个参数。
  3. 如何计算 BigQuery 中的“参与率”,并复制 GA4 用户界面中显示的数字。

有人对此了解更多吗?

提前致谢!

选项1是!

safe_divide(count(distinct case when (select value.string_value from unnest(event_params) where key = 'session_engaged') = '1' then concat(user_pseudo_id,(select value.int_value from unnest(event_params) where key = 'ga_session_id')) end),count(distinct concat(user_pseudo_id,(select value.int_value from unnest(event_params) where key = 'ga_session_id')))) as engagement_rate

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM