联系支持

我们通过电子邮件回复,通常两天内。

为防止滥用,Google reCAPTCHA 会检查这次提交,其间会向 Google 传输数据。脚本只在此表单打开时才加载。

← 全部文章

要计数器还是要分析套件?

对标题中这个问题,诚实的答案是:这取决于希望统计数据回答什么问题。访客计数器和完整的分析套件,并不是同一种工具的两个档次。它们回答的是不同的问题,而给出答案所要付出的代价也不同。本文要谈的,正是这些代价究竟是什么。

计数器会让访客付出什么代价

以下是本站今天实测的数据,而非估算。一个 Stats4U 计数器会让访客付出两次请求的代价:

  • 脚本文件 s4u.js——gzip 压缩后 3,311 字节(原始大小 8,709 字节)
  • 计数器图像——PNG 格式,3,325 字节
页面地址400来源域名400浏览器语言400当日哈希2IP 地址从不保存屏幕分辨率仅在开启时保存天

加起来大约 6.6 KB,只需一次,这就是全部。没有框架,没有第一个脚本再加载第二个脚本的情况,中间也不存在标签管理器容器。选用隐形计数器时,那就连图像都没有,代价还会更低。

站点的服务器上也不需要运行任何东西。页面只需嵌入一张图像和一小段脚本,计数、存储和图表绘制都在我们这边完成。不需要安装任何软件包,不需要维护数据库,也不需要惦记着哪个 cron 任务会不会被遗忘。

不设 Cookie,默认也不读取设备信息

计数路径不会设置任何 Cookie。这不是一句承诺,而是可以在终端里直接验证的事情:

  • curl -sk -D - -o /dev/null 'https://www.stats4u.net/index.php?action=pic&s4uid=1' | grep -i set-cookie

没有任何输出,就是预期的结果。

访客之间的区分,依靠的是一个按天生成的哈希值,由 IP 地址、用户代理、计数器 ID、日期,以及一个每天更换的盐值共同构成。这个哈希值为 16 字节,保留2天。IP 地址本身从不会被记录下来。每日盐值会在2天后被删除,这意味着此后任何人——包括运营本站的人在内——都无法针对某个可疑地址反推出某一天的哈希值。

会存储什么、存储多久:

  • 页面地址——400 天
  • 来源域名(仅域名本身,而非完整链接)——400 天
  • 浏览器语言(以计数形式存储,而非按访客存储)——400 天
  • 国家与城市,根据请求发生时的地址推算得出
  • 当日哈希值——16 字节,2天

不会存储的内容:IP 地址,以及访客设备上的任何信息。屏幕分辨率只在站点所有者开启的地方才会存储。

以上说明的是这套软件的实际行为。至于这是否足以满足某个地区所要求的合规义务,则是另一个问题,需要由具备相应资质的人来回答。本文并不是那个答案。

计数器做不到的事

一篇只罗列优点的文章不值得一读,所以这里也谈谈另一面。计数器无法回答下面这些:

  • 访客是如何在多步骤转化漏斗中移动的,又是在哪一步流失的
  • 三月份来访的人,是否在六月份又回来了
  • 哪个营销活动在金钱上收回了成本
  • 页面内部发生了什么——按了哪些按钮、播放了哪些视频、放弃填写了哪些表单字段
  • 周二用手机来访的和周四用桌面设备来访的,是否是同一个人
  • 一个页面的两个版本,哪一个表现更好

上面这每一项,都需要一个持久保存的身份标识、从页面内部发出的事件,以及较长的数据保留期限。而这些,恰恰是前文中被舍弃掉的东西。如果某项业务依赖于其中任何一项——比如一家网店需要知道哪条广告收回了成本——那么计数器就是错误的工具,再怎么轻量也弥补不了这一点。这种情况下就该用重型工具,接受它随之带来的一切,并把这件事明确告知访客。

什么人更适合用计数器

当问题更小、这样的答案就已经足够时,计数器就是合适的选择:

  • 个人网站、博客、作品集、社团与学校页面
  • 静态托管平台——GitHub Pages、Neocities,以及其他没有服务器日志可查的地方
  • 真正想问的问题其实是有没有人在读这个,他们又是怎么找到这里的的任何人
  • 不想为了得到答案,就把自己的访客交给第三方的任何人

互联网上的大多数网站都是这样。分析行业是为并非如此的那一部分而打造的,而人们很容易忘记,其余的我们,也有权只想要少一点的东西。

更新(2026 年 9 月 11 日):自 2026 年 8 月 27 日起,脚本又开始在每一个嵌入了它的网站上读取屏幕分辨率、浏览器窗口宽度和像素比。自 2026 年 9 月 11 日起,它只在站点所有者用 data-screen="1" 开启的地方这样做。没有这个属性,当前的脚本三项都不读取,服务器也不再保存由旧版副本发来的这些数值。

广告