---
title: "ActiveCampaign Connector"
description: "Vollständiger Leitfaden zur ActiveCampaign-Integration für die Synchronisation von Kontakten, Deals, Automationen und Engagement-Events mit Brevo über Tajo."
url: https://tajo.io/de/docs/connectors/marketing/activecampaign/
markdown: https://tajo.io/de/docs/connectors/marketing/activecampaign.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.

# ActiveCampaign 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 dein ActiveCampaign-Konto über Tajo mit Brevo für eine umfassende Kontaktmigration, Deal-Pipeline-Synchronisation, Automations-Mapping und plattformübergreifend einheitliche Marketingdaten.

## Überblick

| Eigenschaft | Wert |
| --- | --- |
| **Plattform** | ActiveCampaign |
| **Kategorie** | Marketing |
| **Einrichtungsaufwand** | Mittel |
| **Offizielle Integration** | Nein |
| **Synchronisierte Daten** | Kontakte, Deals, Automationen, Events |
| **API-Basis-URL** | `https://{account}.api-us1.com/api/3` |

## Funktionen

- **Kontaktmigration** - Migriere Kontakte inklusive Custom Fields, Tags und Listenmitgliedschaften
- **Deal-Pipeline-Synchronisation** - Synchronisiere Deal-Phasen, -Werte und -Verantwortliche für das Umsatz-Tracking
- **Automations-Mapping** - Ordne ActiveCampaign-Automationen den Brevo-Workflow-Triggern zu
- **Event-Tracking** - Synchronisiere Site-Tracking und Custom Events für eine verhaltensbasierte Segmentierung
- **Listen- und Tag-Synchronisation** - Repliziere Listenstrukturen und tag-basierte Segmente in Brevo
- **E-Commerce-Integration** - Synchronisiere Deep Data (Orders, Customers, Carts) zu Brevo
- **Custom-Object-Sync** - Ordne ActiveCampaign-Custom-Objects den Brevo-Attributen zu
- **Score-Synchronisation** - Übertrage Lead- und Kontakt-Scores in Brevo-Attribute

## Voraussetzungen

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

1. Ein ActiveCampaign-Konto (Lite, Plus, Professional oder Enterprise)
2. API-URL und API-Schlüssel aus Settings > Developer
3. Ein Brevo-Konto mit API-Zugriff
4. Ein Tajo-Konto

## Authentifizierung

### API-Schlüssel-Authentifizierung

ActiveCampaign nutzt einen API-Schlüssel, der als Header oder Query-Parameter übergeben wird.

```bash
curl "https://{account}.api-us1.com/api/3/contacts" \
  -H "Api-Token: YOUR_API_KEY" \
  -H "Content-Type: application/json"
```

Du findest deine API-URL und deinen API-Schlüssel in den ActiveCampaign-Einstellungen unter Settings > Developer.

API-URL

Deine API-URL ist für dein Konto einzigartig (z. B. `https://yourcompany.api-us1.com`). Nutze immer diese URL, nicht die Dashboard-URL.

## Konfiguration

### Grundeinrichtung

```yaml
connectors:
  activecampaign:
    enabled: true
    api_url: "https://yourcompany.api-us1.com"
    api_key: "${AC_API_KEY}"

    # Data sync options
    sync:
      contacts: true
      deals: true
      automations: true
      events: true
      ecommerce: true

    # List mapping to Brevo
    list_mapping:
      "Main List": 50
      "Newsletter": 51
      "Customers": 52
```

### Feldzuordnung

Ordne ActiveCampaign-Felder den Brevo-Kontaktattributen zu:

#### Standardzuordnungen

| Parameter | Type | Description |
| --- | --- | --- |
| `email` required | string | E-Mail des Kontakts (eindeutige Kennung) |
| `firstName` optional | string | Wird dem FIRSTNAME-Attribut zugeordnet |
| `lastName` optional | string | Wird dem LASTNAME-Attribut zugeordnet |
| `phone` optional | string | Wird dem SMS-Attribut zugeordnet |
| `tags` optional | array | Kontakt-Tags für die Segmentierung |
| `score` optional | integer | Engagement-Score des Kontakts |
| `deals` optional | array | Zugeordnete Deal-Datensätze |
| `fieldValues` optional | array | Werte benutzerdefinierter Felder |

#### Zuordnung benutzerdefinierter Felder

