在 BigQuery 中,我想复制 Google Analytics 4 统计数据“参与率”,其定义为(更多信息):
参与的会话数/总会话数
需要针对所有平台(iOS / Android / Web)进行计算。在 BigQuery 中,我使用默认的 Google Analytics 4 数据导入表。
我在这里看到了各种与参与相关的参数,甚至是相同的参数具有不同的值类型,这让我有点困惑:
对于参与率的复制,似乎无法使用上述选项2,因为数据仅适用于Web,我还需要为ios和android进行计算。
按照上面的“选项 1”或“选项 3”:这些选项之间的 BigQuery 输出或多或少相等,差异很小。将两个选项的输出与 GA4 UI 中的输出进行比较,数字不匹配;在 GA4 UI 中,每个平台的价格始终高出 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_engged 和engaged_session_event 的明确文档。
我正在寻找有关以下问题的更清晰的信息:
有人对此了解更多吗?
提前致谢!
就是选项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
我用这个
,count(distinct concat(user_pseudo_id,(select value.int_value from unnest(event_params) where key = 'ga_session_id'))) - count(distinct case when (select value.string_value from unnest(event_params) where key = 'session_engaged') = '1' or (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) as bounces
你知道如何做这个OP吗?我的“session_engged”标志似乎从未完全复制 GA4 UI。