埋点安装
标准安装是一段 async 脚本,放在要统计的每个页面 </body> 之前。把 XXXX 换成「站点管理」里显示的 site_id。
<script async src="https://9ping.dev/hm.min.js" data-sid="XXXX"></script>
如果用 Google Tag Manager:新建「自定义 HTML 代码」标签,粘贴同一段,触发条件选 All Pages。
访客禁用 JavaScript、或在邮件 / AMP 等无脚本环境,加一段 1×1 像素兜底——至少能记到 PV。
<noscript><img src="https://9ping.dev/collect.php?sid=XXXX&type=pv" width="1" height="1" alt=""></noscript>
单页应用(React / Vue / Next / Nuxt 等):启动时注入一次脚本——客户端路由切换会自动算一次虚拟 PV。
(function(){var s=document.createElement('script');s.async=true;s.src='https://9ping.dev/hm.min.js';s.dataset.sid='XXXX';document.head.appendChild(s);})();
自定义事件
埋点加载后,全局 window.tj 函数即可用于按钮点击、表单提交、下载等临时事件。签名是 category, action, label。
tj('event', 'button', 'click', 'download_whitepaper');
自己控制路由时,可用 tj('pv') 显式上报一次 PV。脚本加载前的早期点击:早期桩会排队并在脚本加载后回放,无需 setTimeout 包一层。
所有权验证
建议在打开高级报表前完成验证。「站点管理」每个站列出四种等价方法——选最方便的一种。
方法一 · HTML 文件。在后台下载 tj-verify-TOKEN.html,上传到网站根目录。
方法二 · meta 标签。把一段 meta 粘到首页 <head>。
<meta name="tj-site-verification" content="YOUR_TOKEN">
方法三 · 统计代码。首页已运行我们的 tag 并至少有一次访问,即自动验证。方法四 · DNS TXT。在主域上添加一条 TXT:tj-site-verification=YOUR_TOKEN。
开放 API 与批量部署
每个账号自带一个个人 API 密钥(前缀 tjk_),可通过 HTTPS 列站、建站、取埋点码、读数据。鉴权方式:发送 X-API-Key 请求头。
curl -H "X-API-Key: $TJ_KEY" "https://9ping.dev/openapi.php?action=sites"
要在一台 Linux 上把埋点铺到整个站群:从「站点管理」下载 tj-deploy.sh。它会逐域名调 API 注册、生成埋点码,并可选地注入到你的模板。
开放 API 支持从文本文件批量建站,每行可以是裸域名或 域名|名称。完整动作列表见 API 文档。
安全:两步验证与恢复码
所有后台账号强制 Google Authenticator 两步验证(TOTP,RFC 6238)。注册时会拿到 10 个一次性恢复码——务必妥善保存;丢失手机时它们是唯一兜底。
恢复码一次性,服务端只存哈希。找回入口在登录页「用恢复码找回」;找回流程允许你重置密码并重新绑定验证器。
从 GA4 或百度统计迁移
你不需要为试用 9ping 而下掉原埋点——两段埋点可以并存、各自独立上报,这是切换前用一周对账最稳的姿势。
迁移步骤:在「站点管理」添加你的域名,把一行埋点粘到 </body> 之前(或通过 GTM 推送),看实时面板亮起,确定无误后再撤掉旧埋点。
自定义事件可平滑迁移:例如 GA4 名为 signup、参数 method/plan 的事件,对应 tj('event','signup',method,plan)。9ping 的目标与漏斗通过标记相关事件实现,无需单独维护一份目标配置。