GA4里估算指标:会话数、活跃用户数和用户总数

Google Analytics 4 Haran 7年前 (2018-08-07) 4123次浏览 0个评论
文章目录[隐藏]

GA4里的指标并不是都是按实际数量计算,有些是估算。

为什么会有估算值

对于大型数据集衡量确切的非重复计数(即基数)需要大量内存且会影响性能。

GA4是使用 HyperLogLog++ (HLL++) 算法来估算最常用指标的基数,使用 HLL++ 可确保实现较高的性能,同时提高估算准确性并缩小误差范围。

 

估算指标的影响

估算指标主要有两个影响:

估算指标介绍

GA4里的估算值指标有会话数活跃用户数用户总数

会话数

官方对会话数的定义是:GA4会估算唯一会话ID的数量,以此来计算发生的会话数

BigQuery里的计算:ga_session_id 事件参数用于标识每个用户的唯一会话数user_pseudo_id 和 ga_session_id 的组合在数据集内对唯一会话来说将是唯一的。这是GA4统计会话数的标准方法。对于会话数precision 为 12。

SELECT
  HLL_COUNT.EXTRACT(
    HLL_COUNT.INIT(
      CONCAT(
        user_pseudo_id,
        (SELECT `value` FROM UNNEST(event_params) WHERE key = 'ga_session_id' LIMIT 1).int_value),
      12)) AS session_count,
FROM `table.events_*`

延伸阅读:深入理解 Google Analytics 4 中的会话

 

活跃用户数

活跃用户数是个估算值,它在不同报告中显示的值可能会不同。

BigQuery里的计算:首先需要对事件进行过滤,才能使系统仅显示活跃用户数

WITH ActiveUsers AS
(
  SELECT
    user_pseudo_id
  FROM
    `table.events_*`
  WHERE
  (SELECT value.int_value FROM UNNEST(event_params) WHERE key = 'engagement_time_msec') > 0 OR (SELECT value.string_value FROM UNNEST(event_params) WHERE key = 'session_engaged') = '1' GROUP BY user_pseudo_id )
)
SELECT
  HLL_COUNT.EXTRACT(HLL_COUNT.INIT(user_pseudo_id, 14)) AS active_user_count,
FROM ActiveUsers

延伸阅读:GA4中不同报告中的「活跃用户数」不一致

 

 

用户总数

用戶总数是其实也是估算值。

BigQuery里的计算:

SELECT
  HLL_COUNT.EXTRACT(HLL_COUNT.INIT(user_pseudo_id, 14)) AS total_user_count,
FROM `table.events_*`

延伸阅读:Google Analytics 4 中识别用户的方式:身份空间

 


如有疑问,可以在文章底部留言或邮件(haran.huang@ichdata.com) 我~
喜欢 (0)
发表我的评论
取消评论
表情 贴图 加粗 删除线 居中 斜体 签到

Hi,您需要填写昵称和邮箱!

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址