Beantrage frühzeitigen Zugang

Gib deinen Vornamen und deine geschäftliche E-Mail-Adresse ein. Wir senden dir einen Link, mit dem du deine Anfrage für den Tajo-Zugang bestätigst.

Customer.io Connector

Connector-Status: Geplant Noch nicht gebaut. Tajo betreibt diesen Connector heute nicht.

Illustration · Beispieldaten

Sync-Beispiel

Einen Datensatz prüfen

Quelle

Customer.io

Connector-Status: Geplant

Ziel

Ihr anderes Tool

Connector-Status: Eigenes Tool

QuellfeldZielfeldBeispielwert
record.id source_id record_1042
record.updated_at updated_at 2026-10-18T08:00:00Z
record.value value sample_value
  1. Entwerfen
  2. Einen Datensatz prüfen
  3. Diese Version freigeben

Der Status gilt für einzelne Connectoren und garantiert nicht, dass dieser Sync bereit ist. Felder zur Veranschaulichung. Prüfen Sie vor dem Sync das tatsächliche Schema und die Berechtigungen.

Verbinde deine Customer.io-Messaging-Plattform mit Brevo für einheitliche Kundendaten, plattformübergreifende Kampagnenkoordination und konsolidierte Engagement-Analytics.

Überblick

EigenschaftWert
PlattformCustomer.io
KategorieMarketing
EinrichtungsaufwandMittel
Offizielle IntegrationNein
Synchronisierte DatenPeople, Events, Kampagnen, Segmente
Genutzte APIsTrack API, App API, Pipelines API
AuthentifizierungSite ID + API-Schlüssel / App-API-Schlüssel
Basis-URLstrack.customer.io, api.customer.io

Funktionen

  • People-Sync - Bidirektionale Synchronisation der Kundenprofile mit Brevo-Kontakten
  • Event-Weiterleitung - Tracke Verhaltensevents und leite sie an Brevo weiter, um Automationen auszulösen
  • Kampagnen-Analytics - Synchronisiere Kampagnen-Performance-Metriken für ein einheitliches Reporting
  • Workflow-Daten - Spiegele Customer.io-Workflow-Status in Brevo-Kontaktattribute
  • Segment-Replikation - Repliziere Customer.io-Segmente als Brevo-Listen
  • Object-Data-Sync - Synchronisiere Non-People-Objekte und Beziehungsdaten

Voraussetzungen

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

  1. Ein Customer.io-Konto mit API-Zugriff
  2. Deine Site ID und deinen Track-API-Schlüssel (zu finden unter Settings > API Credentials)
  3. Einen App-API-Schlüssel zum Lesen von Kampagnen- und Segmentdaten
  4. Ein Brevo-Konto mit API-Zugriff
  5. Ein Tajo-Konto mit aktivem Abonnement

Authentifizierung

Customer.io nutzt zwei getrennte APIs mit unterschiedlichen Authentifizierungsmethoden:

Track API (Verhaltensdaten)

Wird genutzt, um People, Events und Gerätedaten zu senden. Die Authentifizierung erfolgt über Site ID und API-Schlüssel per Basic Auth.

Terminal window
# Basic Auth: Site ID as username, API Key as password
curl -X POST https://track.customer.io/api/v1/customers/user123 \
-u "$SITE_ID:$API_KEY" \
-H "Content-Type: application/json" \
-d '{"email": "[email protected]"}'

App API (Daten lesen)

Wird genutzt, um Kampagnen, Segmente und Kundendaten abzurufen. Die Authentifizierung erfolgt über ein Bearer-Token.

Terminal window
curl -X GET https://api.customer.io/v1/campaigns \
-H "Authorization: Bearer $APP_API_KEY"

Trennung der API-Schlüssel

Der Track-API-Schlüssel und der App-API-Schlüssel sind unterschiedliche Anmeldedaten. Der Track-API-Schlüssel wird zum Schreiben von Daten verwendet, während der App-API-Schlüssel zum Lesen von Daten dient. Für die vollständige Tajo-Integration werden beide benötigt.

Mit Tajo verbinden

Terminal window
tajo connectors install customerio \
--site-id $CIO_SITE_ID \
--track-api-key $CIO_TRACK_API_KEY \
--app-api-key $CIO_APP_API_KEY

Konfiguration

Grundeinrichtung

connectors:
customerio:
enabled: true
region: "us" # or "eu" for EU data center
sync:
people: true
events: true
campaigns: true
segments: true
objects: false
lists:
all_contacts: 12
active_subscribers: 13
churned: 14

Feldzuordnung

Ordne Customer.io-Person-Attribute den Brevo-Kontaktattributen zu:

field_mapping:
# Standard fields
id: CIO_ID
email: email
first_name: FIRSTNAME
last_name: LASTNAME
phone: SMS
# Engagement metrics
created_at: SIGNUP_DATE
last_activity: LAST_ACTIVE
plan: PLAN_NAME
# Custom attributes
company: COMPANY
role: JOB_TITLE
mrr: MONTHLY_REVENUE
lifecycle_stage: LIFECYCLE_STAGE

Event-Mapping

event_mapping:
# Customer.io event -> Brevo event
purchase_completed: ORDER_PLACED
subscription_started: SUBSCRIPTION_START
feature_activated: FEATURE_USED
support_ticket_opened: SUPPORT_REQUEST

API-Endpoints

Tajo integriert sich mit den folgenden Customer.io-API-Endpoints:

