---
title: "ActiveCampaign-connector"
description: "Volledige ActiveCampaign-integratiegids voor het synchroniseren van contacten, deals, automatiseringen en engagement-events met Brevo via Tajo."
url: https://tajo.io/nl/docs/connectors/marketing/activecampaign/
markdown: https://tajo.io/nl/docs/connectors/marketing/activecampaign.md
lang: nl-NL
robots: noindex
---

Vraag vroegtijdige toegang aan

Vul je voornaam en je zakelijke e-mailadres in. We sturen je een link om je aanvraag voor toegang tot Tajo te bevestigen.

# ActiveCampaign-connector

Connectorstatus: Gepland Nog niet gebouwd. Tajo draait deze connector vandaag niet.

| Bronveld | Doelveld | Voorbeeldwaarde |
| --- | --- | --- |
| `record.id` | `source_id` | `record_1042` |
| `record.updated_at` | `updated_at` | `2026-10-18T08:00:00Z` |
| `record.value` | `value` | `sample_value` |

Verbind je ActiveCampaign-account met Brevo via Tajo voor uitgebreide contactmigratie, deal-pipelinesynchronisatie, automation-mapping en uniforme marketingdata over beide platforms.

## Overzicht

| Eigenschap | Waarde |
| --- | --- |
| **Platform** | ActiveCampaign |
| **Categorie** | Marketing |
| **Setupcomplexiteit** | Gemiddeld |
| **Officiële integratie** | Nee |
| **Gesynchroniseerde data** | Contacten, Deals, Automatiseringen, Events |
| **API base URL** | `https://{account}.api-us1.com/api/3` |

## Functies

- **Contactmigratie** - Migreer contacten met custom velden, tags en lijstlidmaatschappen
- **Deal-pipelinesync** - Synchroniseer deal-stages, -waarden en -eigenaren voor omzettracking
- **Automation-mapping** - Koppel ActiveCampaign-automatiseringen aan Brevo-workflowtriggers
- **Event-tracking** - Synchroniseer site tracking en custom events voor gedragsgerichte segmentatie
- **Lijst- en tagsync** - Repliceer lijststructuren en tag-gebaseerde segmenten in Brevo
- **E-commerce-integratie** - Synchroniseer Deep Data (bestellingen, klanten, winkelwagens) naar Brevo
- **Custom object-sync** - Koppel ActiveCampaign-customobjects aan Brevo-attributen
- **Scoresync** - Breng lead- en contactscores over naar Brevo-attributen

## Vereisten

Voordat je begint, zorg dat je beschikt over:

1. Een ActiveCampaign-account (Lite, Plus, Professional of Enterprise)
2. API-URL en API-sleutel uit Settings > Developer
3. Een Brevo-account met API-toegang
4. Een Tajo-account

## Authenticatie

### API-sleutel-authenticatie

ActiveCampaign gebruikt een API-sleutel die als header of query-parameter wordt meegegeven.

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

Je API-URL en -sleutel vind je in ActiveCampaign Settings > Developer.

API-URL

Je API-URL is uniek voor je account (bijv. `https://yourcompany.api-us1.com`). Gebruik altijd deze URL, niet de dashboard-URL.

## Configuratie

### Basisopzet

```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
```

### Veldmapping

Koppel ActiveCampaign-velden aan Brevo-contactattributen:

#### Standaard-mappings

| Parameter | Type | Description |
| --- | --- | --- |
| `email` required | string | E-mailadres contact (unieke identifier) |
| `firstName` optional | string | Koppelt aan FIRSTNAME-attribuut |
| `lastName` optional | string | Koppelt aan LASTNAME-attribuut |
| `phone` optional | string | Koppelt aan SMS-attribuut |
| `tags` optional | array | Contact-tags voor segmentatie |
| `score` optional | integer | Engagementscore van het contact |
| `deals` optional | array | Gekoppelde deal-records |
| `fieldValues` optional | array | Waarden van custom velden |

#### Custom veldmapping

