Mailchimp Connector

Verbinde dein Mailchimp-Konto über Tajo mit Brevo für eine nahtlose Audience-Migration, die Synchronisation von Kampagnendaten und einheitliche Marketing-Automatisierung über beide Plattformen hinweg.

Überblick

EigenschaftWert
PlattformMailchimp
KategorieMarketing
EinrichtungsaufwandEinfach
Offizielle IntegrationJa
Synchronisierte DatenKontakte, Kampagnen, Automationen, Events
API-Basis-URLhttps://{dc}.api.mailchimp.com/3.0

Funktionen

  • Audience-Sync - Migriere und synchronisiere Mailchimp-Audiences mit Brevo-Kontaktlisten
  • Kampagnendaten - Synchronisiere Kampagnen-Performance-Daten für ein einheitliches Reporting
  • Automations-Migration - Ordne Mailchimp-Automationen Brevo-Workflows zu
  • Engagement-Metriken - Synchronisiere Öffnungen, Klicks und Bounce-Daten in Brevo-Attribute
  • Segment-Mapping - Repliziere Mailchimp-Segmente als Brevo-Listen oder -Segmente
  • E-Commerce-Daten - Synchronisiere Store-, Produkt- und Bestelldaten aus Mailchimp E-Commerce
  • Tag-Sync - Ordne Mailchimp-Tags Brevo-Kontaktattributen oder -Listen zu
  • Template-Migration - Exportiere Mailchimp-Templates zur Nutzung in Brevo-Kampagnen

Voraussetzungen

Bevor du beginnst, stelle sicher, dass du Folgendes hast:

  1. Ein Mailchimp-Konto (Free, Essentials, Standard oder Premium)
  2. Einen Mailchimp-API-Schlüssel oder eine OAuth-App
  3. Ein Brevo-Konto mit API-Zugriff
  4. Ein Tajo-Konto

Authentifizierung

API-Schlüssel-Authentifizierung

Erzeuge einen API-Schlüssel unter Mailchimp Account > Extras > API Keys.

Terminal window
curl https://{dc}.api.mailchimp.com/3.0/ping \
--user "anystring:{api_key}" \
-H "Content-Type: application/json"

Das Data-Center-Präfix {dc} ist der letzte Teil deines API-Schlüssels (z. B. us21).

OAuth 2.0

Für Integrationen mit mehreren Konten:

Terminal window
# Authorization URL
https://login.mailchimp.com/oauth2/authorize?
response_type=code&
client_id={client_id}&
redirect_uri={redirect_uri}
# Token exchange
curl -X POST https://login.mailchimp.com/oauth2/token \
-d "grant_type=authorization_code" \
-d "client_id={client_id}" \
-d "client_secret={client_secret}" \
-d "redirect_uri={redirect_uri}" \
-d "code={auth_code}"

Data Center

Extrahiere das Data Center immer aus deinem API-Schlüssel oder dem OAuth-Metadata-Endpoint. Ein falsches Data Center führt zu Authentifizierungsfehlern.

Konfiguration

Grundeinrichtung

connectors:
mailchimp:
enabled: true
api_key: "${MAILCHIMP_API_KEY}"
data_center: "us21"
# Data sync options
sync:
audiences: true
campaigns: true
automations: true
ecommerce: true
# Audience to Brevo list mapping
audience_mapping:
"Main Audience": 40
"Newsletter": 41
"Customers": 42

Feldzuordnung

Ordne Mailchimp-Merge-Fields den Brevo-Kontaktattributen zu:

Standardzuordnungen

Parameter Type Description
email_address required
string

E-Mail des Abonnenten (eindeutige Kennung)

FNAME optional
string

Merge-Feld für den Vornamen, wird FIRSTNAME zugeordnet

LNAME optional
string

Merge-Feld für den Nachnamen, wird LASTNAME zugeordnet

PHONE optional
string

Merge-Feld für die Telefonnummer, wird SMS zugeordnet

status optional
string