EndpointMethodeAPIZweck
/api/v1/customers/{id}PUTTrackEine Person anlegen oder aktualisieren
/api/v1/customers/{id}/eventsPOSTTrackEin Person-Event tracken
/api/v1/eventsPOSTTrackAnonyme Events tracken
/api/v2/entityPOSTTrackPeople/Objects anlegen oder aktualisieren (Pipelines)
/v1/campaignsGETAppKampagnen auflisten
/v1/campaigns/{id}/metricsGETAppKampagnen-Performance-Metriken
/v1/segmentsGETAppSegmente auflisten
/v1/segments/{id}/membershipGETAppSegment-Mitglieder abrufen
/v1/customers/{id}/attributesGETAppKundenattribute abrufen
/v1/customers/{id}/activitiesGETAppAktivitätsprotokoll einer Kundin/eines Kunden abrufen

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
});
await tajo.connectors.connect('customerio', {
siteId: process.env.CIO_SITE_ID,
trackApiKey: process.env.CIO_TRACK_API_KEY,
appApiKey: process.env.CIO_APP_API_KEY,
region: 'us'
});

People zu Brevo synchronisieren

// Incremental sync of Customer.io people
await tajo.connectors.sync('customerio', {
type: 'incremental',
resources: ['people'],
since: '2024-01-01',
batchSize: 100
});
const status = await tajo.connectors.status('customerio');
console.log(status);
// {
// connected: true,
// lastSync: '2024-03-15T14:20:00Z',
// peopleCount: 32500,
// campaignsTracked: 18,
// eventsProcessed: 87000
// }

Events weiterleiten

// Forward Customer.io reporting webhook events to Brevo
app.post('/webhooks/customerio', async (req, res) => {
const events = req.body;
for (const event of events) {
await tajo.connectors.handleEvent('customerio', {
type: event.metric,
payload: {
customerId: event.data.customer_id,
campaignId: event.data.campaign_id,
timestamp: event.timestamp
}
});
}
res.status(200).send('OK');
});

Segment exportieren

const result = await tajo.connectors.exportSegment('customerio', {
segmentId: 42,
targetList: 13,
includeAttributes: ['email', 'first_name', 'last_name', 'plan']
});
console.log(`Exported ${result.count} people to Brevo list 13`);

Rate Limits

Customer.io wendet je API unterschiedliche Rate Limits an:

APIRate LimitHinweise
Track API~100 Anfragen/SekundePro Workspace
App API10 Anfragen/SekundePro API-Schlüssel
Pipelines API100 Anfragen/SekundeEmpfohlen für Bulk-Daten
Batch-Endpoint1.000 People pro AnfrageMaximaler Payload 500 KB

Batch-Endpoints nutzen

Für große Synchronisationen nutzt Tajo den Customer.io-Batch-Endpoint und sendet bis zu 1.000 People pro Anfrage, um die Anzahl der API-Aufrufe deutlich zu reduzieren.

Fehlerbehebung

Häufige Probleme

ProblemUrsacheLösung
401 UnauthorizedUngültige Site ID oder ungültiger API-SchlüsselAnmeldedaten unter Customer.io Settings > API überprüfen
People werden nicht synchronisiertFehlender IdentifierStelle sicher, dass jede Person eine id oder email hat
Events werden nicht getracktFalscher API-Schlüssel-TypFür Events den Track-API-Schlüssel nutzen, nicht den App-API-Schlüssel
EU-Daten nicht zugreifbarFalsche Region konfiguriertRegion für EU-Workspaces auf eu setzen
Rate-Limit-FehlerZu viele App-API-AufrufePolling-Frequenz für Kampagnendaten reduzieren

Debug-Modus

connectors:
customerio:
debug: true
log_level: verbose
log_api_calls: true

Verbindung testen

Terminal window
tajo connectors test customerio
# ✓ Track API connection successful
# ✓ App API connection successful
# ✓ People accessible
# ✓ Campaigns readable
# ✓ Segments listable

Best Practices

  1. Pipelines API für Bulk-Daten nutzen - Die neuere Pipelines API ist für High-Volume-Ingestion optimiert
  2. Reporting-Webhooks einrichten - Leite Customer.io-E-Mail-Events in Echtzeit an Tajo weiter
  3. Lifecycle-Phasen mappen - Synchronisiere Customer.io-Segmentmitgliedschaften in Brevo-Attribute
  4. Konsistente Identifier verwenden - Gleiche id-Felder zwischen Customer.io und Brevo ab
  5. Inkrementell synchronisieren - Vermeide Full-Exports und nutze last_activity-Zeitstempel
  6. Webhook-Zustellung überwachen - Richte Alerts für fehlgeschlagene Webhook-Zustellungen ein

Sicherheit

  • Basic Auth - Die Track API authentifiziert sich mit Site ID und API-Schlüssel
  • Bearer Token - Die App API nutzt OAuth-ähnliche Bearer-Tokens
  • Nur HTTPS - Die gesamte API-Kommunikation wird per TLS 1.2+ verschlüsselt
  • Regionale Rechenzentren - EU-Rechenzentrum als Option für die DSGVO-Konformität
  • Verschlüsselte Speicherung - Alle Anmeldedaten werden in Tajo im Ruhezustand verschlüsselt
  • Webhook-Signaturen - Webhook-Payloads werden mit HMAC-Signaturen verifiziert

Verwandte Ressourcen

Beantrage frühzeitigen Zugang

Gib deinen Vornamen und deine geschäftliche E-Mail-Adresse ein. Wir senden dir einen Link, mit dem du deine Anfrage für den Tajo-Zugang bestätigst.

AI-Assistent

Hallo! Fragen Sie mich alles über die Dokumentation.

Diese Seite als Markdown: customerio.md

Markdown wird geladen …
In Claude öffnen In ChatGPT öffnen