```yaml
field_mapping:
  # Standard fields
  email: email
  firstName: FIRSTNAME
  lastName: LASTNAME
  phone: SMS

  # Engagement fields
  score: LEAD_SCORE
  rating: ENGAGEMENT_RATING

  # Deal fields
  deals.value: DEAL_VALUE
  deals.stage: DEAL_STAGE
  deals.owner: DEAL_OWNER

  # Custom fields
  fieldValues.company: COMPANY_NAME
  fieldValues.industry: INDUSTRY
  fieldValues.plan_tier: PLAN_TIER
```

## API-Endpunkte

### Kontakte

| Methode | Endpoint | Beschreibung |
| --- | --- | --- |
| `GET` | `/api/3/contacts` | Alle Kontakte auflisten |
| `POST` | `/api/3/contacts` | Einen Kontakt erstellen |
| `PUT` | `/api/3/contacts/{id}` | Einen Kontakt aktualisieren |
| `GET` | `/api/3/contacts/{id}` | Einen Kontakt abrufen |
| `POST` | `/api/3/contact/sync` | Einen Kontakt synchronisieren (Create oder Update) |
| `POST` | `/api/3/import/bulk_import` | Kontakte per Bulk-Import importieren |

### Deals

| Methode | Endpoint | Beschreibung |
| --- | --- | --- |
| `GET` | `/api/3/deals` | Alle Deals auflisten |
| `POST` | `/api/3/deals` | Einen Deal erstellen |
| `PUT` | `/api/3/deals/{id}` | Einen Deal aktualisieren |
| `GET` | `/api/3/dealStages` | Alle Deal-Phasen auflisten |
| `GET` | `/api/3/dealPipelines` | Alle Pipelines auflisten |

### Automationen

| Methode | Endpoint | Beschreibung |
| --- | --- | --- |
| `GET` | `/api/3/automations` | Automationen auflisten |
| `GET` | `/api/3/automations/{id}` | Eine Automation abrufen |
| `POST` | `/api/3/contactAutomations` | Kontakt einer Automation hinzufügen |

### E-Commerce (Deep Data)

| Methode | Endpoint | Beschreibung |
| --- | --- | --- |
| `POST` | `/api/3/ecomOrders` | Eine Bestellung anlegen |
| `GET` | `/api/3/ecomOrders` | Bestellungen auflisten |
| `POST` | `/api/3/ecomCustomers` | Eine Kundschaft anlegen |
| `GET` | `/api/3/ecomCustomers` | Kund:innen auflisten |

### Event-Tracking

| Methode | Endpoint | Beschreibung |
| --- | --- | --- |
| `POST` | `/api/3/tracking/event` | Ein Custom Event tracken |
| `GET` | `/api/3/eventTrackingEvents` | Alle Event-Namen auflisten |
| `POST` | `/api/3/eventTrackingEvents` | Einen Event-Namen anlegen |

## Events

### Kontakt-Events

| Event | Auslöser | Anwendungsfall |
| --- | --- | --- |
| `contact_add` | Neuer Kontakt erstellt | Willkommens-Flow |
| `contact_update` | Kontaktdaten geändert | Attribut-Synchronisation |
| `contact_tag_added` | Tag zugewiesen | Segment-Aktualisierung |
| `contact_tag_removed` | Tag entfernt | Segment-Bereinigung |

### Deal-Events

| Event | Auslöser | Anwendungsfall |
| --- | --- | --- |
| `deal_add` | Neuer Deal erstellt | Vertriebsbenachrichtigung |
| `deal_update` | Deal-Phase geändert | Pipeline-Automatisierung |
| `deal_tasktype_add` | Aufgabe einem Deal hinzugefügt | Aktivitäts-Tracking |

### Automation-Events

| Event | Auslöser | Anwendungsfall |
| --- | --- | --- |
| `automation_contact_add` | Kontakt in Automation eingetreten | Flow-Tracking |
| `automation_contact_complete` | Kontakt hat Automation abgeschlossen | Trigger für nächsten Schritt |

## 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
});

// Connect ActiveCampaign
await tajo.connectors.connect('activecampaign', {
  apiUrl: process.env.AC_API_URL,
  apiKey: process.env.AC_API_KEY
});
```

### Kontakte zu Brevo migrieren

```javascript
// Full contact migration with custom fields and tags
await tajo.connectors.sync('activecampaign', {
  type: 'full',
  resources: ['contacts', 'deals', 'events'],
  options: {
    includeTags: true,
    includeCustomFields: true,
    includeScores: true,
    includeListMemberships: true
  }
});

