更多: 快速开始
- 在网站上安装 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 吗?
- 怎么从服务端上报事件?
- 怎么在 React 上安装 TapCub?
- 怎么在 Vue 上安装 TapCub?
- 怎么在 Next.js 上安装 TapCub?
- 怎么为 TapCub 客服抓取 HAR 文件?
- 怎么创建和管理 API 密钥?
- 怎么用 HTTP API 发送事件?
- 本分类全部文章
简短回答
通过 nuxt.config 的 app.head(Nuxt 3)或 app.html,在 head 里加一次 TapCub 脚本标签。首次文档和客户端跳转会自动记录。tapcub.track 和 tapcub.login 只在浏览器代码里调用;服务端渲染时没有 tapcub。
简短回答
在文档 head 里加一次 TapCub 脚本标签:Nuxt 3 通过 nuxt.config 的 app.head,或者写在 app.html 里。它会记录首次文档加载和客户端跳转;tapcub 只能在浏览器里调用,不要放在服务端代码里。
站点密钥在 网站统计 › 配置 › SDK 代码 里。
1. 只加一次脚本
Nuxt 3 加在 nuxt.config 里:
// nuxt.config.ts
export default defineNuxtConfig({
app: {
head: {
script: [
{ src: 'https://static.pathclue.com/client.js', defer: true, 'data-site': 'YOUR_SITE_KEY' },
],
},
},
})
项目里有 app.html 模板的话,也可以把同一个标签写进它的 head:
<script defer src="https://static.pathclue.com/client.js" data-site="YOUR_SITE_KEY"></script>
脚本会在浏览器里自己启动。不要在组件里再创建或注入一次;重复插入会被忽略。
2. 页面浏览和路由切换
首次加载和之后使用 history 模式的路由切换,都会自动发送。哈希路由需要在同一个标签上加 data-hash="true"。
想自己发送页面浏览,在脚本上设置 data-auto-track="false",并在每次路由完成后调用 tapcub.pageview()。注意这也会关掉自动的外链和下载点击、Web Vitals 和 404 事件。见在单页应用上安装。
3. 事件和登录
tapcub.track('purchase', { revenue: 19.9 });
在客户端的点击处理函数里调用,不要放在服务端中间件或服务端插件里:服务端渲染时没有 tapcub 对象。事件名超过 100 个字符会被截断;最多保留 20 个属性,键名截到 50 个字符、字符串值截到 200 个字符。属性值只保留字符串、数字和布尔值。
用户登录后,把访客和你的用户 ID 关联起来:
tapcub.login(userId, { plan: 'pro' }, { type: 'login' });
login 来自身份脚本,调用前先确认它存在。详见识别用户。
检查是否生效
localhost 这类本地主机名默认不发送,很容易被误以为安装失败。在部署好的预览地址或线上网站测试,看浏览器网络面板里的采集请求,然后按检查安装确认。
常见问题
| 现象 | 原因 | 处理 |
|---|---|---|
| 服务端插件里报错 | 服务端没有 tapcub | 把调用移到客户端代码 |
| 服务器日志里看不到请求 | 采集在浏览器里进行 | 看浏览器的网络面板 |
| 本地开发时没有请求 | 本地主机名默认不发送 | 在部署好的地址上测试 |
| 只有第一次页面浏览 | 哈希路由却没加 data-hash="true" | 加在同一个标签上 |
| 属性丢了 | 超过 20 个属性,或者值是对象 | 发送扁平的字符串、数字或布尔值 |
不是用 Nuxt?见安装 TapCub。
这篇回答解决你的问题了吗?
我们会根据反馈修改和补充这篇内容。
提交没有成功,请稍后再试。
谢谢你的反馈,我们会据此改进这篇内容。你已经反馈过这篇了,谢谢。