Abonnementstatus (subscribed, unsubscribed, cleaned, pending)

tags optional
array

Tags der Abonnent:innen für die Segmentierung

stats.avg_open_rate optional
number

Durchschnittliche E-Mail-Open-Rate

stats.avg_click_rate optional
number

Durchschnittliche E-Mail-Click-Rate

Zuordnung benutzerdefinierter Merge Fields

field_mapping:
# Standard fields
email_address: email
FNAME: FIRSTNAME
LNAME: LASTNAME
PHONE: SMS
# Engagement metrics
stats.avg_open_rate: AVG_OPEN_RATE
stats.avg_click_rate: AVG_CLICK_RATE
member_rating: ENGAGEMENT_SCORE
# E-commerce fields
ecommerce_data.total_revenue: TOTAL_REVENUE
ecommerce_data.number_of_orders: ORDER_COUNT
# Custom merge fields
MMERGE5: COMPANY_NAME
MMERGE6: CUSTOMER_TYPE

API-Endpoints

Audiences (Lists)

MethodeEndpointBeschreibung
GET/3.0/listsAlle Audiences auflisten
GET/3.0/lists/{list_id}Details einer Audience abrufen
GET/3.0/lists/{list_id}/membersMitglieder einer Audience auflisten
POST/3.0/lists/{list_id}/membersEin Mitglied hinzufügen
PUT/3.0/lists/{list_id}/members/{hash}Ein Mitglied aktualisieren
POST/3.0/lists/{list_id}Batch subscribe/unsubscribe

Kampagnen

MethodeEndpointBeschreibung
GET/3.0/campaignsKampagnen auflisten
GET/3.0/campaigns/{id}Kampagnendetails abrufen
GET/3.0/reports/{id}Kampagnen-Report abrufen
GET/3.0/reports/{id}/email-activityE-Mail-Aktivität abrufen

Automationen

MethodeEndpointBeschreibung
GET/3.0/automationsAutomationen auflisten
GET/3.0/automations/{id}Details einer Automation abrufen
GET/3.0/automations/{id}/emailsE-Mails einer Automation auflisten

E-Commerce

MethodeEndpointBeschreibung
GET/3.0/ecommerce/storesVerbundene Stores auflisten
GET/3.0/ecommerce/stores/{id}/customersKund:innen eines Stores auflisten
GET/3.0/ecommerce/stores/{id}/ordersBestellungen eines Stores auflisten
GET/3.0/ecommerce/stores/{id}/productsProdukte eines Stores auflisten

Events

Kampagnen-Events

EventAuslöserAnwendungsfall
campaign.sentKampagne zugestelltPerformance-Tracking
campaign.openedE-Mail geöffnetEngagement-Scoring
campaign.clickedLink angeklicktInteressen-Tracking
campaign.bouncedE-Mail ist gebouncedListen-Hygiene

Subscriber-Events

EventAuslöserAnwendungsfall
subscribeNeue:r Abonnent:in hinzugefügtWillkommens-Flow
unsubscribeAbmeldung durch Abonnent:inPräferenz-Management
profileProfil aktualisiertAttribut-Synchronisation
cleanedE-Mail bereinigt (Bounce)Listen-Wartung

E-Commerce-Events

EventAuslöserAnwendungsfall
ecommerce.orderBestellung aufgegebenPost-Purchase-Flow
ecommerce.cartWarenkorb aktualisiertRecovery abgebrochener Warenkörbe

Code-Beispiele

Connector initialisieren

import { TajoClient } from '@tajo/sdk';
const tajo = new TajoClient({
apiKey: process.env.TAJO_API_KEY,
brevoApiKey: process.env.BREVO_API_KEY
});
// Connect Mailchimp
await tajo.connectors.connect('mailchimp', {
apiKey: process.env.MAILCHIMP_API_KEY
});

Audiences zu Brevo migrieren

