网站统计文档
快速开始
三步完成接入,全程不需要改造后端:
安装代码
把下面这行代码粘贴到网站所有页面的 </head> 之前,SITE_KEY 在「站点设置 → 获取代码」中查看。脚本以 defer 方式加载,不阻塞页面渲染。
可选属性
通过 script 标签上的 data-* 属性调整采集行为:
| 属性 | 默认值 | 说明 |
|---|---|---|
data-site | 必填 | 站点 Key。 |
data-endpoint | fmeng.js 同源的 /collect | 上报地址。 |
data-auto | "true" | 自动统计首屏与路由切换的浏览量;设为 "false" 后改为手动调用 fmeng.pageview()。 |
data-perf | "true" | 采集页面性能;设为 "false" 关闭。 |
data-errors | "true" | 采集未处理的 JS 错误与 Promise 拒绝;设为 "false" 关闭。 |
data-links | "true" | 采集外链点击与文件下载;设为 "false" 关闭。 |
data-clicks | "false" | 采集点击热力图原始点;默认关闭,设为 "true" 开启。 |
data-click-sample | 0.2 | 点击热力图的采样率,取值 0 ~ 1。 |
data-local | "false" | 允许在 localhost、127.0.0.1 与 file 页面上报,本地调试时使用。 |
data-extra | — | 附加数据,JSON 对象,如 {"channel":"wechat"}:随每次页面浏览与自定义事件上报(最多 20 个键),在「事件分析 - 页面附加数据」查看;异步写法用 &extra=<URL 编码的 JSON>。 |
异步加载与多站点
与百度统计 hm.js 相同的异步写法:先声明命令队列 _fmq,再动态插入脚本;站点 key 放在地址的 site 参数里(也支持 fmeng.js?SITE_KEY)。脚本加载前 push 的命令会在加载后执行,不用再判断 window.fmeng 是否存在:
同一页面可以装载多个站点(如全站统计 + 栏目 / 作者各自的统计):每个站点插入一个脚本,数据分别进入各自的站点,互不影响。_fmq 与 window.fmeng 上的调用会发给页面上的全部站点;只发给某一个站点用 fmeng.get(SITE_KEY)。
其他选项也可以写在地址参数里,与 data-* 属性一一对应,如 fmeng.js?site=SITE_KEY&clicks=true&click_sample=0.2。
单页应用
基于 History API 的单页应用(Vue Router、React Router 等)无需额外代码:fmeng.js 监听 pushState、replaceState 与 popstate,路由切换后自动记一次浏览;记录会推迟到下一个事件循环,这样多数框架已经更新了 document.title。
需要自己控制时,在 script 上加 data-auto="false" 关闭自动统计,在路由完成后调用 fmeng.pageview();同一地址连续调用只记一次。
自定义事件
在按钮点击、表单提交等位置调用 fmeng.track(事件名, 属性)。事件名最长 64 个字符;属性最多 20 个,非字符串的值会转成 JSON 字符串。
上报后可在「事件分析」中按属性拆分,也可以在「站点设置 → 转化目标」中设为目标,或作为漏斗的步骤。
用户标识
用户登录后调用 fmeng.identify(用户 ID),把访客与业务用户关联起来(跨设备识别);ID 最长 128 个字符,会保存在浏览器本地。退出登录时调用 fmeng.identify(null) 清除。
调用前已排队的事件仍归属旧身份。不要把手机号、邮箱等个人信息直接作为 ID。
自动采集内容
安装后默认自动采集以下数据(点击热力图除外,需显式开启);停留时长与滚动深度随浏览量统计,其余可以单独关闭:
| 数据 | 说明 | 如何关闭 |
|---|---|---|
| 浏览量 | 首屏加载与单页应用的路由切换,附带页面标题与来源。 | data-auto="false" |
| 停留时长 | 页面的可见时长;页面隐藏或离开时上报本段增量。 | 随浏览量统计 |
| 滚动深度 | 每次浏览的最大滚动百分比(视口底部 ÷ 文档高度)。 | 随浏览量统计 |
| 页面性能 | LCP、FCP、INP、CLS、TTFB 与 Load,每次完整页面加载采一次。 | data-perf="false" |
| JS 报错 | 未处理的错误与 Promise 拒绝;同一页面相同错误只报一次,每页最多 10 条。 | data-errors="false" |
| 外链与下载 | 跨域链接点击,以及带 download 属性或常见文件扩展名的下载。 | data-links="false" |
| 点击热力图 | 按采样率记录点击坐标与元素,每次浏览最多 100 次。 | 默认关闭,data-clicks="true" 开启 |
npm 模块
需要在打包代码里控制上报时机时,使用 ESM 模块 fmeng-sdk 的 createTracker,选项与 script 属性一一对应。
验证安装
在「站点设置 → 获取代码」中点「检测安装」后,打开你的网站任意页面:控制台每 3 秒检测一次,收到首条数据后显示「已收到数据,安装成功」。
在本地调试
为避免污染数据,fmeng.js 默认不在 localhost、127.0.0.1 与 file 页面上报;本地调试时加上 data-local="true":
收不到数据时依次检查
- data-site 是否与站点 Key 一致;
- 页面是否为本地地址(需要 data-local="true");
- 是否被广告拦截插件拦截了 fmeng.js 或 /collect;
- 访问的 IP 或路径是否在「排除规则」中。