1. 糟糕的开头
我真的受够了某 G 开头的统计工具。每次打开那繁琐的后台,我都觉得自己在“偷窥”用户,而且那死沉死沉的统计脚本还得让用户多加载几十个 KB 的代码,简直是在谋杀网站性能。作为一个整天喊着 **Privacy-First** 的极客,我怎么能忍受我的 daima.life 变成谷歌的数据提款机?我不需要知道用户几点起床、喜欢喝什么咖啡。我只想知道:在凌晨三点,是哪国的发型稀疏的程序员在用我的 SQL 格式化工具?
2. 我的思考
为什么在 2026 年,我们需要一种更干净的统计方式?因为数据主权已经成了开发者的共识。我不想要那些带唯一标识符的 Cookie,我也不想给用户弹那些烦人的“同意授权”弹窗。我想要的是一种 **Beacon-based** 的非侵入式观察。Cloudflare Web Analytics 简直是为我量身定制的:它运行在边缘节点,没有 Cookie,没有隐私丑闻,连脚本体积都小到可以忽略不计。最香的是,它不仅统计流量,还能直接告诉我:在延迟 100ms 以上的地区,哪些工具的点击率下降了。这才是基于性能的数据决策。
3. 技术硬核区
我给 daima.life 配置的是轻量级代理模式,直接在边缘端注入一个小巧的 Beacon。这能让我通过观察不同的 Path(工具路径)来实时分析热度。这里的核心就在于如何通过 **Custom Events** 而不侵犯隐私。
// daima.life 边缘侧统计注入逻辑
async function injectAnalytics(response) {
// 仅注入极简 Beacon,不使用任何 ID
const beaconScript = `<script defer src='https://static.cloudflareinsights.com/beacon.min.js' data-cf-beacon='{"token": "YOUR_PRIVACY_TOKEN", "spa": true}'></script>`;
// 结合 HTMLRewriter 实现无感注入
return new HTMLRewriter()
.on('body', {
element(el) {
el.append(beaconScript, { html: true });
}
})
.transform(response);
}
这里有个“避坑”指南:很多人开启统计后会发现数据对不上。那是因为 2026 年大多数极客都在用屏蔽器。但我发现,把统计 Beacon 通过自己的域名做一层边缘代理(Edge Proxy),不仅能绕过简单的拦截,还能在边缘侧对 User-Agent 进行清洗,去掉那些无效的垃圾机器人抓取数据。这样我得到的可视化热力图才是最真实的:比如我发现,东八区的用户最爱晚上用 **JSON 转 TS**,而北美用户似乎更偏爱在清晨调试 **JavaScript Sandbox (RunJS)**。这种数据不仅好玩,还让我决定把 RunJS 的后端逻辑进一步下沉到边缘节点,以优化北美地区的冷启动时间。
4. FAQ 模块
Q1: 既然没有 Cookie,它能识别回头客(Retention)吗?
A: 识别不了精确的回头客。但兄弟,这就是隐私的代价。我也许没法给每个用户画像,但我能通过 Path 统计到每个工具的活跃周期。如果你真的需要用户个性化配置,我会让用户把数据存在 localStorage,通过浏览器指纹在本地做校验,而不是在我的后台存一堆隐私垃圾。
Q2: Web Analytics 是否支持自定义打点(Custom Events)?
A: 支持。在 2026 年的版本中,你可以向 Beacon 发送非敏感的自定义属性。比如:`tool_action: "execute_code"`。这能让我精准分析出:用户是在点击“运行”后报错才离开的,还是根本没看文档就放弃了。这才是辅助迭代产品的真金白银数据。
Q3: 对性能有影响吗?
A: 几乎为零。脚本大小不到 1KB,且是 defer 加载。相比于 Gxx 动辄上百 KB 的 SDK,这对 daima.life 这种追求极致加载速度的工具站来说简直是“降维打击”。
5. 结尾
看着 Cloudflare 后端那不断跳动的全球访问曲线,我感到一种奇妙的连接感。虽然我不知道你是谁,但我知道我的代码正在全世界的某个角落,帮某个焦头烂额的开发者解决一个小小的 Bug。数据应该是用来优化体验的指纹,而不应该成为勒索隐私的筹码。下一步,我计划将这些脱敏后的热度数据实时同步到 daima.life 的首页,让大家一眼就能看到现在全球最火的工具是哪一个。这种透明、隐私、极客的玩法,你心动了吗?