如果你同时部署了GA4和Umami,大概率会观察到这样一个现象:Umami的访客数、会话数、页面浏览量,往往显著高于GA4。你的数据(Umami 161访客 vs GA4 58访客,188会话 vs 91会话)并非个例,而是两者在设计哲学、技术实现和合规约束上的系统性差异所导致的。
这篇文章将拆解造成这一差异的核心机制,帮助你理解两者的数字究竟在“数什么”,以及在实际场景中应该如何解读和汇报。
GA4:一个被多重约束“过滤”的数据
GA4的数据收集并非“用户来了就记下来”这么简单。从用户访问到数据最终出现在GA4报告中,中间存在多层过滤机制。
Cookie同意:最直接的“关门”机制
GDPR等法规要求网站必须在用户明确同意后才能设置分析性Cookie。GA4的用户识别和会话追踪高度依赖Cookie(尤其是_ga和_ga_*),因此在用户拒绝同意Cookie横幅时,GA4不会跟踪用户数据。
即使你部署了Consent Mode,未同意用户的数据也并非完整恢复。
Google的行为建模(Behavioral Modeling)使用机器学习来估算未同意用户的行为,但这一机制有严格的前提条件:你的媒体资源必须有足够多的已同意用户数据来训练模型。如果同意率过低,模型无法有效训练,Google会直接不报告未同意用户触发的任何事件。换句话说,当同意率越低,GA4的数据缺口越大,而建模补全的效果也越有限。
一项针对Consent Mode v2实施情况的分析显示,不合规的账户报告转化数据损失高达90%,约67%的现有实施包含配置错误导致数据静默丢失。这意味着在实际部署中,GA4的数据损失比理论预期更为严重。
广告拦截器:更隐蔽的数据黑洞
除了Cookie同意,广告拦截器是另一个大规模的数据过滤层。
AdBlock、uBlock Origin、Privacy Badger等工具会直接拦截对google-analytics.com和googletagmanager.com的请求。
由于GA4的跟踪脚本和事件上报都经过这些域名,被拦截后数据完全丢失,用户对此毫无感知。
无痕模式与浏览器限制
用户在无痕模式下浏览时,GA4同样无法激活跟踪。此外,Safari和Firefox等浏览器默认阻止第三方Cookie,进一步压缩了GA4在跨站场景下的数据采集能力。
会话定义的“窄口径”
即便数据被成功采集,GA4的会话定义也比直觉中更窄。
GA4将“活跃用户”定义为会话超过10秒、有转化事件、或至少2次页面浏览的用户。这意味着一个只浏览一页、停留5秒就离开的用户,虽然产生了一次访问,但在GA4的“活跃用户”口径中可能不被计入。
而Umami的访客统计没有这类参与度门槛。
Umami:为什么它能“看见”更多?
Umami的设计逻辑与GA4截然相反:它从架构层面就绕开了那些过滤层。
无Cookie,无需同意横幅
Umami不使用任何Cookie来识别用户。
它通过服务端计算一个基于访客IP地址、User-Agent和网站ID的哈希值来识别会话,IP地址本身不会被存储。
由于不设置Cookie、不收集个人身份信息,Umami在多数司法辖区下不需要显示Cookie同意横幅,也就没有“用户拒绝同意”导致的数据损失。
代理机制:让广告拦截器“看不见”
Umami虽然也可能被广告拦截器拦截,但它提供了多种绕过机制。
最有效的方式是代理:将Umami的跟踪脚本和API端点通过你自己的域名进行转发,广告拦截器看到的是对你自有域名的请求,而非cloud.umami.is,因此不会被拦截规则匹配。
如果你选择自托管Umami,跟踪脚本和收集端点都在你自己的服务器上,广告拦截器通常不会针对一个个人域名维护规则。
有开发者报告,在代理Umami后,广告拦截器拦截率从约80%降至接近零,Umami的数据直接反映了更真实的流量规模。
访客识别的“宽口径”
Umami的“访客”基于一个每日轮换的盐值计算哈希。同一个IP和浏览器在同一天内被算作同一访客,但跨天会重新计算。
这意味着Umami的访客数本质上是“每日匿名访客数”,它比GA4的“活跃用户”门槛更低,任何一次页面加载只要脚本成功执行,就会被计数。
你的数据意味着什么
回到你的具体数字:Umami 161访客 vs GA4 58访客,比例约为2.8:1。这个差距在同时部署了两者的网站中属于正常范围,可能由以下因素叠加造成:
- 拒绝Cookie的用户未被GA4记录(假设同意率约50%,直接造成约一半的数据缺口);
- 使用广告拦截器的用户未被GA4记录(通常占5%-15%的互联网用户);
- GA4的“活跃用户”门槛过滤掉了部分短暂访问;
- 你的Umami可能通过代理或自托管部署,广告拦截影响极小。
重要的是:Umami的数字也不等于“真实人数”。 它可能存在以下高估因素:同一人在不同浏览器访问被计为多个访客;公司/学校NAT环境下多人共享IP可能被合并也可能被拆分;Umami脚本本身仍可能被某些激进拦截列表拦截。因此,Umami是“更接近总访问参考值”,但并非绝对准确的计数器。
实践中应该如何应对
对外汇报时,不要给一个孤立的数字。 建议的表述方式:
过去一周,Umami记录约161名匿名访客、188次访问、461次页面浏览。GA4记录约58名用户、91个会话、262次页面浏览。GA4数据偏低,主要原因是Cookie同意和广告拦截导致部分用户未被统计。Umami的数据更接近总访问量的参考值,但两者都不是绝对精确的“真实人数”。
- 如果对方关心SEO效果,使用GSC的点击和展示数据更合适;
- 如果关心转化路径和用户行为,GA4的会话级分析更有价值;
- 如果只想知道“网站有多少人来”,Umami的访客数是最实用的参考。
核心结论:GA4和Umami的数字差异不是bug,而是特性。
GA4是一个在合规和浏览器限制下运行的数据,它的数字天然偏向“可追踪且同意被追踪”的用户子集。Umami是一个为数据完整性优先而设计的轻量工具,它的数字更接近“脚本成功执行”的总访问量。理解这一点,你就不会被两个工具之间的差距困扰,而是能根据场景选择最合适的数字来回答问题。


