Meta Ads-connector
Connectorstatus: Gepland Nog niet gebouwd. Tajo draait deze connector vandaag niet.
Illustratie · voorbeelddata
Voorbeeld van synchronisatie
Bron
Meta Ads
Connectorstatus: Gepland
Bestemming
Je andere tool
Connectorstatus: Eigen tool
Veldtoewijzing
| Bronveld | Doelveld | Voorbeeldwaarde |
|---|---|---|
record.id | source_id | record_1042 |
record.updated_at | updated_at | 2026-10-18T08:00:00Z |
record.value | value | sample_value |
- Opstellen
- Eén record controleren
- Deze versie goedkeuren
Statussen gelden per connector en garanderen niet dat deze synchronisatie klaar is. De velden zijn illustratief. Controleer het echte schema en de rechten voordat een synchronisatie draait.
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
| Eigenschap | Waarde |
|---|---|
| Platform | Meta Ads (Facebook, Instagram, Messenger, WhatsApp) |
| Categorie | Marketing |
| Setupcomplexiteit | Geavanceerd |
| Officiële integratie | Nee |
| Gesynchroniseerde data | Audiences, Conversies, Campaigns, Leads |
| Beschikbare skills | 8 |
| API-versie | v25.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:
- Een Meta Business Manager-account
- Een Facebook App met Marketing API-toegang
- Een System User met passende rechten
- Een Access Token met
ads_management- enads_read-rechten - Een Brevo-account met API-toegang
- 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.
# Required permissions for System Userads_managementads_readbusiness_managementleads_retrievalpages_read_engagementcatalog_managementApp-niveau-authenticatie
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
| Method | Endpoint | Beschrijving |
|---|---|---|
POST | /v25.0/act_{id}/customaudiences | Een Custom Audience aanmaken |
POST | /v25.0/{audience_id}/users | Gebruikers toevoegen aan Custom Audience |
DELETE | /v25.0/{audience_id}/users | Gebruikers verwijderen uit Custom Audience |
POST | /v25.0/{pixel_id}/events | Conversions API-events versturen |
GET | /v25.0/act_{id}/campaigns | Campaigns opvragen |
GET | /v25.0/act_{id}/insights | Campaign-insights ophalen |
GET | /v25.0/{form_id}/leads | Lead form-inzendingen ophalen |
POST | /v25.0/act_{id}/adcreatives | Ad creatives aanmaken |
GET | /v25.0/{catalog_id}/products | Catalogusproducten 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 accountawait 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 APIconst 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: { 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 Audienceawait tajo.connectors.syncAudience('meta-ads', { brevoListId: 5, audienceName: 'High Value Customers', matchKeys: ['EMAIL', 'PHONE', 'FN', 'LN'], syncMode: 'mirror'});Campaign-insights ophalen
// Get campaign performance metricsconst 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
| Resource | Limiet | Details |
|---|---|---|
| Marketing API | Tier-gebaseerd | Op basis van app-toegangsniveau en uitgaven |
| Custom Audience-uploads | 700 requests/uur | Per ad account |
| Conversions API | 2.000 events/sec | Per pixel |
| Insights API | 200 calls/uur | Per ad account |
| Lead-ophalen | 200 calls/uur | Per pagina |
| Batch requests | 50 requests/batch | Per 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
| Probleem | Oorzaak | Oplossing |
|---|---|---|
OAuthException | Token verlopen of ongeldig | Regenereer System User access token |
| Lage Custom Audience match rate | Slechte datakwaliteit | Hash alle PII met SHA-256, gebruik meerdere match keys |
| Conversies niet geattribueerd | Ontbrekende fbc/fbp-parameters | Geef Facebook Click ID en Browser ID door uit cookies |
RATE_LIMIT_REACHED | Te veel API-calls | Implementeer exponentiële backoff, controleer API-toegangstier |
| Lead forms niet gesynchroniseerd | Ontbrekend leads_retrieval-recht | Voeg recht toe aan System User |
| Events in test mode | test_event_code nog gezet | Verwijder test event code voor productie |
Best practices
- Gebruik System User-tokens - System Users bieden stabiele, niet-vervallende tokens voor server-integraties
- Hash alle PII - SHA-256 alle persoonlijk identificeerbare informatie hashen voordat je deze naar Meta stuurt
- Verstuur zowel CAPI als Pixel - Gebruik zowel Conversions API als Meta Pixel voor redundante tracking met deduplicatie
- Voeg event-ID’s toe - Stel
event_idin op zowel CAPI- als Pixel-events om deduplicatie mogelijk te maken - Geef
fbcenfbpdoor - Voeg Facebook Click ID en Browser ID toe voor maximale conversie-attributie - Verifieer je bedrijf - Voltooi Business Verification voor volledige API-toegang en hogere rate limits
- 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