---
title: "Iterable Connector"
description: "Vollständiger Leitfaden zur Iterable-Integration für die Synchronisation von Usern, Kampagnen, Experimenten und Engagement-Events mit Brevo über Tajo."
url: https://tajo.io/de/docs/connectors/marketing/iterable/
markdown: https://tajo.io/de/docs/connectors/marketing/iterable.md
lang: de-DE
robots: noindex
---

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.

# Iterable Connector

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

| Quellfeld | Zielfeld | Beispielwert |
| --- | --- | --- |
| `record.id` | `source_id` | `record_1042` |
| `record.updated_at` | `updated_at` | `2026-10-18T08:00:00Z` |
| `record.value` | `value` | `sample_value` |

Verbinde deine Iterable-Growth-Marketing-Plattform mit Brevo für ein einheitliches Kunden-Engagement, kanalübergreifende Kampagnenkoordination und konsolidierte Analytics über deine Marketing-Tools hinweg.

## Überblick

| Eigenschaft | Wert |
| --- | --- |
| **Plattform** | Iterable |
| **Kategorie** | Marketing |
| **Einrichtungsaufwand** | Mittel |
| **Offizielle Integration** | Nein |
| **Synchronisierte Daten** | User, Events, Kampagnen, Kataloge |
| **API-Typ** | REST API |
| **Authentifizierung** | API-Schlüssel |
| **Basis-URL** | `https://api.iterable.com/api/` |

## Funktionen

- **User-Profile-Sync** - Bidirektionale Synchronisation der User-Daten mit Brevo-Kontakten
- **Kampagnen-Analytics** - Synchronisiere Kampagnen-Send-, Open- und Click-Metriken für ein einheitliches Reporting
- **Experiment-Daten** - Tracke A/B-Test-Ergebnisse und Gewinner-Varianten
- **Catalog-Sync** - Synchronisiere Produkt- und Content-Kataloge plattformübergreifend
- **Workflow-Events** - Leite Workflow-Trigger- und Completion-Events an Brevo weiter
- **Sync der Channel-Präferenzen** - Repliziere Kommunikationspräferenzen der User in Brevo

## Voraussetzungen

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

1. Ein Iterable-Konto mit API-Zugriff
2. Einen Iterable-API-Schlüssel mit den passenden Berechtigungen
3. Deine Iterable-Projekt-ID
4. Ein Brevo-Konto mit API-Zugriff
5. Ein Tajo-Konto mit aktivem Abonnement

## Authentifizierung

Iterable nutzt eine API-Schlüssel-Authentifizierung, die im Request-Header übergeben wird.

### API-Schlüssel erstellen

1. Melde dich in deinem Iterable-Dashboard an
2. Navigiere zu **Integrations** > **API Keys**
3. Klicke auf **New API Key**
4. Benenne ihn “Tajo Integration”
5. Wähle den Schlüsseltyp **Server-side**
6. Erteile die folgenden Berechtigungen:

```
Users: Read/Write
Events: Read/Write
Campaigns: Read
Lists: Read/Write
Catalogs: Read
Experiments: Read
Workflows: Read
Templates: Read
Channels: Read
Message Types: Read
```

Schlüsseltyp ist entscheidend

Verwende für die Tajo-Integration immer einen **Server-side**-API-Schlüssel. Mobile- und JavaScript-seitige Schlüssel haben eingeschränkte Berechtigungen und können nicht auf alle erforderlichen Endpoints zugreifen.

### Mit Tajo verbinden

```bash
tajo connectors install iterable \
  --api-key $ITERABLE_API_KEY
```

## Konfiguration

### Grundeinrichtung

```yaml
connectors:
  iterable:
    enabled: true

    sync:
      users: true
      events: true
      campaigns: true
      catalogs: true
      experiments: true

    lists:
      all_users: 16
      engaged_users: 17
      inactive_users: 18
```

### Feldzuordnung

Ordne Iterable-User-Felder den Brevo-Kontaktattributen zu:

```yaml
field_mapping:
  # Standard fields
  userId: ITERABLE_ID
  email: email
  firstName: FIRSTNAME
  lastName: LASTNAME
  phoneNumber: SMS

  # Engagement data
  signupDate: SIGNUP_DATE
  totalPurchases: TOTAL_PURCHASES
  lastPurchaseDate: LAST_PURCHASE

  # Custom fields
  plan_name: PLAN_NAME
  company_size: COMPANY_SIZE
  preferred_channel: PREFERRED_CHANNEL
  lifecycle_stage: LIFECYCLE_STAGE
```

### Event-Konfiguration

```yaml
event_mapping:
  # Iterable event -> Brevo event
  purchase: ORDER_PLACED
  addToCart: CART_UPDATED
  pageView: PAGE_VIEWED
  appOpen: APP_OPENED
  pushOpen: PUSH_ENGAGED
```

## API-Endpoints

Tajo integriert sich mit den folgenden Iterable-API-Endpoints:

| Endpoint | Methode | Zweck |
| --- | --- | --- |
| `/users/update` | POST | User-Profile aktualisieren |
| `/users/{email}` | GET | User anhand der E-Mail abrufen |
| `/users/bulkUpdate` | POST | User per Batch aktualisieren |
| `/events/track` | POST | Custom Events tracken |
| `/events/trackBulk` | POST | Events per Batch tracken |
| `/campaigns` | GET | Alle Kampagnen auflisten |
| `/campaigns/metrics` | GET | Kampagnen-Performance-Daten |
| `/experiments/metrics` | GET | Experiment-Ergebnisse |
| `/lists` | GET | Alle User-Listen auflisten |
| `/lists/subscribe` | POST | User zu einer Liste hinzufügen |
| `/lists/unsubscribe` | POST | User aus einer Liste entfernen |
| `/catalogs/{catalogName}/items` | GET | Katalog-Einträge abrufen |
| `/channels` | GET | Messaging-Kanäle auflisten |
| `/export/data.json` | GET | Rohe Event-Daten exportieren |

