Kundensynchronisation
Tajo bewegt Kundendaten auf zwei Wegen nach Brevo: laufender Sync (Änderungen einer verbundenen Plattform fließen kontinuierlich nach Brevo) und Massenmigration (ein wiederaufnehmbarer Transfer im vollen Volumen aus Mailchimp, Klaviyo, HubSpot, Salesforce, Shopify, WooCommerce, Stripe und anderen). Beides läuft auf derselben Engine und teilt eine nicht verhandelbare Eigenschaft: Einverständnis wird pro Datensatz nachgewiesen, nie angenommen.
Wie über das Einverständnis entschieden wird
Jeder Datensatz passiert ein fail-closed Einverständnis-Gate, bevor er in eine Marketing-Zielgruppe kommt:
| Urteil | Was passiert |
|---|---|
Einverständnis nachgewiesen (z. B. Mailchimp subscribed, Klaviyo SUBSCRIBED, Marketing-Einverständnis in Shopify) | Import in die von dir gewählten Brevo-Listen |
| Ausdrücklich abgelehnt (abgemeldet, Opt-out) | Wird nicht verworfen, sondern als gesperrter Kontakt nach Brevo übernommen und im Do-not-contact-Register festgehalten, damit die neue Plattform ihn nie anschreiben kann |
Wegen Zustellbarkeit gesperrt (Hard Bounce, Spam-Beschwerde, z. B. Mailchimp cleaned, Klaviyo HARD_BOUNCE/SPAM_COMPLAINT) | Wird als gesperrt übernommen und dauerhaft markiert: ein späteres Opt-in auf einer anderen Plattform hebt einen Bounce oder eine Beschwerde nie auf |
| Nicht nachgewiesen (überhaupt kein Einverständnis-Signal) | Abgelehnt. „Wir konnten kein Einverständnis nachweisen“ und „es gibt ein Einverständnis“ sind nie dasselbe Ergebnis |
Der Unterschied zwischen „abgelehnt“ und „nicht nachgewiesen“ zählt: Eine Abmeldung ist eine Entscheidung, die die Migration überleben muss; ein fehlendes Feld ist überhaupt keine Entscheidung.
Einverständnisquellen pro Plattform
| Plattform | Nachweis des Einverständnisses | Sperr-Signale |
|---|---|---|
| Mailchimp | Mitgliedsstatus subscribed | unsubscribed (Opt-out), cleaned (Hard Bounce) |
| Klaviyo | Marketing-Einverständnis im Profil SUBSCRIBED | Sperrliste mit Gründen (UNSUBSCRIBE, USER_SUPPRESSED, HARD_BOUNCE, INVALID_EMAIL, SPAM_COMPLAINT) |
| Shopify | email_marketing_consent.state / accepts_marketing | Ausdrückliches not_subscribed |
| HubSpot | Abonnementstatus (Batch-API, 100 Kontakte pro Aufruf) | hs_email_optout |
| Salesforce | Aus Sales Cloud nicht massenhaft nachweisbar, die Identität wandert mit, die Aufnahme in Zielgruppen bleibt geschlossen | HasOptedOutOfEmail, EmailBouncedDate |
| WooCommerce / Stripe | Wird nicht aus Käufen abgeleitet, ein Kundendatensatz ist kein Marketing-Einverständnis | – |
Konfliktlösung während der Migration
Wenn Quelle und Brevo sich bei derselben Adresse widersprechen, folgt die Lösung dem Modus, den du wählst:
- Neueste Entscheidung gewinnt (Standard): Die Seite, deren Einverständnis-Entscheidung den neueren Zeitstempel trägt, setzt sich durch. Eine Seite ohne lesbaren Zeitstempel verliert immer gegen eine Seite mit Zeitstempel; hat keine der beiden einen, gewinnt der schlechter erreichbare Zustand.
- Source of Truth: Du benennst die maßgebliche Plattform für die Migration („die Quelle hat recht“ oder „Brevo hat recht“). Wenn dein Workspace bereits ein System of Record deklariert, wird diese Plattform automatisch zur Standard-Autorität.
- In jedem Modus: Hard Bounces und Spam-Beschwerden sind Fakten zur Zustellbarkeit, keine Präferenzen, ein neueres Opt-in hebt sie nie auf, und jeder Konflikt, bei dem die Engine nicht handelt, wird gezählt und berichtet, nie stillschweigend übersprungen.
Zuverlässigkeit im vollen Volumen
- Die cursorbasierte Extraktion läuft mit Checkpoints durch die komplette Quelltabelle (100.000+ Kontakte), nach einem Absturz geht es ab dem letzten abgeschlossenen Batch weiter, und Wiederholungen schreiben nie doppelt (Idempotenzschlüssel pro Datensatz).
- Schreibvorgänge nach Brevo nutzen die Bulk-Import-API (10.000 Kontakte pro Chunk) innerhalb der Rate Limits von Brevo; der Sperrstatus reist mit dem Import mit, es gibt also kein Fenster, in dem ein Kontakt erst erreichbar und dann gesperrt ist.
- Jeder Lauf berichtet, was bewegt wurde und was nicht: importierte Kontakte, übernommene ausdrückliche Ablehnungen, weitergegebene Sperren, zurückgehaltene Konflikte und Fehlergründe pro Datensatz.
Was der Sync nach der Migration ergänzt
Nach der Migration halten dieselben Verbindungen Brevo aktuell: Plattform-Webhooks (Shopify, WooCommerce, WordPress, Mailchimp) bringen Änderungen nahezu in Echtzeit, abgefragte Quellen aktualisieren sich nach Zeitplan. An der Quelle beobachtete Abmeldungen kippen das Einverständnis im Ledger, samt Audit-Trail dazu, wann, woher und auf welcher Grundlage.
Einrichtung
- Verbinde die Quellplattform in Tajo (API-Key oder OAuth, je nach Connector).
- Verbinde Brevo und wähle die Ziellisten.
- Wähle den Modus zur Konfliktlösung (oder übernimm den Standard).
- Starte die Migration; prüfe den Report inklusive zurückgehaltener Konflikte, bevor du Automationen aktivierst.
Der Umgang mit Einverständnis und Sperren lässt sich nicht abschalten. Es gibt keine Einstellung, die abgemeldete Kontakte als anschreibbar importiert.