# 追踪器函数 (https://talivia.com/zh-CN/docs/tracker-functions)



脚本加载后，追踪器会提供一组精简的浏览器接口。

## 追踪页面浏览 [#追踪页面浏览]

```js
window.talivia.track();
```

关闭自动追踪，或需要在路由切换后手动发送页面浏览时使用此调用。

## 追踪自定义事件 [#追踪自定义事件]

```js
window.talivia.track('signup-button');
```

事件名称最多 50 个字符。

## 追踪带数据的事件 [#追踪带数据的事件]

```js
window.talivia.track('signup-button', {
  plan: 'pro',
  location: 'pricing',
});
```

事件数据可以包含字符串、数字、数组和嵌套对象。请保持负载精简：Talivia 会截断过长字符串并限制对象结构，以确保报表响应迅速。

## 覆盖页面属性 [#覆盖页面属性]

```js
window.talivia.track({
  website: 'YOUR_WEBSITE_ID',
  url: '/pricing',
  title: 'Pricing',
});
```

## 使用函数 [#使用函数]

```js
window.talivia.track(props => ({
  ...props,
  url: '/checkout',
  title: 'Checkout',
}));
```

该函数会接收当前追踪负载，并返回需要发送的负载。

## 识别访客 [#识别访客]

```js
window.talivia.identify('user_123', {
  email: 'founder@example.com',
  stripeCustomerId: 'cus_123',
});
```

请在登录或注册后调用 `identify`。Talivia 会保存会话数据，并可将付款服务商的客户关联到访客。

## 读取结账上下文 [#读取结账上下文]

```js
const sessionId = window.talivia.getSessionId();

await fetch('/api/create-checkout', {
  method: 'POST',
  headers: { 'Content-Type': 'application/json' },
  body: JSON.stringify({ sessionId }),
});
```

`getSessionId()` 返回第一方 Cookie `talivia_session_id` 中保存的不透明值。只需把这个值发送给后端，并以 `talivia_session_id` 服务商元数据附加到付款。它是归因标识符，不是身份验证凭据。
