---
title: "Синхронизация клиентов"
description: "Синхронизируйте и переносите данные клиентов в Brevo с доказательством согласия по принципу fail-closed, переносом подавлений и разрешением конфликтов под контролем оператора."
url: https://tajo.io/ru/docs/skills/data-sync/customer-sync/
markdown: https://tajo.io/ru/docs/skills/data-sync/customer-sync.md
lang: ru-RU
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»). Если в вашем рабочем пространстве уже объявлена система учёта, эта платформа автоматически становится авторитетом по умолчанию.
- **В любом режиме**: жёсткие отказы доставки и жалобы на спам являются фактами доставляемости, а не предпочтениями, поэтому более новое согласие никогда не снимает подавление, а каждый конфликт, по которому движок отказался действовать, подсчитывается и попадает в отчёт, а не пропускается молча.

## Надёжность при больших объёмах

- Курсорное извлечение проходит всю исходную таблицу (100 тыс. контактов и больше) с контрольными точками, поэтому после сбоя работа возобновляется с последнего завершённого пакета, а повторы никогда не пишут дважды (ключи идемпотентности для каждой записи).
- Запись в Brevo идёт через API массового импорта (10 000 контактов в порции) в пределах лимитов Brevo; состояние подавления переносится вместе с импортом, поэтому не возникает окна, когда контакт сначала доступен, а потом подавлен.
- Каждый запуск сообщает, что перенесено и что нет: импортированные контакты, перенесённые явные отказы, распространённые подавления, отложенные конфликты и причины сбоев по каждой записи.

## Что добавляет синхронизация после миграции

После миграции те же подключения поддерживают Brevo в актуальном состоянии: вебхуки платформ (Shopify, WooCommerce, WordPress, Mailchimp) передают изменения почти в реальном времени, а опрашиваемые источники обновляются по расписанию. Отписки, замеченные в источнике, меняют согласие в реестре, вместе с журналом аудита: когда, откуда и на каком основании.

## Настройка

1. Подключите исходную платформу в Tajo (API-ключ или OAuth, в зависимости от коннектора).
2. Подключите Brevo и выберите целевые списки.
3. Выберите режим разрешения конфликтов (или оставьте значение по умолчанию).
4. Запустите миграцию и изучите отчёт, включая отложенные конфликты, прежде чем включать автоматизации.

Обработку согласия и подавления нельзя отключить в настройках. Нет параметра, который импортировал бы отписавшиеся контакты как доступные для рассылки.
