Marketing-Automatisierung: Mailchimp, HubSpot, ActiveCampaign und Brevo
Synchronisieren Sie CRM-Kontakte mit Ihrer Mailchimp-, HubSpot-, ActiveCampaign- oder Brevo-Liste/Zielgruppe und erhalten Sie Anmeldungen und Abmeldungen zurück (BYO-Modell, das Konto gehört also Ihnen).
Die Marketing-Automatisierungs-Integration nutzt IHR Mailchimp-, HubSpot-, ActiveCampaign- oder Brevo-Konto (BYO-Modell: Sie bringen Ihr eigenes Konto mit). CRM-Kontakte werden in Ihrer Liste/Zielgruppe hinzugefügt/aktualisiert (Synchronisierung nach E-Mail, idempotent), und Anmelde-/Abmeldeereignisse kommen zurück ins CRM und aktualisieren den Marketingstatus des Kontakts. Es entstehen keine Kosten, keine Marge und keine Vermittlung auf unserer Seite: Die Daten gehen direkt an Ihr Konto und kommen von dort zurück.
Die Integration startet inaktiv: Es passiert nichts, bis Sie die Zugangsdaten ausfüllen und aktivieren. Alle Geheimnisse (API-Schlüssel, Token, Client Secret) werden verschlüsselt im CRM gespeichert und nie wieder angezeigt. Jede Plattform hat ihre eigene Karte unter Einstellungen → Integrationen; die Webhook-URL ist eindeutig (/api/inbound/marketing/…), und das CRM erkennt anhand des URL-Tokens, um welche Plattform es sich handelt.
Voraussetzungen
- Ein Mailchimp-, HubSpot- oder ActiveCampaign-Konto mit Administratorzugriff, um API-Schlüssel/Token zu generieren und Webhooks zu erstellen.
- Mailchimp: der Server-Präfix (z. B. us21), die Audience-ID und ein API-Schlüssel (Account → Extras → API keys).
- HubSpot: eine Private App (Settings → Integrations → Private Apps) mit den Scopes crm.objects.contacts.read/write. ActiveCampaign: die API-URL und der API-Schlüssel (Settings → Developer).
- Brevo (früher Sendinblue): ein API-Schlüssel (SMTP & API → API Keys) und, wenn Sie Kontakte zu einer Liste hinzufügen möchten, die numerische Listen-ID (Contacts → Lists).
- In Sellio: Administratorzugriff, um die Zugangsdaten zu speichern und die Integration unter Einstellungen → Integrationen zu aktivieren.
Was synchronisiert wird
- Ausgehend (CRM → Anbieter): Jeder Kontakt mit einer E-Mail-Adresse wird als Mitglied/Kontakt Ihrer Liste/Zielgruppe gesendet. Der Upsert ist idempotent nach E-Mail, ein erneutes Senden dupliziert also nicht (Mailchimp verwendet den MD5-Hash der E-Mail; HubSpot führt Upsert per idProperty=email aus; ActiveCampaign nutzt /contact/sync; Brevo nutzt POST /v3/contacts mit updateEnabled). Vorname, Nachname und Telefonnummer werden mitgesendet. Bei Brevo wählen Sie zusätzlich, welchem Attribut jedes Sellio-Feld zugeordnet wird (Feldzuordnung).
- In Brevo können Sie jeden Kontakt außerdem an die LISTE senden, die zu seiner Kundengruppe passt, statt alle an dieselbe Liste zu schicken: Geben Sie an, welches Kontaktfeld die Gruppe enthält, und schreiben Sie eine Regel pro Zeile im Format Gruppe = Liste. Eine Gruppe ohne Regel geht an die Standardliste, damit niemand wegen einer fehlenden Einstellung leer ausgeht.
- Eingehend (Anbieter → CRM): Meldet sich jemand an oder ab, aktualisiert der Webhook den entsprechenden Kontakt im CRM (Felder marketing_status und email_opt_in im Datensatz), abgeglichen per E-Mail. Existiert die E-Mail nicht im CRM, wird das Ereignis ignoriert (es wird nichts erstellt).
- Echtzeit: Sobald Sie einen Kontakt im CRM erstellen oder bearbeiten, wird er automatisch mit jedem aktiven Marketing-Connector (Mailchimp, ActiveCampaign, HubSpot und Brevo) synchronisiert, ohne auf den Stapel zu warten. Dies erfolgt im Best-Effort-Modus und läuft nur, wenn mindestens ein Connector aktiv ist.
- Die Schaltfläche "Kontakte synchronisieren" auf der Karte sendet die CRM-Kontakte im Batch (Best-Effort, bis zu 200 auf einmal), praktisch für die erste Ladung oder um Ihre Kontakte erneut zu verarbeiten.
Mailchimp
- Öffnen Sie Einstellungen → Integrationen und suchen Sie die Karte "Marketing (Mailchimp)".
- Füllen Sie den Server-Präfix aus (z. B. us21, der Teil nach dem Bindestrich in Ihrem API-Schlüssel und in der Dashboard-Adresse), die Audience-ID (Audience → Settings → Audience ID) und den API-Schlüssel (Account → Extras → API keys). Klicken Sie auf "Zugangsdaten speichern".
- Kopieren Sie die "Webhook-URL".
- Erstellen Sie in Mailchimp → Audience → Settings → Webhooks einen Webhook mit Verweis auf diese URL und aktivieren Sie die Ereignisse subscribe und unsubscribe. Mailchimp signiert Webhooks nicht: Die Sicherheit liegt im nicht vorhersehbaren URL-Token, behandeln Sie ihn also als geheim.
- Kehren Sie zum CRM zurück und klicken Sie auf "Aktivieren". Verwenden Sie "Kontakte synchronisieren" für den ersten Massenversand.
HubSpot
- Suchen Sie im CRM die Karte "Marketing (HubSpot)".
- Erstellen Sie eine Private App unter Settings → Integrations → Private Apps mit den Scopes crm.objects.contacts.read und .write; fügen Sie das Access Token in das Feld "Private-App-Token" ein. Geben Sie optional das Client Secret einer HubSpot-App ein, um die Webhook-Signatur zu prüfen. Klicken Sie auf "Zugangsdaten speichern".
- Kopieren Sie die "Webhook-URL".
- Konfigurieren Sie in HubSpot einen Workflow-Webhook (oder App-Webhook), der per POST (JSON) an diese URL sendet und dabei die E-Mail-Adresse des Kontakts sowie den Marketingstatus einschließt. Haben Sie das Client Secret eingegeben, signiert HubSpot jeden Aufruf (X-HubSpot-Signature); andernfalls dient das URL-Token als Schutz.
- Kehren Sie zum CRM zurück und klicken Sie auf "Aktivieren".
ActiveCampaign
- Suchen Sie im CRM die Karte "Marketing (ActiveCampaign)".
- Füllen Sie die API-URL und den API-Schlüssel aus (beides unter Settings → Developer → API Access). Klicken Sie auf "Zugangsdaten speichern".
- Kopieren Sie die "Webhook-URL".
- Erstellen Sie in ActiveCampaign → Settings → Manage Webhooks einen Webhook mit Verweis auf diese URL und aktivieren Sie die Ereignisse subscribe und unsubscribe. ActiveCampaign signiert Webhooks nicht: Die Sicherheit liegt im nicht vorhersehbaren URL-Token, behandeln Sie ihn also als geheim.
- Kehren Sie zum CRM zurück und klicken Sie auf "Aktivieren".
Brevo (früher Sendinblue)
- Suchen Sie im CRM die Karte "Marketing (Brevo)".
- Generieren Sie in Brevo einen API-Schlüssel unter SMTP & API → API Keys (oder über das Konto-Zahnrad → SMTP & API). Kopieren Sie den Schlüssel.
- Fügen Sie ihn zurück in Sellio in das Feld "API-Schlüssel" ein. Möchten Sie Kontakte zu einer Liste hinzufügen, geben Sie die numerische Listen-ID ein (die Nummer erscheint in der Listen-URL unter Contacts → Lists); lassen Sie es leer, um den Kontakt nur zu erstellen/aktualisieren.
- Verknüpfen Sie unter "Feldzuordnung" jedes Sellio-Kontaktfeld mit dem passenden Brevo-Attribut (Großbuchstaben). Standardwerte sind FIRSTNAME, LASTNAME, SMS (Telefon) und COMPANY (Unternehmen). Leer lassen, um den Standard zu verwenden. Erstellen Sie eventuelle benutzerdefinierte Attribute zuerst unter Contacts → Settings → Contact attributes, sonst ignoriert Brevo ein nicht existierendes Attribut. Klicken Sie auf "Zugangsdaten speichern".
- Kopieren Sie die "Webhook-URL".
- Erstellen Sie in Brevo → Settings → Webhooks einen Marketing-Webhook mit Verweis auf diese URL und aktivieren Sie das Ereignis unsubscribe. Brevo signiert Webhooks nicht: Die Sicherheit liegt im nicht vorhersehbaren URL-Token, behandeln Sie ihn also als geheim.
- Kehren Sie zum CRM zurück und klicken Sie auf "Aktivieren". Verwenden Sie "Kontakte synchronisieren" für den ersten Massenversand.
Behandeln Sie die Webhook-URLs und die Zugangsdaten als geheim. Wo Mailchimp/ActiveCampaign die Aufrufe nicht signieren, liegt die Sicherheit im nicht vorhersehbaren URL-Token (dasselbe Modell wie bei Website-Formularen); bei HubSpot geben Sie das Client Secret ein, um die Signatur zu verlangen. Wenn Sie versuchen zu aktivieren, ohne die erforderlichen Zugangsdaten einzugeben, bleibt die Integration inaktiv, und es wird nichts synchronisiert, bis alles vorhanden ist.
So testen Sie
- Ausgehend: Klicken Sie auf der Karte auf "Kontakte synchronisieren" und prüfen Sie in der Liste/Zielgruppe Ihres Anbieters, ob die Kontakte mit einer E-Mail-Adresse erschienen sind (ohne Duplizierung).
- Eingehend: Melden Sie eine Test-E-Mail-Adresse an/ab, die bereits als Kontakt im CRM existiert, und bestätigen Sie, dass die Felder marketing_status und email_opt_in des Kontakts aktualisiert wurden.
- Senden Sie denselben Kontakt und dasselbe Ereignis erneut und bestätigen Sie, dass der Endzustand gleich bleibt (Idempotenz).
Fehlerbehebung
- Mailchimp 401/Serverfehler: Der Server-Präfix (z. B. us21) muss zu Ihrem Konto passen; prüfen Sie außerdem die Audience-ID und den API-Schlüssel.
- HubSpot 401: Das Private-App-Token ist falsch oder es fehlen die Scopes crm.objects.contacts.read/write. Erstellen Sie die Private App mit den Scopes neu und fügen Sie das Token erneut ein.
- ActiveCampaign 401: Prüfen Sie die API-URL und den API-Schlüssel (Settings → Developer → API Access), beide vom selben Konto.
- Brevo 401/403: Der API-Schlüssel ist falsch oder wurde widerrufen. Generieren Sie einen neuen unter SMTP & API → API Keys und fügen Sie ihn erneut ein. Erscheint ein Attribut nicht beim Brevo-Kontakt, erstellen Sie es zuerst unter Contacts → Settings → Contact attributes (Brevo ignoriert nicht existierende Attribute). Tritt der Kontakt der Liste nicht bei, prüfen Sie die numerische Listen-ID.
- Eingehend aktualisiert den Kontakt nicht: Existiert die E-Mail des Ereignisses nicht im CRM, wird nichts erstellt (so vorgesehen). Registrieren Sie den Kontakt zuerst. Bestätigen Sie, dass der Webhook auf die "Webhook-URL" verweist und subscribe/unsubscribe aktiviert sind.
- HubSpot: ungültige Signatur: Haben Sie das Client Secret eingegeben, muss der Header X-HubSpot-Signature übereinstimmen. Andernfalls entfernen Sie das Secret und verlassen Sie sich auf das URL-Token.