---
title: "Twilio Segment 连接器"
description: "完整的 Twilio Segment 集成指南，通过 Tajo 将客户数据、事件和受众细分与 Brevo 同步。"
url: https://tajo.io/zh-cn/docs/connectors/custom/segment/
markdown: https://tajo.io/zh-cn/docs/connectors/custom/segment.md
lang: zh-CN
robots: noindex
---

申请抢先体验

请输入您的名字和公司电子邮箱地址。我们会发送确认 Tajo 访问申请的链接。

# Twilio Segment 连接器

连接器状态: 计划中 尚未构建。Tajo 目前不运行此连接器。

| 来源字段 | 目标字段 | 示例值 |
| --- | --- | --- |
| `record.id` | `source_id` | `record_1042` |
| `record.updated_at` | `updated_at` | `2026-10-18T08:00:00Z` |
| `record.value` | `value` | `sample_value` |

通过 Tajo 将 Twilio Segment 连接到 Brevo，统一您的客户数据管道，将来自任意来源的事件路由到 Brevo，并利用 Segment 的身份解析实现更丰富的营销自动化。

## 概览

| 属性 | 值 |
| --- | --- |
| **平台** | Twilio Segment |
| **类别** | 数据平台（自定义） |
| **设置复杂度** | 中等 |
| **官方集成** | 否 |
| **同步数据** | 事件、用户、特征、受众 |
| **可用技能** | 8 |

## 功能

- **通用数据收集** - 通过 Segment SDK 从网站、移动应用和服务器收集事件
- **来源路由** - 通过 Tajo 将来自 400+ 来源的数据路由到 Brevo
- **身份解析** - 自动合并匿名和已知用户档案
- **受众同步** - 将 Segment 计算特征和受众发送到 Brevo 列表
- **事件流** - 通过 Segment 的 Connections 框架实现实时事件转发
- **反向 ETL** - 使用 Segment 反向 ETL 将数仓数据同步回 Brevo
- **架构强制** - 在同步前使用 Segment Protocols 验证事件架构

## 前提条件

开始之前，请确保您已具备：

1. 已配置来源的 Twilio Segment 工作区
2. 该来源的 Segment Write Key
3. 具有 API 访问权限的 Brevo 账户
4. 具有 API 凭据的 Tajo 账户

## 认证

### Segment Write Key

Segment 使用 Write Key 对来源进行认证，Write Key 是绑定到每个来源的唯一标识符。

```javascript
// Analytics.js initialization with Write Key
analytics.load("YOUR_SEGMENT_WRITE_KEY");
```

### Tajo API 令牌

使用您的凭据配置 Tajo 连接器：

```bash
tajo connectors install segment \
  --write-key $SEGMENT_WRITE_KEY \
  --workspace-slug your-workspace \
  --brevo-api-key $BREVO_API_KEY
```

## 配置

### 基础设置

```yaml
connectors:
  segment:
    enabled: true
    write_key: "your-segment-write-key"
    data_region: "us"  # or "eu" for EU workspace

    # Data sync options
    sync:
      identify: true
      track: true
      page: true
      group: false

    # Brevo list assignment
    lists:
      all_contacts: 5
      active_users: 6
      high_value: 7
```

### 事件映射

将 Segment 追踪事件映射到 Brevo 事件类型：

```yaml
event_mapping:
  # Segment event -> Brevo event
  "Order Completed": "order_completed"
  "Product Viewed": "product_viewed"
  "Cart Updated": "cart_updated"
  "Signed Up": "customer_created"
  "Checkout Started": "checkout_started"

  # Custom events
  "Feature Used": "feature_used"
  "Plan Upgraded": "plan_upgraded"
```

### 特征映射

将 Segment identify 特征映射到 Brevo 联系人属性：

```yaml
trait_mapping:
  email: email
  firstName: FIRSTNAME
  lastName: LASTNAME
  phone: SMS
  plan: PLAN_TYPE
  company: COMPANY
  createdAt: SIGNUP_DATE
  lifetimeValue: LTV
```

## API 端点

| 方法 | 端点 | 描述 |
| --- | --- | --- |
| `POST` | `/v1/identify` | 识别带特征的用户 |
| `POST` | `/v1/track` | 追踪事件 |
| `POST` | `/v1/page` | 记录页面浏览 |
| `POST` | `/v1/screen` | 记录屏幕浏览 |
| `POST` | `/v1/group` | 将用户与群组关联 |
| `POST` | `/v1/alias` | 合并两个用户身份 |
| `POST` | `/v1/batch` | 批量发送多条消息 |
| `POST` | `/v1/import` | 批量导入历史数据 |

