更多: 快速开始
- 在网站上安装 TapCub
- 从 Google Analytics 4 或百度统计迁移
- 添加网站、App 或小程序
- WordPress 怎么安装 TapCub?
- Shopify 怎么安装 TapCub?
- TapCub 统计代码贴在哪里?
- 能用 Google Tag Manager 安装 TapCub 吗?
- React、Vue 或 Next.js 应用怎么统计?
- 怎么确认 TapCub 已经在收数据?
- TapCub 装好了为什么没有数据?
- 什么是站点,能添加几个?
- 站点该选哪个时区?
- 需要登记哪些域名?
- 怎么不让自己的访问进报表?
- 访客数为什么和 Google Analytics 4 对不上?
- 能同时跑 TapCub 和 Google Analytics 4 吗?
- GA4 的目标和事件怎么搬到 TapCub?
- 能把 GA4 的历史数据导入吗?
- Squarespace 怎么安装 TapCub?
- Wix 怎么安装 TapCub?
- TapCub 需要哪些内容安全策略(CSP)规则?
- 广告拦截器会拦住 TapCub 吗?
- 怎么从服务端上报事件?
- 怎么在 Nuxt 上安装 TapCub?
- 怎么在 Vue 上安装 TapCub?
- 怎么在 Next.js 上安装 TapCub?
- 怎么为 TapCub 客服抓取 HAR 文件?
- 怎么创建和管理 API 密钥?
- 怎么用 HTTP API 发送事件?
- 本分类全部文章
简短回答
在 index.html 的 head 里加一次 TapCub 脚本标签。history 模式的路由(React Router BrowserRouter)自动记录;HashRouter 需要加 data-hash="true"。事件用 tapcub.track,登录后调用 tapcub.login。localhost 默认不发送,请在部署好的地址上测试。
简短回答
在 React 应用的 index.html 里加一次 TapCub 脚本标签。它会自动记录首次加载和每次 React Router 跳转;事件用 tapcub.track(),登录后调用 tapcub.login()。
站点密钥在 网站统计 › 配置 › SDK 代码 里。
1. 只加一次脚本
Vite 或 Create React App 项目,把标签放进 index.html 的 <head>:
<script defer src="https://static.pathclue.com/client.js" data-site="YOUR_SITE_KEY"></script>
脚本会在浏览器里自己启动。不要在组件里再创建或注入一次;重复插入会被忽略。
2. 页面浏览和路由切换
首次加载和之后使用 history 模式的路由切换,都会自动发送。React Router 用 BrowserRouter 时不用再做什么;用 HashRouter 时,在同一个标签上加 data-hash="true"。
想自己发送页面浏览,在脚本上设置 data-auto-track="false",并在每次路由完成后调用 tapcub.pageview()。注意这也会关掉自动的外链和下载点击、Web Vitals 和 404 事件。见在单页应用上安装。
3. 事件和登录
tapcub.track('purchase', { revenue: 19.9 });
在浏览器里的事件处理函数或副作用里调用。React 严格模式在开发环境会把副作用执行两次;重复插入脚本会被忽略,但写在副作用里的 track 在开发环境会发两次。事件名超过 100 个字符会被截断;最多保留 20 个属性,键名截到 50 个字符、字符串值截到 200 个字符。属性值只保留字符串、数字和布尔值。
用户登录后,把访客和你的用户 ID 关联起来:
tapcub.login(userId, { plan: 'pro' }, { type: 'login' });
login 来自身份脚本,调用前先确认它存在。详见识别用户。
检查是否生效
localhost 这类本地主机名默认不发送,很容易被误以为安装失败。在部署好的预览地址或线上网站测试,看浏览器网络面板里的采集请求,然后按检查安装确认。
常见问题
| 现象 | 原因 | 处理 |
|---|---|---|
组件里没有 tapcub | 脚本还没运行,或缺少 data-site | 检查标签;用 window.tapcub?.track 做保护 |
| 本地开发时没有请求 | 本地主机名默认不发送 | 在部署好的地址上测试 |
| 只有第一次页面浏览 | 哈希路由却没加 data-hash="true" | 加在同一个标签上 |
| 属性丢了 | 超过 20 个属性,或者值是对象 | 发送扁平的字符串、数字或布尔值 |
不是用 React?见安装 TapCub。
这篇回答解决你的问题了吗?
我们会根据反馈修改和补充这篇内容。
提交没有成功,请稍后再试。
谢谢你的反馈,我们会据此改进这篇内容。你已经反馈过这篇了,谢谢。