接入文档

把一行代码贴到你的网站上,就能开始统计。这份文档覆盖安装、验证、指标口径与排查方法。

快速开始

  1. 注册并创建站点

    注册后进入看板,点击左侧「+ 新建站点」。系统会为这个站点生成一个唯一的统计 ID

  2. 复制统计代码

    创建完成后会自动弹出统计代码;之后也可以在看板顶部点「获取统计代码」随时取回。

  3. 贴到网站上

    把代码放进网站每个页面的 </body> 之前。访客一到访,看板立刻开始记录。

还没有网站也能体验: 打开 /demo.html?id=你的统计ID,这是内置的示例被统计网页, 刷新几次就能在看板里看到数据。

安装统计代码

统计代码长这样,其中 你的统计ID 换成看板里给你的那一串:

<script src="https://577.la/tk.js?id=你的统计ID" async></script>

默认脚本地址固定为 577.la;这不是你自己网站的域名。只有在看板启用并验证「自定义上报域名」后,系统生成的代码才会自动改用你自己的子域名。

关于这段代码,有几点值得知道:

  • 异步加载 —— async 属性让它不阻塞页面渲染,对打开速度几乎没有影响。
  • 所有页面共用同一段代码 —— 不需要给每个页面单独配置,脚本会自动识别当前页面地址。
  • 放在 </body> 之前 —— 放 <head> 里也能工作,但放底部对首屏更友好。
  • 自动支持单页应用 —— 脚本会监听前端路由变化(pushState / popstate),切换页面时自动上报。

各类网站的接入方式

纯 HTML 网站

直接编辑 HTML 文件,把代码贴在 </body> 前面:

<body> <!-- 你的页面内容 --> <script src="https://577.la/tk.js?id=你的统计ID" async></script> </body>

WordPress

两种方式,任选其一:

  • 后台「外观 → 主题文件编辑器」,打开 footer.php,贴在 </body> 前(换主题会失效)。
  • 装一个「插入头部和尾部代码」类插件,贴到「尾部」区域(推荐,换主题不丢)。

Vue / React 等单页应用

贴到 public/index.html(Vue CLI / CRA)或 index.html(Vite)里即可, 路由切换会自动上报,不需要在代码里手动调用:

<!-- index.html --> <body> <div id="app"></div> <script type="module" src="/src/main.js"></script> <script src="https://577.la/tk.js?id=你的统计ID" async></script> </body>

Next.js

用官方的 next/script 组件,放进根布局:

// app/layout.tsx import Script from 'next/script' export default function RootLayout({ children }) { return ( <html lang="zh-CN"> <body> {children} <Script src="https://577.la/tk.js?id=你的统计ID" strategy="afterInteractive" /> </body> </html> ) }

Nuxt

// nuxt.config.ts export default defineNuxtConfig({ app: { head: { script: [ { src: 'https://577.la/tk.js?id=你的统计ID', async: true }, ], }, }, })

验证是否安装成功

  1. 访问你的网站,随便打开几个页面。
  2. 回到看板,把时间范围切到「今日」,看「实时访客」面板——正常情况下几秒内就会出现记录。
  3. 如果没有数据,按 F12 打开浏览器控制台的「网络」标签,刷新页面,搜索 collect:
    • 看到 collect 请求且状态 200 → 上报成功,等几秒刷新看板。
    • 状态 404 → 统计 ID 不对,回看板核对。
    • 状态 429 → 触发了频率限制,稍后再试。
    • 完全没有 collect 请求 → 脚本没加载,见下面的「常见问题排查」。

网页错误监控

上面的 tk.js 收的是访问(谁来了、看了哪些页)。 报错是另一件事:JS 异常、接口失败、白屏,要另一个脚本 rum.js。两个各管一摊,可以只装一个, 也可以都装 —— 都装的话用同一个 ID,数据在同一个看板里。

脚本收什么在哪看
tk.js访问量、来源、页面、访客行为网站分析
rum.jsJS 报错、接口失败、性能与出错前的操作轨迹崩溃监控

接入代码加载中…

App(iOS / Android / Flutter / React Native / Unity) 的接入在 应用监控 —— 那几端要下载 SDK。

小程序接入

微信 / 支付宝 / 抖音 / 百度小程序,用同一个 mp.js。 和网页一样是引一个脚本,不用下载 SDK。 自动接管 request 上报接口异常、跟随页面路由、捕获内存告警。

接入代码加载中…

App 接入