## Code-Beispiele

### Connector initialisieren

```javascript
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('iterable', {
  apiKey: process.env.ITERABLE_API_KEY
});
```

### User synchronisieren

```javascript
// Incremental user sync from Iterable to Brevo
await tajo.connectors.sync('iterable', {
  type: 'incremental',
  resources: ['users'],
  since: '2024-01-01',
  batchSize: 50
});

const status = await tajo.connectors.status('iterable');
console.log(status);
// {
//   connected: true,
//   lastSync: '2024-03-15T09:45:00Z',
//   usersCount: 58700,
//   campaignsTracked: 42,
//   eventsProcessed: 210000
// }
```

### Events tracken

```javascript
// Forward Iterable events to Brevo
await tajo.connectors.handleEvent('iterable', {
  type: 'custom_event',
  payload: {
    email: 'user@example.com',
    eventName: 'subscription_upgraded',
    dataFields: {
      previousPlan: 'starter',
      newPlan: 'pro',
      mrr: 99.00
    }
  }
});
```

### Webhook-Handler

```javascript
// Handle Iterable system webhooks
app.post('/webhooks/iterable', async (req, res) => {
  const event = req.body;

  await tajo.connectors.handleWebhook('iterable', {
    type: event.eventName,
    payload: event
  });

  res.status(200).send('OK');
});
```

## Rate Limits

Iterable wendet Rate Limits abhängig von deinem Plan an:

| Plan | Rate Limit | Limit für Bulk-Endpoints |
| --- | --- | --- |
| **Growth** | 500 Anfragen/Sekunde | 500 Anfragen/Sekunde |
| **Enterprise** | Individuell | Individuell |

Endpoint-spezifische Limits:

| Endpoint | Limit |
| --- | --- |
| `/users/update` | 500 req/s |
| `/users/bulkUpdate` | 500 req/s (1.000 User pro Anfrage) |
| `/events/track` | 500 req/s |
| `/events/trackBulk` | 500 req/s (8.000 Events pro Anfrage) |
| `/export/data.json` | 4 parallele Anfragen |

Bulk-Endpoints

Tajo bündelt User-Updates automatisch (bis zu 1.000 pro Aufruf) und Event-Tracks (bis zu 8.000 pro Aufruf), um den Durchsatz zu maximieren und gleichzeitig innerhalb der Rate Limits zu bleiben.

## Fehlerbehebung

### Häufige Probleme

| Problem | Ursache | Lösung |
| --- | --- | --- |
| 401 Unauthorized | Ungültiger API-Schlüssel | Schlüssel in Iterable unter Integrations > API Keys prüfen |
| User werden nicht synchronisiert | Falscher Schlüsseltyp | Stelle sicher, dass du einen Server-side-API-Schlüssel verwendest |
| Fehlende Kampagnendaten | Unzureichende Berechtigungen | Berechtigung “Campaigns Read” zum API-Schlüssel hinzufügen |
| Export-Timeout | Großes Datenvolumen | Datumsbereichsfilter nutzen, um die Exportgröße zu verringern |
| Doppelte User | Inkonsistente Identifier | Die E-Mail konsequent als primären Identifier verwenden |

### Debug-Modus

```yaml
connectors:
  iterable:
    debug: true
    log_level: verbose
    log_api_calls: true
```

### Verbindung testen

```bash
tajo connectors test iterable
# ✓ API connection successful
# ✓ User data accessible
# ✓ Campaign list readable
# ✓ Event tracking operational
# ✓ List management available
```

## Best Practices

1. **Bulk-Endpoints nutzen** - Bevorzuge `bulkUpdate` und `trackBulk` für große Datenmengen
2. **Per E-Mail deduplizieren** - Nutze die E-Mail als konsistenten Identifier in Iterable und Brevo
3. **Inkrementell synchronisieren** - Nutze Datumsbereiche, um historische Daten nicht erneut zu verarbeiten
4. **Channel-Präferenzen mappen** - Synchronisiere Opt-in-/Opt-out-Status, um Compliance zu gewährleisten
5. **Export-Jobs überwachen** - Große Exporte können dauern; richte ein Status-Polling ein
6. **Mit Nicht-Produktivprojekt testen** - Validiere Mappings, bevor du Produktionsdaten synchronisierst

## Sicherheit

- **API-Schlüssel-Authentifizierung** - Server-side-Schlüssel mit granularen Berechtigungen
- **Nur HTTPS** - Die gesamte API-Kommunikation wird per TLS 1.2+ verschlüsselt
- **Schlüsselrotation** - Unterstützung mehrerer aktiver API-Schlüssel während der Rotation
- **Verschlüsselte Speicherung** - API-Anmeldedaten werden in Tajo im Ruhezustand verschlüsselt
- **JWT-Webhooks** - Webhook-Payloads werden per JWT zur Verifizierung signiert

## Verwandte Ressourcen

- [Braze Connector](https://tajo.io/de/docs/connectors/marketing/braze)
- [Customer.io Connector](https://tajo.io/de/docs/connectors/marketing/customerio)
- [Customer-Sync-Skill](https://tajo.io/de/docs/skills/data-sync/customer-sync)
- [Brevo Contacts API](https://tajo.io/de/docs/contact-management)
