Meta Ads Connector

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

EigenschaftWert
PlattformMeta Ads (Facebook, Instagram, Messenger, WhatsApp)
KategorieMarketing
EinrichtungsaufwandFortgeschritten
Offizielle IntegrationNein
Synchronisierte DatenAudiences, Conversions, Kampagnen, Leads
Verfügbare Skills8
API-Versionv25.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.

Terminal window
# Required permissions for System User
ads_management
ads_read
business_management
leads_retrieval
pages_read_engagement
catalog_management

Authentifizierung auf App-Ebene

Terminal window
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

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:

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

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

MethodeEndpointBeschreibung
POST/v25.0/act_{id}/customaudiencesEine Custom Audience anlegen
POST/v25.0/{audience_id}/usersUser zu einer Custom Audience hinzufügen
DELETE/v25.0/{audience_id}/usersUser aus einer Custom Audience entfernen
POST/v25.0/{pixel_id}/eventsConversions-API-Events senden
GET/v25.0/act_{id}/campaignsKampagnen auflisten
GET/v25.0/act_{id}/insightsKampagnen-Insights abrufen
GET/v25.0/{form_id}/leadsEinsendungen von Lead-Formularen abrufen
POST/v25.0/act_{id}/adcreativesAd Creatives anlegen
GET/v25.0/{catalog_id}/productsKatalog-Produkte auflisten

Code-Beispiele

Meta-Ads-Connector initialisieren

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

// 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('[email protected]')],
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

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

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

RessourceLimitDetails
Marketing APITier-basiertAbhängig vom App-Zugriffslevel und Werbebudget
Custom-Audience-Uploads700 Anfragen/StundePro Werbekonto
Conversions API2.000 Events/Sek.Pro Pixel
Insights API200 Calls/StundePro Werbekonto
Lead-Retrieval200 Calls/StundePro Seite
Batch-Anfragen50 Anfragen/BatchPro 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

ProblemUrsacheLösung
OAuthExceptionToken abgelaufen oder ungültigSystem-User-Access-Token neu generieren
Niedrige Custom-Audience-TrefferquoteSchlechte DatenqualitätPersonenbezogene Daten mit SHA-256 hashen und mehrere Match Keys einbeziehen
Conversions werden nicht attribuiertParameter fbc/fbp fehlenFacebook Click ID und Browser ID aus den Cookies übergeben
RATE_LIMIT_REACHEDZu viele API-AufrufeExponentielles Backoff umsetzen und API-Zugriffs-Tier prüfen
Lead-Formulare werden nicht synchronisiertBerechtigung leads_retrieval fehltBerechtigung beim System User ergänzen
Events im Testmodustest_event_code noch gesetztTest-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

Subscribe to updates

developer-docs

Drop your email or phone number — we'll send you what matters next.

auto-detect
AI-Assistent

Hallo! Fragen Sie mich alles über die Dokumentation.