// Check sync status
const status = await tajo.connectors.status('activecampaign');
console.log(status);
// {
//   connected: true,
//   lastSync: '2024-01-15T10:30:00Z',
//   contactsMigrated: 28000,
//   dealsSynced: 4500,
//   eventsSynced: 120000
// }
```

### Custom Events tracken

```javascript
// Forward ActiveCampaign events to Brevo
await tajo.activecampaign.trackEvent({
  email: 'customer@example.com',
  event: 'product_demo_requested',
  eventData: {
    product: 'Enterprise Plan',
    source: 'website'
  }
});
```

## Rate Limits

Rate Limits der ActiveCampaign-API:

| Plan | Rate Limit | Details |
| --- | --- | --- |
| Lite | 5 Anfragen/Sekunde | Pro Konto |
| Plus | 10 Anfragen/Sekunde | Pro Konto |
| Professional | 10 Anfragen/Sekunde | Pro Konto |
| Enterprise | 20 Anfragen/Sekunde | Pro Konto |

Weitere Limits:

- **Bulk-Import**: 250 Kontakte pro Batch
- **Bulk-Import-Frequenz**: 1 Import gleichzeitig
- **Event-Tracking**: 2 Anfragen/Sekunde
- **Tageslimit**: Kein explizites Tageslimit (nur ratenbasiert)

Umgang mit Rate Limits

ActiveCampaign antwortet mit `429 Too Many Requests`, sobald die Limits überschritten werden. Implementiere eine Retry-Logik auf Basis des `Retry-After`-Header-Werts.

## Fehlerbehebung

### Häufige Probleme

| Problem | Ursache | Lösung |
| --- | --- | --- |
| 403 Forbidden | Ungültiger API-Schlüssel oder ungültige URL | Prüfe API-URL und -Schlüssel in den AC-Einstellungen unter Settings > Developer |
| Kontakt nicht synchronisiert | Umgang mit doppelten E-Mail-Adressen | Nutze den Endpoint `/contact/sync` für ein Upsert-Verhalten |
| Custom Field leer | Abweichende Feld-ID | Ordne Felder per ID zu, nicht per Label (Labels können sich ändern) |
| Webhook nicht empfangen | Webhook nicht konfiguriert | Richte Webhooks in den AC-Einstellungen unter Settings > Developer > Webhooks ein |
| Deal nicht erstellt | Fehlende Pflichtfelder | Stelle sicher, dass Pipeline, Phase und Kontakt übergeben werden |

### Debug-Modus

Ausführliches Logging aktivieren:

```yaml
connectors:
  activecampaign:
    debug: true
    log_level: verbose
    log_webhooks: true
```

### Verbindung testen

```bash
tajo connectors test activecampaign
# ✓ API connection successful
# ✓ Contacts readable
# ✓ Deals readable
# ✓ Automations accessible
# ✓ Event tracking enabled
```

## Best Practices

1. **Contact-Sync-Endpoint nutzen** - Verwende `/contact/sync` für Upsert-Operationen statt getrennter Create-/Update-Aufrufe
2. **Felder per ID zuordnen** - IDs von Custom Fields sind stabil; Labels können sich ändern
3. **Listenmitgliedschaften bewahren** - Migriere Listenzuordnungen gemeinsam mit den Kontaktdaten
4. **Deal-Pipelines synchronisieren** - Ordne Pipeline-Phasen für ein konsistentes CRM-Reporting zu
5. **Event-Tracking umsetzen** - Nutze Site-Tracking, um verhaltensbasierte Daten in Brevo zu erhalten
6. **Batch-Importe verwenden** - Nutze Bulk-Import für Datensätze mit mehr als 1.000 Kontakten

## Sicherheit

- **API-Schlüssel-Authentifizierung** - Token-basierter Zugriff über den `Api-Token`-Header
- **Webhook-Verifizierung** - Prüfe die Quell-IP-Bereiche von Webhooks
- **TLS-Verschlüsselung** - Die gesamte API-Kommunikation wird via HTTPS verschlüsselt
- **Zugriff auf Kontoebene** - Der API-Schlüssel bietet vollen Kontozugriff; gehe sorgsam damit um
- **IP-Beschränkungen** - Verfügbar in Enterprise-Plänen

## Verwandte Ressourcen

- [ActiveCampaign API-Dokumentation](https://developers.activecampaign.com/reference/overview)
- [ActiveCampaign Webhook-Leitfaden](https://developers.activecampaign.com/page/webhooks)
- [Mailchimp Connector](https://tajo.io/de/docs/connectors/marketing/mailchimp)
- [Brevo Connector](https://tajo.io/de/docs/connectors/marketing/brevo)
- [Customer-Sync-Skill](https://tajo.io/de/docs/skills/data-sync/customer-sync)
