Meta Ads-connector

Verbind Meta Ads (Facebook & Instagram) met Brevo via Tajo om Custom Audiences te synchroniseren, conversie-events te importeren via de Conversions API en betaalde social advertising te koppelen aan lifecycle marketingautomatisering.

Overzicht

EigenschapWaarde
PlatformMeta Ads (Facebook, Instagram, Messenger, WhatsApp)
CategorieMarketing
SetupcomplexiteitGeavanceerd
Officiële integratieNee
Gesynchroniseerde dataAudiences, Conversies, Campaigns, Leads
Beschikbare skills8
API-versiev25.0 (Graph API)

Functies

  • Custom Audience-synchronisatie - Upload Brevo-contactlijsten als Meta Custom Audiences
  • Conversions API (CAPI) - Verstuur server-side conversie-events voor accurate attributie
  • Lead form-synchronisatie - Importeer Facebook Lead Ads-inzendingen rechtstreeks in Brevo-contacten
  • Campaign-insights - Haal advertentieprestatiemetrics op in Tajo-dashboards
  • Lookalike audiences - Maak Lookalike Audiences vanuit gesynchroniseerde Brevo-segmenten
  • Catalog-synchronisatie - Synchroniseer productcatalogi voor dynamic product ads
  • Multi-platform - Eén integratie dekt Facebook-, Instagram-, Messenger- en WhatsApp-advertenties

Vereisten

Voordat je begint, zorg dat je beschikt over:

  1. Een Meta Business Manager-account
  2. Een Facebook App met Marketing API-toegang
  3. Een System User met passende rechten
  4. Een Access Token met ads_management- en ads_read-rechten
  5. Een Brevo-account met API-toegang
  6. Een Tajo-account met API-credentials

Authenticatie

System User Access Token

Meta raadt aan om System User-tokens te gebruiken voor server-to-server-integraties. Deze tokens vervallen niet.

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

App-niveau-authenticatie

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"

Configuratie

Basisinstelling

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"

Custom Audience-configuratie

Synchroniseer Brevo-lijsten naar 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"

Conversions API-configuratie

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

MethodEndpointBeschrijving
POST/v25.0/act_{id}/customaudiencesEen Custom Audience aanmaken
POST/v25.0/{audience_id}/usersGebruikers toevoegen aan Custom Audience
DELETE/v25.0/{audience_id}/usersGebruikers verwijderen uit Custom Audience
POST/v25.0/{pixel_id}/eventsConversions API-events versturen
GET/v25.0/act_{id}/campaignsCampaigns opvragen
GET/v25.0/act_{id}/insightsCampaign-insights ophalen
GET/v25.0/{form_id}/leadsLead form-inzendingen ophalen
POST/v25.0/act_{id}/adcreativesAd creatives aanmaken
GET/v25.0/{catalog_id}/productsCatalogusproducten opvragen

Codevoorbeelden

Meta Ads-connector initialiseren

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 versturen

// 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 synchroniseren vanuit Brevo-lijst

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

Campaign-insights ophalen

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

ResourceLimietDetails
Marketing APITier-gebaseerdOp basis van app-toegangsniveau en uitgaven
Custom Audience-uploads700 requests/uurPer ad account
Conversions API2.000 events/secPer pixel
Insights API200 calls/uurPer ad account
Lead-ophalen200 calls/uurPer pagina
Batch requests50 requests/batchPer batch-call

Bedrijfsverificatie vereist

Volledige Marketing API-toegang vereist bedrijfsverificatie in Meta Business Manager. Niet-geverifieerde apps zijn beperkt tot development mode met beperkte rate limits.

Probleemoplossing

ProbleemOorzaakOplossing
OAuthExceptionToken verlopen of ongeldigRegenereer System User access token
Lage Custom Audience match rateSlechte datakwaliteitHash alle PII met SHA-256, gebruik meerdere match keys
Conversies niet geattribueerdOntbrekende fbc/fbp-parametersGeef Facebook Click ID en Browser ID door uit cookies
RATE_LIMIT_REACHEDTe veel API-callsImplementeer exponentiële backoff, controleer API-toegangstier
Lead forms niet gesynchroniseerdOntbrekend leads_retrieval-rechtVoeg recht toe aan System User
Events in test modetest_event_code nog gezetVerwijder test event code voor productie

Best practices

  1. Gebruik System User-tokens - System Users bieden stabiele, niet-vervallende tokens voor server-integraties
  2. Hash alle PII - SHA-256 alle persoonlijk identificeerbare informatie hashen voordat je deze naar Meta stuurt
  3. Verstuur zowel CAPI als Pixel - Gebruik zowel Conversions API als Meta Pixel voor redundante tracking met deduplicatie
  4. Voeg event-ID’s toe - Stel event_id in op zowel CAPI- als Pixel-events om deduplicatie mogelijk te maken
  5. Geef fbc en fbp door - Voeg Facebook Click ID en Browser ID toe voor maximale conversie-attributie
  6. Verifieer je bedrijf - Voltooi Business Verification voor volledige API-toegang en hogere rate limits
  7. Gebruik test_event_code - Test Conversions API-events in Events Manager voordat je live gaat

Beveiliging

  • System User-tokens - Niet-persoonlijke, business-gescoopte authenticatietokens
  • SHA-256-hashing - Alle PII gehasht voordat het naar Meta-servers wordt gestuurd
  • App Secret Proof - Optionele extra laag van authenticatiebeveiliging
  • Business-scoping - Rechten gescoped op specifieke ad accounts en pagina’s
  • Meta-compliance - Onderworpen aan Meta Platform Terms en advertentiebeleid
  • Data Processing Terms - Meta’s Data Processing Terms gelden voor EU-data

Gerelateerde bronnen

Subscribe to updates

developer-docs

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

auto-detect
AI-assistent

Hallo! Stel me vragen over de documentatie.