---
title: "Meta Ads Connector"
description: "Vollständiger Leitfaden zur Meta-Ads-Integration für die Synchronisation von Facebook- und Instagram-Audiences, Conversions und Kampagnendaten mit Brevo über Tajo."
url: https://tajo.io/de/docs/connectors/marketing/meta-ads/
markdown: https://tajo.io/de/docs/connectors/marketing/meta-ads.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.

# Meta Ads 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 Meta Ads (Facebook & Instagram) über Tajo mit Brevo, um Custom Audiences zu synchronisieren, Conversion-Events über die Conversions API zu importieren und Paid-Social-Werbung mit der Lifecycle-Marketing-Automatisierung zu verbinden.

## Überblick

| Eigenschaft | Wert |
| --- | --- |
| **Plattform** | Meta Ads (Facebook, Instagram, Messenger, WhatsApp) |
| **Kategorie** | Marketing |
| **Einrichtungsaufwand** | Fortgeschritten |
| **Offizielle Integration** | Nein |
| **Synchronisierte Daten** | Audiences, Conversions, Kampagnen, Leads |
| **Verfügbare Skills** | 8 |
| **API-Version** | v25.0 (Graph API) |

## Funktionen

- **Custom-Audience-Sync** - Lade Brevo-Kontaktlisten als Meta Custom Audiences hoch
- **Conversions API (CAPI)** - Sende serverseitige Conversion-Events für eine präzise Attribution
- **Lead-Form-Sync** - Importiere Einsendungen aus Facebook Lead Ads direkt in Brevo-Kontakte
- **Kampagnen-Insights** - Hole dir Ad-Performance-Metriken in deine Tajo-Dashboards
- **Lookalike Audiences** - Erstelle Lookalike Audiences aus synchronisierten Brevo-Segmenten
- **Catalog-Sync** - Synchronisiere Produktkataloge für Dynamic Product Ads
- **Multi-Plattform** - Eine Integration deckt Facebook-, Instagram-, Messenger- und WhatsApp-Ads ab

## Voraussetzungen

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

1. Ein Meta-Business-Manager-Konto
2. Eine Facebook-App mit Zugriff auf die Marketing API
3. Einen System User mit den passenden Berechtigungen
4. Ein Access Token mit den Berechtigungen `ads_management` und `ads_read`
5. Ein Brevo-Konto mit API-Zugriff
6. Ein Tajo-Konto mit API-Anmeldedaten

## Authentifizierung

### System-User-Access-Token

Meta empfiehlt für Server-zu-Server-Integrationen System-User-Tokens. Diese Tokens laufen nicht ab.

```bash
# Required permissions for System User
ads_management
ads_read
business_management
leads_retrieval
pages_read_engagement
catalog_management
```

### Authentifizierung auf App-Ebene

```bash
curl -G "https://graph.facebook.com/v25.0/act_AD_ACCOUNT_ID/campaigns" \
  -d "access_token=SYSTEM_USER_ACCESS_TOKEN" \
  -d "fields=name,status,objective"
```

## Konfiguration

### Grundeinrichtung

```yaml
connectors:
  meta_ads:
    enabled: true
    app_id: "your-facebook-app-id"
    app_secret: "your-facebook-app-secret"
    access_token: "your-system-user-access-token"
    ad_account_id: "act_123456789"
    business_id: "987654321"
    pixel_id: "111222333444"

    # Data sync options
    sync:
      custom_audiences: true
      conversions_api: true
      lead_forms: true
      campaign_insights: true

    # API version
    api_version: "v25.0"
```

### Konfiguration der Custom Audiences

Synchronisiere Brevo-Listen als Meta Custom Audiences:

```yaml
custom_audiences:
  enabled: true
  lists:
    - brevo_list_id: 5
      audience_name: "All Customers"
      subtype: "CUSTOM"
    - brevo_list_id: 6
      audience_name: "High LTV Customers"
      subtype: "CUSTOM"
    - brevo_list_id: 7
      audience_name: "Recent Purchasers"
      subtype: "CUSTOM"

  # Matching fields
  match_keys:
    - EMAIL
    - PHONE
    - FN     # First name
    - LN     # Last name
    - CT     # City
    - ST     # State
    - ZIP
    - COUNTRY

  schedule: "daily"
  sync_mode: "mirror"
```

