TapCub 正式上线:统计、分析、客服一个平台免费用
数据分析

为什么不同工具的 UV 总是对不上,以及照样读懂漏斗的方法

同一个网站装两套统计,一定会得到两个访客数。这不是 bug。差距来自哪里,怎样一项一项核对,这里讲清楚。

TCTapCub Team 发布于 2026 年 2 月 12 日 最后更新 2026 年 6 月 20 日 8 分钟阅读 数据分析

每个装了第二套统计工具的团队,第一周都会问同一个问题:访客数为什么不一样?诚实的回答是,「独立访客」不是一个指标,而是一族共用一个名字的指标,每个工具挑了其中不同的一个。这篇文章会走一遍定义出现分歧的六个地方,给你一份可以在一个下午跑完的核对清单,并解释为什么总数对不上的时候,漏斗依然值得信。

读完你会知道

  • 让两个都没错的工具在 UV 上产生分歧的五个定义选择
  • 一个下午就能跑完的核对清单
  • 为什么漏斗各步之间的流失可以比较,而总数不能

访客是一个定义,不是一个事实

浏览量接近事实:一个页面加载了,一次请求到了。访客却是推断出来的。总得有人决定哪些请求属于同一个人、这个「同一个人」维持多久、以及这究竟是不是一个人。每个决定都是一个岔路口,没有两个产品会走完全相同的路。

最常见的岔路口有五个:身份键(Cookie、本地存储,还是每日哈希)、会话规则(30 分钟无操作、跨午夜,还是广告参数变化)、机器人过滤、用来切分「天」的时区,以及单页应用怎样上报路由切换。五个岔路口、各两个选项,同一份流量就已经有 32 种数法。

会话规则先把线挪开

经典规则是 30 分钟无操作就关闭会话。有的工具还会在属性时区的午夜强制切断,或者在访问中途广告参数变化时切断。一个 23:50 在读、00:05 又点了一下的访客,在前一种模型里是一个会话,在后一种里是两个。乘上全球分布的受众,日独立访客数在谁都没做错的情况下就漂了几个百分点。

TapCub 用 30 分钟规则,不在午夜切断。术语表用的措辞和产品里一样,开会时说的定义和图表里用的定义是同一个。

机器人只抬高其中一边

分歧最大的单一来源根本不是定义,而是一边算了、另一边删掉的流量。监控服务、链接预览、搜索爬虫、AI 爬虫都会加载页面。如果工具 A 把它们去掉而工具 B 没有,B 永远更高,而且在爬虫决定重新抓一遍你的网站的那几天,差距会突然拉大。

TapCub 跑五层检查(用户代理、请求头、客户端信号、ASN、请求频率,总共 197 条以上规则),并且把真人和机器人放在不同的报表里,而不是悄悄把机器人行删掉。下面的示例工作区里,真人那条线大约比全部流量低 22%,爬虫来访的那两天差距会更大。

app.tapcub.com/sites/demo/overview

真人访客

48,213

▲ 12.4%

全部流量(含机器人)

61,902

▲ 19.8%

会话

73,480

▲ 10.9%

每日访客 · 最近 14 天

真人全部流量
1月29日2月1日2月4日2月7日2月11日
示例数据
示例工作区。虚线上的两个尖峰是爬虫来访的日子,真人那条线纹丝不动。

无 Cookie 哈希与「天」的边界

无 Cookie 统计换掉的是身份键。TapCub 不在浏览器里存持久标识,而是用请求属性加上每天轮换的盐算出一个哈希,然后丢掉输入。结果是一个不需要弹窗、在严格隐私设置下也站得住的访客数,但它有一个已知特性:同一个人在两天里就是两个访客。

所以基于 Cookie 的工具在一个月里会报出更少的独立访客和更多的「回访」。两边都没错。要比较的话,比日独立访客,这一层上两种模型对「一个人」的理解是一致的;周、月独立访客则当作两个名字不同的指标来看。无 Cookie 讲解把这笔取舍写得更细,隐私页说明了到底存了什么。

时区与单页应用

还有两个小岔路口。先是时区:一个按 UTC、一个按账号本地时间出报表的工具,会把午夜附近的同一次访问记到不同的日期里,所以就算月度能对上,按天也永远对不齐。比较任何按天的数字之前,先确认两边的属性时区一致。

然后是单页应用。React 或 Vue 里的路由切换不是一次页面加载。一段代码可能在每次路由变化时都发浏览量,另一段只在首次加载时发,第三段只在标题变化时发。受影响最大的是浏览量,但当路由切换是维持会话的唯一动作时,会话数也会变。TapCub 的网页 SDK 默认在 history 变化时发浏览量,数据平台页列出了这个设置。

一份核对清单

一次只比一件事,一个下午就能把两个工具核对完。按下面的清单逐项往下走,每处差异要么修掉、要么记下来,再看下一项。大多数团队会发现机器人过滤和会话规则解释了四分之三的差距,剩下的是时区和单页应用的处理方式。

核对项比什么对 UV 的典型影响
机器人过滤是不是有一边去掉了爬虫和监控?先拿「全部流量」对「全部流量」。没过滤的一边高 10–25%
会话超时两边都是 30 分钟?跨午夜切不切?日独立访客差 2–5%
身份键Cookie 还是每日哈希?比日独立访客,不比月。月度差距大,日度差距小
时区两个工具的属性时区一致吗?午夜附近的访问被记到不同日期
单页应用路由两段代码都在 history 变化时上报吗?主要影响浏览量,部分影响会话
同意模式是不是有一边丢掉了拒绝 Cookie 的访客?严格地区可达 30–40%
代码位置两边都在每个模板的 head 里?有没有页面漏装?整块栏目消失

区间是我们自己核对时的示例数字,不是行业基准。

为什么漏斗不受这场分歧影响

这才是对决策真正要紧的部分。漏斗不需要 UV 总数和任何东西对上。它比较的是同一份数据里、用同一个定义数出来的各步。2,400 个访客到了定价页,1,248 个开始结账,674 个到了支付,508 个完成,那么结账到支付之间 46% 的流失在任何定义下都是真的,因为每一步都是用同一种方式数的。

所以实际的建议是:别再试图让总数对齐,开始读形状。两套工具并行跑一周,比较趋势线,形状一致了就挑一个,打开它的漏斗报表。行为分析页用同一组示例数字展示了这条漏斗,迁移指南一步步讲了并行运行那一周怎么做。

TC

TapCub Team

设计、开发并支持 TapCub 的这群人。我们写自己网站上量到的东西,也写客户问得最多的问题。

真人与机器人并排看

TapCub 的概览里同时保留两条线,一个开关就能把整个控制台切到只看真人。

看清数据,找到增长。

每一次点击,都有数据依据。装好一行代码,1 分钟看到第一批数据。

无需信用卡 · 统计与客服都有免费版 · 统计无 Cookie