网页与小程序之外,577 还收 iOS / Android / Flutter / React Native / Unity 五端的数据。它们用的是「啄木鸟」SDK,上报到同一个应用 ID,数据在同一个看板里看。

能收到什么

类型内容说明
崩溃与错误JVM / OC-Swift 异常、原生信号崩溃、ANR、JS 错误带堆栈、设备型号、系统版本与出错前的操作轨迹
设备信息品牌、型号、系统版本、App 版本、是否模拟器⚠️ 默认要用户同意隐私政策后才上报,调 setConsent(true) 放行
自定义事件你自己埋的业务事件,可带数值与属性见下一节

原生崩溃需要额外一步

Android 的 C/C++ 层崩溃(SIGSEGV 这类)要 libwoodpecker.so。 没接 CMake 构建的话它不会打进包 —— 这时 SDK 静默降级成「只抓 JVM 异常」, 并在 logcat 里留一条 WoodpeckerNative 的说明。

⚠️ 降级不报错,所以很容易以为「原生崩溃也在监控中」而其实没有。 接完之后在 logcat 里搜一下 libwoodpecker.so: 看到「未找到」就说明这一半没生效。

→ 这六端的完整接入代码在「应用监控」(不用登录就能看)。 网页端见上一节

自定义事件与转化

PV/UV 回答不了「有多少人点了『立即购买』」「哪个套餐卖得好」。 自定义事件填的就是这一块。

<!-- ⚠️ 这一行放在统计脚本**之前** --> <script>window.s577=window.s577||function(){(s577.q=s577.q||[]).push(arguments)}</script> <script> s577('signup'); // 记一次「注册」 s577('purchase', { value: 99, plan: 'pro' }); // 带金额与属性 </script>

⚠️ 那一行占位片段不能省。统计脚本是异步加载的, 落地页上「脚本还没到就点了按钮」的事件恰恰最该记 —— 有它,早期调用会先排队、加载完自动补发;没有,那批事件直接丢掉。

事件之上还有三件事

功能回答什么
转化目标把某个事件(或某个页面)标成转化,直接看转化率
漏斗不是「有多少人做到了」,而是「在哪一步掉的
事件属性plan渠道 之类的维度拆开看

口径

  • 触发次数触发人数是两个数 —— 一个人狂点 50 次和 50 个人各点一次,对生意的含义完全相反,所以分开给。
  • 转化率 = 完成目标的访客数 ÷ 同期总访客数,同一访客多次完成只算一次。
  • 事件名在服务端统一收敛(小写、去空白)—— Buy / buy / BUY 是同一个事件,不会排成三行。

App 端同样支持,各端的写法见应用监控

指标口径说明

不同统计工具对同一个词的定义常常不一样。这里写清楚 577 的口径,方便你和其他平台的数据做对照。

指标定义说明
浏览量 (PV)页面被打开的总次数同一个人刷新 10 次记 10 次
独立访客 (UV)按访客标识去重后的人数标识存在访客浏览器的 cookie 里,有效期 1 年;换浏览器或清 cookie 会算作新访客
IP 数去重后的来访 IP 数量同一办公室/同一出口网关的多人会被算作 1 个 IP,所以通常 IP 数 < UV
访问会话一次连续的访问过程30 分钟无操作自动结束;跨天的会话按天拆分
人均浏览页数PV ÷ UV数值越高说明内容越能留住人
平均访问时长会话内首末浏览的时间间隔均值只看了一个页面的会话时长为 0——这是所有基于浏览事件的统计工具的共同限制
跳出率只浏览了 1 个页面的会话占比落地页型网站天然偏高,不必与内容站横向比较
新访客 / 回访访客首次访问是否落在所选时间段内「首次」按该站点的全部历史判断,不受当前筛选影响
入口页会话的第一个页面回答「访客从哪进来的」
退出页会话的最后一个页面回答「访客从哪走的」,常用来找流失点
在线人数最近 5 分钟内有访问行为的独立访客数实时面板每 10 秒自动刷新

关于 UV 的精度: 在大流量下,UV 采用 HyperLogLog 近似去重算法计算, 误差约 0.3%。这是所有大规模分析系统的通用做法——亿级数据上做精确去重在计算上不可行。 PV、IP 数、会话数等其余指标均为精确值。

报表功能

看板总览:左侧切换站点,右侧是趋势、来源与地区

时间范围