### Konfiguration der Conversions API

```yaml
conversions_api:
  enabled: true
  pixel_id: "111222333444"
  test_event_code: ""  # Set for testing, clear for production

  events:
    - brevo_event: "order_completed"
      meta_event: "Purchase"
      value_field: "revenue"
      currency_field: "currency"
    - brevo_event: "cart_updated"
      meta_event: "AddToCart"
    - brevo_event: "customer_created"
      meta_event: "Lead"
    - brevo_event: "page_viewed"
      meta_event: "ViewContent"
```

## API-Endpoints

| Methode | Endpoint | Beschreibung |
| --- | --- | --- |
| `POST` | `/v25.0/act_{id}/customaudiences` | Eine Custom Audience anlegen |
| `POST` | `/v25.0/{audience_id}/users` | User zu einer Custom Audience hinzufügen |
| `DELETE` | `/v25.0/{audience_id}/users` | User aus einer Custom Audience entfernen |
| `POST` | `/v25.0/{pixel_id}/events` | Conversions-API-Events senden |
| `GET` | `/v25.0/act_{id}/campaigns` | Kampagnen auflisten |
| `GET` | `/v25.0/act_{id}/insights` | Kampagnen-Insights abrufen |
| `GET` | `/v25.0/{form_id}/leads` | Einsendungen von Lead-Formularen abrufen |
| `POST` | `/v25.0/act_{id}/adcreatives` | Ad Creatives anlegen |
| `GET` | `/v25.0/{catalog_id}/products` | Katalog-Produkte auflisten |

## Code-Beispiele

