@dub/analytics

中文文档
0.0.33发布于 2026/11/12MPL-2.0TypeScriptESM + CJS近 30 天下载 75.2万

@dub/analytics 允许您追踪 Dub 的线索和销售转换.

中文使用文档
文档目录11 节
  1. 概览
  2. 快开始
  3. 可用的道具
  4. apiHost
  5. domainsConfig
  6. shortDomain
  7. attributionModel
  8. cookieOptions
  9. queryParam
  10. trackIdentityPaths
  11. scriptProps

概览

@dub/analytics 允许您追踪 Dub 的线索和销售转换.

快开始

  1. 启用您的 Dub 链接的转换跟踪 .
  2. 安装 @dub/analytics 软件包到您的工程
npm install @dub/analytics
  1. 将分析脚本注入您的应用程序
import { Analytics as DubAnalytics } from '@dub/analytics/react';

export default function RootLayout({
  children,
}: Readonly<{
  children: React.ReactNode;
}>) {
  return (
    <html lang="en">
      <body>{children}</body>
      <DubAnalytics />
    </html>
  );
}

你们都可以使用 inject() 函数将跟踪脚本添加到其他框架.

可用的道具

你可以将以下道具传递给 Analytics 用于自定义跟踪脚本的组件.

apiHost

用于跟踪的API主机. 这对于设置反向代理以避免被阻塞有用. 默认是 https://api.dub.co。 。 。 .

domainsConfig

这是配置 Dub 将跟踪的域的 JSON 对象 .

  • refer: Dub 的短域 推荐程序客户端点击跟踪 (先前为 shortDomain) (中文(简体) ).
  • site: Dub 的短域 跟踪实地访问。 。 。 .
  • outbound: 用于跨域跟踪的一系列域. 配置时,已有 dub_id cookie将自动被附加到针对这些域的所有出行链接上,以便能够跨域跟踪不同应用程序.

shortDomain

