文章目錄
更新時間:2025年5月23號
GA4裡的指標並不是都是以實際數量計算,有些是估算。
為什麼會有估算值
對於大型資料集的精確計數 (即基數)需要大量記憶體且會影響效能。
GA4是使用 HyperLogLog++ (HLL++) 演算法來估算最常用指標的基數,使用 HLL++ 可以確保實現較高的效能,同時提高估算準確度並縮小誤差範圍。
估算指標的影響
估算指標主要有兩個影響:
- 估算指標與實際有差異
- 不同報表位置的同一指標數值可能會不同,延伸閱讀:GA4「活躍使用者」在不同报表中不一致
估算指標介紹
GA4裡三個指標是估算的,分別是工作階段數、活躍使用者,使用者總數。
工作階段數
GA4會估算不重複工作階段 ID 的數量,藉此計算在網站或應用程式上發生的工作階段數。
BigQuery裡的計算:ga_session_id
事件參數用來識別個別工作階段的個別工作階段, user_pseudo_id
和 ga_session_id
的組合會 不重複工作階段的不重複值這是標準的方法 計算 Google Analytics 4 資源的工作階段數。工作階段: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 的工作階段(Sessions)
活躍使用者
活躍使用者是個估算值,它在不同報告中顯示的值可能會不同。
延伸閱讀:GA4「活躍使用者」在不同报表中不一致
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
使用者總數
使用者總數也是估算值。
BigQuery裡的計算:
SELECT HLL_COUNT.EXTRACT(HLL_COUNT.INIT(user_pseudo_id, 14)) AS total_user_count, FROM `table.events_*`