## 代码示例

### 使用 Tajo 目标初始化 Segment

```javascript
import { TajoClient } from '@tajo/sdk';

const tajo = new TajoClient({
  apiKey: process.env.TAJO_API_KEY,
  brevoApiKey: process.env.BREVO_API_KEY
});

// Connect Segment source
await tajo.connectors.connect('segment', {
  writeKey: process.env.SEGMENT_WRITE_KEY,
  workspaceSlug: 'your-workspace'
});
```

### 通过 Segment 追踪事件

```javascript
// Identify a user - syncs to Brevo contacts
analytics.identify("user_123", {
  email: "jane@example.com",
  firstName: "Jane",
  lastName: "Kim",
  plan: "premium",
  lifetimeValue: 450.00
});

// Track an event - forwards to Brevo
analytics.track("Order Completed", {
  orderId: "ORD-1234",
  revenue: 89.99,
  currency: "USD",
  products: [
    { id: "SKU-001", name: "Widget", price: 89.99 }
  ]
});

// Page view tracking
analytics.page("Pricing", {
  title: "Pricing - Tajo",
  url: "https://tajo.io/pricing"
});
```

### 服务端事件转发（Node.js）

```javascript
const Analytics = require('analytics-node');
const analytics = new Analytics(process.env.SEGMENT_WRITE_KEY);

// Batch identify users from your database
const users = await db.query('SELECT * FROM users WHERE updated_at > $1', [lastSync]);

for (const user of users) {
  analytics.identify({
    userId: user.id,
    traits: {
      email: user.email,
      firstName: user.first_name,
      lastName: user.last_name,
      totalOrders: user.order_count,
      lifetimeValue: user.ltv
    }
  });
}

// Flush the queue
await analytics.flush();
```

## 速率限制

| 套餐 | 限制 | 时间窗口 |
| --- | --- | --- |
| **免费** | 1,000 事件/秒 | 每来源 |
| **团队** | 10,000 事件/秒 | 每来源 |
| **企业** | 自定义 | 每工作区 |
| **批量 API** | 最大 500 KB | 每请求 |
| **最大批次大小** | 100 个事件 | 每次批量调用 |

批次大小限制

每次批量请求最多包含 100 个事件，且不得超过 500 KB。对于大型历史数据导入，请使用 Segment 批量导入 API。

## 故障排除

| 问题 | 原因 | 解决方案 |
| --- | --- | --- |
| 事件未出现在 Brevo | 目标未启用 | 在 Segment 中启用 Tajo 目标 |
| 用户特征未同步 | 缺少邮箱标识符 | 确保 identify 调用中包含 `email` 特征 |
| 重复联系人 | 多个匿名 ID | 实施正确的 `alias` 调用进行身份合并 |
| 事件延迟 | 高流量队列 | 检查 Segment 的事件投递仪表板 |
| 架构违规 | 计划外事件 | 检查 Segment Protocols 追踪计划 |
| 429 速率限制错误 | 请求过多 | 实施批处理或降低事件频率 |

## 最佳实践

1. **track 前先调用 identify** - 始终在 `track` 之前调用 `identify`，确保事件归因到正确用户
2. **实施追踪计划** - 使用 Segment Protocols 强制执行事件架构
3. **批量服务端调用** - 服务端集成使用批量 API 以减少 HTTP 开销
4. **明确映射特征** - 定义特征到属性的映射，而非依赖默认值
5. **使用 Segment Functions** - 在事件到达 Brevo 之前进行传输中转换
6. **监控事件投递** - 检查 Segment 的事件投递仪表板以发现失败事件
7. **设置 Replay** - 启用 Segment Replay 以重新处理历史事件

## 安全

- **TLS 加密** - 所有数据通过 HTTPS/TLS 1.2+ 传输
- **Write Key 隔离** - 每个来源拥有独立的 Write Key
- **GDPR 合规** - Segment 支持数据删除和抑制请求
- **SOC 2 Type II** - Segment 通过 SOC 2 Type II 认证
- **区域数据托管** - 提供欧盟工作区选项用于数据驻留合规

## 相关资源

- [Amplitude 连接器](https://tajo.io/zh-cn/docs/connectors/custom/amplitude)
- [Mixpanel 连接器](https://tajo.io/zh-cn/docs/connectors/custom/mixpanel)
- [客户同步技能](https://tajo.io/zh-cn/docs/skills/data-sync/customer-sync)
- [Brevo 事件 API](https://tajo.io/zh-cn/docs/events-engagement/create-event)