[已删除:使用 domainsConfig.refer 转而 您在 Dub 上为您的短链接使用的自定义短域( 用于客户端点击跟踪) .

attributionModel

决定用于跟踪的归属模型. 默认是 last-click。 。 。 .

  • first-click - 第一次点击模式将所有的功劳都归功于客户旅程中的第一个触点.
  • last-click - 最后一个点击模式将所有功劳都归功于客户旅程中最后一个触点.

cookieOptions

这个 cookieOptions prop 接受以下密钥 :

密钥默认说明示例
domainnull指定 Domain Set-Cookie属性.example.com
expires90天后,我们再走指定 Date 对象为 Expires Set-Cookie属性.new Date('2024-12-31')
expiresInDays90指定数值( 天数) 为 Expires Set-Cookie属性.90
path/指定 Path Set-Cookie属性. 默认情况下,路径被认为是"默认路径"./

例如,要设置一个60天的饼干窗口,可以使用以下代码:

import { Analytics as DubAnalytics } from "@dub/analytics"

<DubAnalytics
   cookieOptions={{
      expiresInDays: 60,
   }}
/>

queryParam

用于客户端点击跟踪的查询参数(例如. ?via=john, (中文(简体) ), ?ref=jane) (中文(简体) ). 默认是 via。 。 。 .

trackIdentityPaths

在给定的路径上识别访客设备,并将其链接到他们的 Dub 点击,以进行伴侣风险监测.

路径完全匹配( 后面的斜线被忽略 ) 。 尾声 /* 也匹配路径下的一切,所以 /checkout/* 匹配 /checkout 财务报告和审定财务报表 /checkout/plan。它运行在第一页负载和客户端导航到匹配路径上.

它只用于客户端合作伙伴点击,跟踪 ?via= 或您设置的参数 queryParam (这样定) domainsConfig.refer) (中文(简体) ). 该点击设置 dub_partner_data cookie, 脚本仅在该 cookie 属于点击时识别 dub_id。点击建议和网站点击被跳过,所以它们从不使用指纹.

它每点击一次运行:在识别后,它会将设备的访客ID附加到饼干上(cookie)dub_id=<clickId>_<visitorId>) (中文(简体) ). 新的点击可以替换饼干并再次被识别. trackLead 财务报告和审定财务报表 trackSale 发送全部值, 因此 Dub 可以将客户端链接到设备中; 通过 cookie , 就像您从服务器跟踪转换时一样 。 脚本为出行链接去掉后缀,在其它地方读取 dub_id 自己做曲奇,点击ID是前面的部分 _。设备识别代理只有在识别运行时才被装入,失败者从未丢出或屏蔽页面.

身份识别需要封存客户端结果在指纹工作区被关闭,因此代理机返回访客身份识别.

<DubAnalytics trackIdentityPaths={['/signup', '/checkout/*']} />

为了有条件地识别,拨打 trackIdentity 你自己来 也一样 dub_id 规则和需要 trackIdentityPaths 加载身份变体的道具( p)trackIdentityPaths={[]} 关闭自动识别).

在法律要求设备指纹鉴定同意的情况下,使用 trackIdentityPaths={[]} 打电话 trackIdentity() 只有在来访者同意之后。 剧本没有自己的同意或选择退出设置. 先打个电话,待会再说 ?via= 点击,它不能被取消,所以如果在等待期间撤回同意,身份识别仍然可以开始.

const { trackIdentity } = useAnalytics();

await trackIdentity();

没有反应,请使用 identity 脚本变体( e)script.identity.js,或组合起来类似 script.site-visit.identity.js) (中文(简体) ). 设置路径为 data-track-identity-paths 属性和调用 dubAnalytics.trackIdentity()中,添加 trackIdentity 到片段的方法列表.

<script
  src="https://www.dubcdn.com/analytics/script.identity.js"
  data-track-identity-paths='["/signup", "/checkout/*"]'
  defer
></script>

设备识别代理从 identity-agent.js 脚本旁边。 如果您从自己的域名或代理服务脚本, 请服务 identity-agent.js 从同一个文件夹.

scriptProps

自定义要传递到脚本标记的属性 。 参见 MDN 数据 用于所有可用的选项.

版本与发布记录

@dub/analytics 共发布 30 个版本,首次发布于 2024/02/14;过去 12 个月发布了 1 个版本。

版本发布日期距今
0.0.33latest2026/11/121 天前
0.0.322025/10/081.1 年前
0.0.312025/09/301.1 年前
0.0.302025/08/221.2 年前
0.0.292025/07/291.3 年前
0.0.282025/04/241.6 年前

其他发布通道:beta → 0.0.18-beta.4。

关于 @dub/analytics 的常见问题

@dub/analytics 是什么?

@dub/analytics 允许您追踪 Dub 的线索和销售转换.

如何安装 @dub/analytics?

在项目目录运行 npm install @dub/analytics,或使用 pnpm add / yarn add / bun add。

@dub/analytics 支持 TypeScript 吗?

支持。包内自带 TypeScript 类型声明(package.json 声明了 types 入口),安装后即可获得类型提示,无需再安装 @types 包。

@dub/analytics 支持 ESM 还是 CommonJS?

同时提供 ES Module 与 CommonJS 入口,import 和 require() 都可以使用,打包工具会自动选择合适的版本。

@dub/analytics 可以商用吗?

@dub/analytics 使用 MPL-2.0 许可。弱 Copyleft:可以商用,也可以和闭源代码一起使用;但如果分发时修改了 MPL 授权的文件,这些文件的修改需以 MPL 开源。以上为概括,不构成法律意见,请以许可原文为准。

@dub/analytics 的下载量有多少?

根据 npm 官方下载统计,@dub/analytics 在 2026/10/13 – 2026/11/11 这 30 天内被下载 751,730 次,日均约 25,058 次。下载量会把 CI 构建、镜像同步和作为其他包依赖的安装一并计入,适合横向比较热度,不能直接等同于使用人数。

@dub/analytics 还在维护吗?

最新版本 0.0.33 发布于 2026/11/12(1 天前);至今共发布 30 个版本,其中过去 12 个月发布了 1 个;首次发布于 2024/02/14。发布频率只是参考信号:功能稳定的工具可能很少需要更新,建议结合源码仓库的 issue 和提交记录判断。