### Meta-Ads-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 Meta Ads account
await tajo.connectors.connect('meta-ads', {
  appId: process.env.META_APP_ID,
  appSecret: process.env.META_APP_SECRET,
  accessToken: process.env.META_ACCESS_TOKEN,
  adAccountId: 'act_123456789',
  pixelId: '111222333444'
});
```

### Conversions-API-Events senden

```javascript
// Send a purchase event via Conversions API
const response = await fetch(
  `https://graph.facebook.com/v25.0/${PIXEL_ID}/events`,
  {
    method: 'POST',
    headers: { 'Content-Type': 'application/json' },
    body: JSON.stringify({
      data: [{
        event_name: 'Purchase',
        event_time: Math.floor(Date.now() / 1000),
        action_source: 'website',
        user_data: {
          em: [hashSHA256('jane@example.com')],
          ph: [hashSHA256('+15551234567')],
          fn: [hashSHA256('jane')],
          ln: [hashSHA256('kim')],
          client_ip_address: '192.168.1.1',
          client_user_agent: 'Mozilla/5.0...',
          fbc: 'fb.1.1234567890.AbCdEfG',  // Click ID
          fbp: 'fb.1.1234567890.987654321'  // Browser ID
        },
        custom_data: {
          value: 89.99,
          currency: 'USD',
          content_ids: ['SKU-001'],
          content_type: 'product'
        }
      }],
      access_token: process.env.META_ACCESS_TOKEN
    })
  }
);
```

### Custom Audience aus einer Brevo-Liste synchronisieren

```javascript
// Upload a Brevo contact list as a Meta Custom Audience
await tajo.connectors.syncAudience('meta-ads', {
  brevoListId: 5,
  audienceName: 'High Value Customers',
  matchKeys: ['EMAIL', 'PHONE', 'FN', 'LN'],
  syncMode: 'mirror'
});
```

### Kampagnen-Insights abrufen

```javascript
// Get campaign performance metrics
const insights = await tajo.connectors.query('meta-ads', {
  resource: 'campaigns',
  fields: ['campaign_name', 'impressions', 'clicks', 'spend',
           'actions', 'cost_per_action_type'],
  dateRange: { since: '2024-01-01', until: '2024-01-31' },
  level: 'campaign'
});
```

## Rate Limits

| Ressource | Limit | Details |
| --- | --- | --- |
| **Marketing API** | Tier-basiert | Abhängig vom App-Zugriffslevel und Werbebudget |
| **Custom-Audience-Uploads** | 700 Anfragen/Stunde | Pro Werbekonto |
| **Conversions API** | 2.000 Events/Sek. | Pro Pixel |
| **Insights API** | 200 Calls/Stunde | Pro Werbekonto |
| **Lead-Retrieval** | 200 Calls/Stunde | Pro Seite |
| **Batch-Anfragen** | 50 Anfragen/Batch | Pro Batch-Call |

Business-Verifizierung erforderlich

Der vollständige Zugriff auf die Marketing API erfordert eine Business-Verifizierung im Meta Business Manager. Nicht verifizierte Apps sind auf den Entwicklungsmodus mit eingeschränkten Rate Limits beschränkt.

## Fehlerbehebung

| Problem | Ursache | Lösung |
| --- | --- | --- |
| `OAuthException` | Token abgelaufen oder ungültig | System-User-Access-Token neu generieren |
| Niedrige Custom-Audience-Trefferquote | Schlechte Datenqualität | Personenbezogene Daten mit SHA-256 hashen und mehrere Match Keys einbeziehen |
| Conversions werden nicht attribuiert | Parameter `fbc`/`fbp` fehlen | Facebook Click ID und Browser ID aus den Cookies übergeben |
| `RATE_LIMIT_REACHED` | Zu viele API-Aufrufe | Exponentielles Backoff umsetzen und API-Zugriffs-Tier prüfen |
| Lead-Formulare werden nicht synchronisiert | Berechtigung `leads_retrieval` fehlt | Berechtigung beim System User ergänzen |
| Events im Testmodus | `test_event_code` noch gesetzt | Test-Event-Code für die Produktion entfernen |

## Best Practices

1. **System-User-Tokens nutzen** - System User liefern stabile, nicht ablaufende Tokens für Server-Integrationen
2. **Alle personenbezogenen Daten hashen** - Hashe alle PII mit SHA-256, bevor du sie an Meta sendest
3. **CAPI und Pixel parallel senden** - Nutze Conversions API und Meta Pixel für redundantes Tracking mit Deduplizierung
4. **Event-IDs setzen** - Setze `event_id` sowohl in CAPI- als auch in Pixel-Events, um die Deduplizierung zu ermöglichen
5. **`fbc` und `fbp` übergeben** - Liefere Facebook Click ID und Browser ID für eine maximale Conversion-Attribution
6. **Business verifizieren** - Schließe die Business-Verifizierung ab, um vollen API-Zugriff und höhere Rate Limits zu erhalten
7. **`test_event_code` nutzen** - Teste Conversions-API-Events im Events Manager, bevor du live gehst

## Sicherheit

- **System-User-Tokens** - Nicht personengebundene, geschäftlich gescopte Authentifizierungs-Tokens
- **SHA-256-Hashing** - Alle personenbezogenen Daten werden vor der Übertragung an Meta-Server gehasht
- **App Secret Proof** - Optionale zusätzliche Sicherheitsebene für die Authentifizierung
- **Business-Scoping** - Berechtigungen sind auf bestimmte Werbekonten und Pages beschränkt
- **Meta-Compliance** - Unterliegt den Meta-Plattform-Bedingungen und Werberichtlinien
- **Data Processing Terms** - Die Meta Data Processing Terms gelten für EU-Daten

## Verwandte Ressourcen

- [Google Ads Connector](https://tajo.io/de/docs/connectors/marketing/google-ads)
- [Klaviyo Connector](https://tajo.io/de/docs/connectors/marketing/klaviyo)
- [Brevo Connector](https://tajo.io/de/docs/connectors/marketing/brevo)
- [Customer-Sync-Skill](https://tajo.io/de/docs/skills/data-sync/customer-sync)