```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-endpoints

### Contacts

| Methode | Endpoint | Beschrijving |
| --- | --- | --- |
| `GET` | `/api/3/contacts` | Alle contacten opvragen |
| `POST` | `/api/3/contacts` | Contact aanmaken |
| `PUT` | `/api/3/contacts/{id}` | Contact bijwerken |
| `GET` | `/api/3/contacts/{id}` | Contact ophalen |
| `POST` | `/api/3/contact/sync` | Contact synchroniseren (create or update) |
| `POST` | `/api/3/import/bulk_import` | Bulk import van contacten |

### Deals

| Methode | Endpoint | Beschrijving |
| --- | --- | --- |
| `GET` | `/api/3/deals` | Alle deals opvragen |
| `POST` | `/api/3/deals` | Deal aanmaken |
| `PUT` | `/api/3/deals/{id}` | Deal bijwerken |
| `GET` | `/api/3/dealStages` | Alle deal-stages opvragen |
| `GET` | `/api/3/dealPipelines` | Alle pipelines opvragen |

### Automations

| Methode | Endpoint | Beschrijving |
| --- | --- | --- |
| `GET` | `/api/3/automations` | Automations opvragen |
| `GET` | `/api/3/automations/{id}` | Automation ophalen |
| `POST` | `/api/3/contactAutomations` | Contact aan automation toevoegen |

### E-commerce (Deep Data)

| Methode | Endpoint | Beschrijving |
| --- | --- | --- |
| `POST` | `/api/3/ecomOrders` | Bestelling aanmaken |
| `GET` | `/api/3/ecomOrders` | Bestellingen opvragen |
| `POST` | `/api/3/ecomCustomers` | Klant aanmaken |
| `GET` | `/api/3/ecomCustomers` | Klanten opvragen |

### Event-tracking

| Methode | Endpoint | Beschrijving |
| --- | --- | --- |
| `POST` | `/api/3/tracking/event` | Custom event tracken |
| `GET` | `/api/3/eventTrackingEvents` | Alle eventnamen opvragen |
| `POST` | `/api/3/eventTrackingEvents` | Eventnaam aanmaken |

## Events

### Contact-events

| Event | Trigger | Use case |
| --- | --- | --- |
| `contact_add` | Nieuw contact aangemaakt | Welkomstflow |
| `contact_update` | Contactdata gewijzigd | Attribuutsync |
| `contact_tag_added` | Tag toegewezen | Segmentupdate |
| `contact_tag_removed` | Tag verwijderd | Segment opschonen |

### Deal-events

| Event | Trigger | Use case |
| --- | --- | --- |
| `deal_add` | Nieuwe deal aangemaakt | Salesnotificatie |
| `deal_update` | Deal-stage gewijzigd | Pipeline-automatisering |
| `deal_tasktype_add` | Taak aan deal toegevoegd | Activiteitentracking |

### Automation-events

| Event | Trigger | Use case |
| --- | --- | --- |
| `automation_contact_add` | Contact in automation gestart | Flowtracking |
| `automation_contact_complete` | Contact heeft automation voltooid | Volgende-stap-trigger |

## Codevoorbeelden

### Connector initialiseren

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

### Contacten migreren naar Brevo

```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'
  }
});
```

## Ratelimits

ActiveCampaign API-ratelimits:

| Plan | Ratelimit | Details |
| --- | --- | --- |
| Lite | 5 requests/seconde | Per account |
| Plus | 10 requests/seconde | Per account |
| Professional | 10 requests/seconde | Per account |
| Enterprise | 20 requests/seconde | Per account |

Aanvullende limieten:

- **Bulk import**: 250 contacten per batch
- **Bulk import-frequentie**: 1 import tegelijk
- **Event-tracking**: 2 requests/seconde
- **Daglimiet**: Geen expliciete daglimiet (alleen op basis van rate)

Ratelimit-afhandeling

ActiveCampaign geeft `429 Too Many Requests` terug wanneer limieten worden overschreden. Implementeer retry-logica met de waarde uit de `Retry-After`-header.

## Probleemoplossing

### Veelvoorkomende problemen

| Probleem | Oorzaak | Oplossing |
| --- | --- | --- |
| 403 Forbidden | Ongeldige API-sleutel of URL | Verifieer API-URL en -sleutel in AC Settings > Developer |
| Contact niet gesynchroniseerd | Duplicaat-e-mail-afhandeling | Gebruik het `/contact/sync`-endpoint voor upsert-gedrag |
| Custom veld leeg | Mismatch tussen veld-ID’s | Koppel velden op ID, niet op label (labels kunnen wijzigen) |
| Webhook niet ontvangen | Webhook niet geconfigureerd | Stel webhooks in onder AC Settings > Developer > Webhooks |
| Deal niet aangemaakt | Vereiste velden ontbreken | Zorg dat pipeline, stage en contact worden meegegeven |

### Debugmodus

Activeer uitgebreide logging:

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

### Verbinding testen

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

## Best practices

1. **Gebruik het contact sync-endpoint** - Gebruik `/contact/sync` voor upsert-operaties in plaats van aparte create/update
2. **Koppel velden op ID** - Custom field-ID’s zijn stabiel; labels kunnen wijzigen
3. **Behoud lijstlidmaatschappen** - Migreer lijsttoewijzingen samen met contactdata
4. **Synchroniseer deal-pipelines** - Koppel pipeline-stages voor consistente CRM-rapportage
5. **Implementeer event-tracking** - Gebruik site tracking voor gedragsdata in Brevo
6. **Batch-imports** - Gebruik bulk import voor datasets groter dan 1.000 contacten

## Beveiliging

- **API-sleutel-authenticatie** - Tokengebaseerde toegang via de `Api-Token`-header
- **Webhook-verificatie** - Valideer webhook-bron-IP-ranges
- **TLS-encryptie** - Alle API-communicatie versleuteld via HTTPS
- **Toegang op accountniveau** - API-sleutel biedt volledige accounttoegang; gebruik zorgvuldig
- **IP-beperkingen** - Beschikbaar op Enterprise-plannen

## Gerelateerde resources

- [ActiveCampaign API Documentation](https://developers.activecampaign.com/reference/overview)
- [ActiveCampaign Webhook Guide](https://developers.activecampaign.com/page/webhooks)
- [Mailchimp-connector](https://tajo.io/nl/docs/connectors/marketing/mailchimp)
- [Brevo-connector](https://tajo.io/nl/docs/connectors/marketing/brevo)
- [Customer Sync-skill](https://tajo.io/nl/docs/skills/data-sync/customer-sync)
