---
title: "Sincronização de clientes"
description: "Sincronize e migre dados de clientes para a Brevo com prova de consentimento fail-closed, transferência de supressões e resolução de conflitos controlada pelo operador."
url: https://tajo.io/pt/docs/skills/data-sync/customer-sync/
markdown: https://tajo.io/pt/docs/skills/data-sync/customer-sync.md
lang: pt-BR
robots: noindex
---

Solicite acesso antecipado

Indique o seu nome e endereço de e-mail profissional. Enviaremos um link para confirmar o seu pedido de acesso ao Tajo.

# Sincronização de clientes

A Tajo leva dados de clientes para a Brevo de duas formas: **sincronização contínua** (as mudanças de uma plataforma conectada fluem continuamente para a Brevo) e **migração em massa** (uma transferência retomável, em escala máxima, a partir de Mailchimp, Klaviyo, HubSpot, Salesforce, Shopify, WooCommerce, Stripe e outras). As duas rodam no mesmo motor e compartilham uma propriedade inegociável: **o consentimento é provado registro a registro, nunca presumido.**

## Como o consentimento é decidido

Todo registro passa por um portão de consentimento fail-closed antes de poder entrar em um público de marketing:

| Veredito | O que acontece |
| --- | --- |
| **Consentimento provado** (por exemplo, `subscribed` no Mailchimp, `SUBSCRIBED` no Klaviyo, consentimento de marketing do Shopify) | Importado para as listas da Brevo que você escolher |
| **Recusa explícita** (descadastro, opt-out) | **Não é descartado.** É levado para a Brevo como contato na blacklist e registrado no cadastro de não contatar, para que a nova plataforma nunca possa enviar mensagens a ele |
| **Suprimido por entregabilidade** (hard bounce, denúncia de spam, por exemplo `cleaned` no Mailchimp, `HARD_BOUNCE`/`SPAM_COMPLAINT` no Klaviyo) | Levado como blacklist e marcado como permanente: um opt-in posterior em outra plataforma nunca desfaz um bounce ou uma denúncia |
| **Não provado** (nenhum sinal de consentimento) | Recusado. “Não conseguimos provar o consentimento” e “existe consentimento” nunca são o mesmo resultado |

A diferença entre “recusado” e “não provado” importa: um descadastro é uma decisão que precisa sobreviver à migração; um campo ausente não é decisão nenhuma.

### Fontes de consentimento por plataforma

| Plataforma | Prova de consentimento | Sinais de supressão |
| --- | --- | --- |
| Mailchimp | Status do membro `subscribed` | `unsubscribed` (opt-out), `cleaned` (hard bounce) |
| Klaviyo | Consentimento de marketing do perfil `SUBSCRIBED` | Lista de supressão com motivos (`UNSUBSCRIBE`, `USER_SUPPRESSED`, `HARD_BOUNCE`, `INVALID_EMAIL`, `SPAM_COMPLAINT`) |
| Shopify | `email_marketing_consent.state` / `accepts_marketing` | `not_subscribed` explícito |
| HubSpot | Status de assinatura (API em lote, 100 contatos por chamada) | `hs_email_optout` |
| Salesforce | Não é comprovável em massa a partir do Sales Cloud: a identidade migra, a entrada no público fica fechada | `HasOptedOutOfEmail`, `EmailBouncedDate` |
| WooCommerce / Stripe | Não é inferido de compras: um registro de cliente não é consentimento de marketing | Nenhum |

## Resolução de conflitos durante a migração

Quando a origem e a Brevo discordam sobre o mesmo endereço, a resolução segue o modo que você escolher:

- **A decisão mais recente vence (padrão)**: prevalece o lado cuja decisão de consentimento tem o carimbo de tempo mais novo. Um lado sem carimbo de tempo interpretável sempre perde para um lado que tem; quando nenhum dos dois tem, vence o estado menos alcançável.
- **Fonte da verdade**: você indica a plataforma com autoridade na migração (“a origem está certa” ou “a Brevo está certa”). Se o seu workspace já declara um sistema de registro, essa plataforma vira a autoridade padrão automaticamente.
- **Em todos os modos**: hard bounces e denúncias de spam são fatos de entregabilidade, não preferências. Eles nunca são liberados por um opt-in mais novo, e todo conflito que o motor decide não resolver é contado e reportado, nunca ignorado em silêncio.

## Confiabilidade em escala máxima

- A extração baseada em cursor percorre a tabela de origem inteira (mais de 100 mil contatos) com checkpoints: uma queda retoma do último lote concluído, e as novas tentativas nunca gravam em duplicidade (chaves de idempotência por registro).
- As gravações na Brevo usam a API de importação em massa (10.000 contatos por bloco) dentro dos limites de taxa da Brevo; o estado de supressão viaja junto com a importação, então não existe uma janela em que o contato fique alcançável antes de ser suprimido.
- Cada execução reporta o que se moveu e o que não se moveu: contatos importados, recusas explícitas levadas, supressões propagadas, conflitos retidos e os motivos de falha registro a registro.

## O que a sincronização acrescenta depois da migração

Uma vez migrado, as mesmas conexões mantêm a Brevo atualizada: os webhooks das plataformas (Shopify, WooCommerce, WordPress, Mailchimp) trazem as mudanças em tempo quase real, e as fontes consultadas por polling se atualizam no horário programado. Os descadastros observados na origem invertem o consentimento no livro-razão, com a trilha de auditoria de quando, de onde e com base em qual evidência.

## Configuração

1. Conecte a plataforma de origem na Tajo (chave de API ou OAuth, conforme o conector).
2. Conecte a Brevo e escolha as listas de destino.
3. Escolha o modo de resolução de conflitos (ou aceite o padrão).
4. Rode a migração e revise o relatório, incluindo os conflitos retidos, antes de ativar as automações.

O tratamento de consentimento e supressão não pode ser desligado. Não existe configuração que importe contatos descadastrados como aptos a receber mensagens.
