---
title: "客户同步"
description: "把客户数据同步并迁移到 Brevo，具备 fail-closed 的同意证明、抑制状态延续，以及由运营人员掌控的冲突解决。"
url: https://tajo.io/zh-cn/docs/skills/data-sync/customer-sync/
markdown: https://tajo.io/zh-cn/docs/skills/data-sync/customer-sync.md
lang: zh-CN
robots: noindex
---

申请抢先体验

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

# 客户同步

Tajo 通过两种方式把客户数据送入 Brevo：**持续同步**（已连接平台的变更源源不断流入 Brevo）和**批量迁移**（从 Mailchimp、Klaviyo、HubSpot、Salesforce、Shopify、WooCommerce、Stripe 等平台进行满负荷、可断点续传的迁移）。两者跑在同一套引擎上，并共享一条没有商量余地的性质：**同意要逐条记录被证明，绝不被假定。**

## 同意如何判定

每条记录在进入营销受众之前，都要先通过一道 fail-closed 的同意闸门：

| 判定 | 会发生什么 |
| --- | --- |
| **同意已被证明**（例如 Mailchimp 的 `subscribed`、Klaviyo 的 `SUBSCRIBED`、Shopify 的营销同意） | 导入到你选择的 Brevo 列表中 |
| **明确拒绝**（已退订、已选择不接收） | **不会被丢弃**：会作为黑名单联系人带入 Brevo，并记入禁止联系名册，因此新平台绝不会给他们发信 |
| **因送达能力被抑制**（硬退信、垃圾邮件投诉，例如 Mailchimp 的 `cleaned`、Klaviyo 的 `HARD_BOUNCE`/`SPAM_COMPLAINT`） | 同样作为黑名单带过去，并标记为粘性：日后在另一个平台上的选择接收，绝不会解除一次退信或投诉 |
| **未被证明**（完全没有同意信号） | 拒绝。“我们无法证明同意”和“存在同意”永远不是同一个结论 |

“拒绝”和“未被证明”的区别很重要：一次退订是必须在迁移中存活下来的决定；而一个缺失的字段根本算不上决定。

### 各平台的同意来源

| 平台 | 同意证据 | 抑制信号 |
| --- | --- | --- |
| Mailchimp | 成员状态 `subscribed` | `unsubscribed`（选择不接收）、`cleaned`（硬退信） |
| Klaviyo | 档案上的营销同意 `SUBSCRIBED` | 带原因的抑制列表（`UNSUBSCRIBE`、`USER_SUPPRESSED`、`HARD_BOUNCE`、`INVALID_EMAIL`、`SPAM_COMPLAINT`） |
| Shopify | `email_marketing_consent.state` / `accepts_marketing` | 明确的 `not_subscribed` |
| HubSpot | 订阅状态（批量 API，每次调用 100 个联系人） | `hs_email_optout` |
| Salesforce | 无法从 Sales Cloud 批量证明，身份可以迁移，但受众入组保持关闭 | `HasOptedOutOfEmail`、`EmailBouncedDate` |
| WooCommerce / Stripe | 不从购买行为推断，一条客户记录不等于营销同意 | 无 |

## 迁移过程中的冲突解决

当来源与 Brevo 对同一个地址的判断不一致时，按你选择的模式解决：

- **最新决定胜出（默认）**：同意决定带有更新时间戳的一方胜出。没有可解析时间戳的一方，永远输给有时间戳的一方；两边都没有时间戳时，可触达程度更低的状态胜出。
- **事实来源**：由你为本次迁移指定权威平台（“以来源为准”或“以 Brevo 为准”）。如果你的工作区已经声明了记录系统，该平台会自动成为默认权威。
- **在所有模式下**：硬退信和垃圾邮件投诉是送达能力的事实，而不是偏好；它们绝不会因为一次更新的选择接收而被解除抑制，而且引擎拒绝处理的每一个冲突都会被计数并报告，绝不会被悄悄跳过。

## 满负荷下的可靠性

- 基于游标的抽取会带着检查点走完整张来源表（10 万以上联系人）；崩溃后从最后一个完成的批次恢复，重试也绝不会重复写入（每条记录都有幂等键）。
- 写入 Brevo 使用批量导入 API（每块 10,000 个联系人），并处在 Brevo 的速率限制之内；抑制状态随导入一起送达，因此不存在“先可触达、后被抑制”的窗口。
- 每次运行都会报告哪些动了、哪些没动：已导入的联系人、带过去的明确拒绝、已传播的抑制、被搁置的冲突，以及每条记录的失败原因。

## 迁移之后同步带来什么

迁移完成后，同样这些连接会让 Brevo 保持最新：平台 webhook（Shopify、WooCommerce、WordPress、Mailchimp）近乎实时地送来变更，轮询型来源则按计划刷新。在来源侧观察到的退订会翻转账本中的同意状态，并留下何时、来自何处、依据什么证据的审计轨迹。

## 配置

1. 在 Tajo 中连接来源平台（按连接器使用 API key 或 OAuth）。
2. 连接 Brevo 并选择目标列表。
3. 选择冲突解决模式（或采用默认值）。
4. 运行迁移；在启用自动化之前，先查看报告，其中包括被搁置的冲突。

同意与抑制的处理无法通过配置关闭。没有任何设置能把已退订的联系人当作可发信联系人导入。