支持「今日 / 近 7 天 / 近 30 天 / 自定义区间」。自定义最长 366 天。 每个指标都会显示环比——今日对比昨日,近 7 / 30 天对比等长的上一周期。

跳出率这类「越低越好」的指标会反向着色:下降显示绿色,上升显示红色。 上期基数极小时百分比会失真,此时显示为 >999%,把鼠标停在上面可以看到上期的具体数值。

下钻分析

「热门页面」「来源域名」「访客地区」「入口页」「退出页」这几个排行榜里的每一行都可以点击, 点击后整个看板会收敛到该条件下。多个条件可以任意叠加:

例:点击「/pricing」→ 再点「中国」→ 再点设备栏的「手机」 = 只看「来自中国、用手机、访问 /pricing 页」的数据
  • 已生效的筛选会在顶部显示为标签,可以逐个移除,也可以一键清除全部。
  • 再次点击同一行即可取消该条筛选。
  • 筛选会同时作用于所有报表、实时明细和 CSV 导出。
  • 切换站点时筛选自动清空——因为页面路径是站点专属的。

多站点汇总

一个账号有多个站点时,左侧列表顶部会出现「全部站点」入口。进去可以看到所有站点合并后的数据, 以及「站点对比」表——各站的 PV、UV、流量占比和涨跌一目了然,点击某行可直接进入该站点的独立看板。

数据导出

看板顶部的「导出明细」会按当前的时间范围和筛选条件导出 CSV, 文件带 BOM 头,Excel 直接打开不乱码。单次最多导出 5 万条。

常见问题排查

贴了代码但看板一直没数据

按这个顺序排查:

  1. 脚本能否被访问 —— 直接在浏览器打开统计代码里的那个 tk.js 地址, 应该能看到一段 JavaScript。打不开说明统计服务的域名从访客网络访问不到。
  2. 统计 ID 是否正确 —— 与看板里显示的完全一致,注意别把示例里的「你的统计ID」当成真的贴上去了。
  3. 控制台有没有报错 —— F12 看 Console 标签。
  4. 广告拦截插件 —— uBlock / AdGuard 等可能拦截统计脚本。用无痕窗口或关掉插件再试。
HTTPS 网站加载不了统计脚本

浏览器不允许 HTTPS 页面加载 HTTP 资源(混合内容会被拦截)。 请确认统计代码里的地址是 https:// 开头 —— 直接复制看板里给出的那段代码即可, 不要手工改写地址。

单页应用切换路由没有记录

脚本会自动监听 pushState / replaceState / popstate。 如果你的路由库用了别的方式改变地址,可以手动触发一次上报:

// 手动上报一次当前页面 new Image().src = 'https://577.la/collect?id=你的统计ID' + '&url=' + encodeURIComponent(location.href) + '&title=' + encodeURIComponent(document.title);
地区显示「未知」

在本机(localhost / 127.0.0.1)打开自己的网站测试时, 这是正常现象 —— 本地地址无法解析地理位置。网站上线后,真实访客会正常显示国家和城市。

如果线上访客也大面积显示「未知」,请联系我们排查。

数据和其他统计工具对不上

几乎不可能完全一致,常见原因:

  • 去重口径不同 —— 有的按 IP 去重,有的按 cookie 去重。
  • 会话超时不同 —— 30 分钟是常见值,但不是所有工具都一样。
  • 爬虫过滤策略不同 —— 过滤得多的工具数字会更低。
  • 脚本加载时机不同 —— 放 <head> 比放 </body> 前能多抓到一部分快速跳出的访客。

关注趋势比关注绝对值更有意义。

请求返回 429

触发了频率限制 —— 同一个访客 IP 在短时间内上报得太频繁。

正常浏览不会碰到这个限制。如果是压测或你的页面有循环触发上报的逻辑,请先自查; 确实是正常业务量被限住了,联系我们调整额度。

隐私与合规

  • IP 使用范围 —— 访客 IP 用于统计、地理位置解析与安全防护;请根据你面向用户的地区自行评估告知与同意要求。
  • 页面内容 —— 默认不读取表单内容;会话录制启用时,敏感输入字段仍会被屏蔽。
  • 数据不外流 —— 你的统计数据只用于生成你自己的报表,不共享给任何第三方,也不用于广告。
  • 访客标识 —— 存在访客浏览器的 cookie 里(_577_vid),仅用于区分新老访客。

面向欧盟用户的网站需要自行评估 GDPR 合规要求(如 Cookie 同意横幅)。 本工具不提供法律意见。