// Full audience migration from Mailchimp to Brevo
await tajo.connectors.sync('mailchimp', {
type: 'full',
resources: ['audiences', 'campaigns', 'ecommerce'],
options: {
preserveTags: true,
migrateSegments: true,
includeUnsubscribed: false
}
});
// Check migration status
const status = await tajo.connectors.status('mailchimp');
console.log(status);
// {
// connected: true,
// lastSync: '2024-01-15T10:30:00Z',
// contactsMigrated: 52000,
// campaignsSynced: 245,
// segmentsMapped: 18
// }

Kampagnen-Engagement-Daten synchronisieren

// Sync campaign performance to Brevo attributes
await tajo.connectors.sync('mailchimp', {
type: 'incremental',
resources: ['campaigns'],
options: {
syncEngagement: true,
updateContactMetrics: true,
since: '2024-01-01'
}
});

Rate Limits

Rate Limits der Mailchimp Marketing API:

TypLimitDetails
Standard10 parallele AnfragenPro API-Schlüssel
Batch-Operationen500 Operationen pro BatchPro Anfrage
Export-Limit1 paralleler ExportPro Konto
Transactional25 Anfragen/SekundePro API-Schlüssel

Rate-Limit-Strategie

Mailchimp begrenzt parallele Verbindungen, nicht Anfragen pro Sekunde. Nutze Batch-Endpoints und implementiere Retry-Logik mit exponentiellem Backoff bei 429-Antworten.

Fehlerbehebung

Häufige Probleme

ProblemUrsacheLösung
401 UnauthorizedUngültiger API-Schlüssel oder falsches Data CenterAPI-Schlüssel prüfen und das richtige dc-Präfix extrahieren
Member existsE-Mail ist bereits in der AudiencePUT statt POST verwenden, um bestehende Mitglieder zu aktualisieren
Compliance stateDSGVO-Löschung verhindert erneutes HinzufügenKontakt muss sich erneut über ein Anmeldeformular anmelden
Batch-TimeoutGroße Batch-OperationIn kleinere Batches zu je 500 Operationen aufteilen
Fehlende Merge-FieldsCustom Fields nicht angelegtMerge-Fields in Mailchimp anlegen, bevor du sie zuordnest

Debug-Modus

Ausführliches Logging aktivieren:

connectors:
mailchimp:
debug: true
log_level: verbose
log_api_calls: true

Verbindung testen

Terminal window
tajo connectors test mailchimp
# ✓ API connection successful
# ✓ Audiences readable
# ✓ Campaigns readable
# ✓ E-commerce data accessible
# ✓ Webhook configured

Best Practices

  1. Batch-Operationen nutzen - Verwende Batch-Subscribe/-Unsubscribe für Massenupdates
  2. Abonnementstatus bewahren - Respektiere die Einwilligung der Abonnent:innen bei der Migration
  3. Merge-Fields zuerst mappen - Lege entsprechende Brevo-Attribute vor der Synchronisation an
  4. Engagement-Daten synchronisieren - Importiere Open-/Click-Rates für eine historische Segmentierung
  5. Compliance-Status beachten - Respektiere DSGVO- und permanente Löschstatus
  6. Inkrementellen Sync verwenden - Synchronisiere nur die seit dem letzten Sync geänderten Daten, um API-Nutzung zu reduzieren

Sicherheit

  • API-Schlüssel-Authentifizierung - Secret-Key als HTTP-Basic-Auth-Passwort übergeben
  • OAuth 2.0 - Token-basierte Autorisierung für den Zugriff auf mehrere Konten
  • TLS-Verschlüsselung - Die gesamte API-Kommunikation wird per HTTPS verschlüsselt
  • Webhook-Verifizierung - Validiere die Webhook-Quelle mit einem Shared Secret
  • Data-Center-Isolation - Daten werden in regionsspezifischen Data Centers gespeichert

Verwandte Ressourcen

Subscribe to updates

developer-docs

Drop your email or phone number — we'll send you what matters next.

auto-detect
AI-Assistent

Hallo! Fragen Sie mich alles über die Dokumentation.