Meta Ads Connector
Forbind Meta Ads (Facebook og Instagram) til Brevo via Tajo for at synkronisere Custom Audiences, importere konverteringshændelser via Conversions API og bygge bro mellem betalt social annoncering og livscyklusmarketingautomatisering.
Oversigt
| Egenskab | Værdi |
|---|---|
| Platform | Meta Ads (Facebook, Instagram, Messenger, WhatsApp) |
| Kategori | Marketing |
| Opsætningskompleksitet | Avanceret |
| Officiel integration | Nej |
| Synkroniserede data | Målgrupper, konverteringer, kampagner, leads |
| Tilgængelige skills | 8 |
| API-version | v25.0 (Graph API) |
Funktioner
- Synkronisering af Custom Audiences - Upload Brevo-kontaktlister som Meta Custom Audiences
- Conversions API (CAPI) - Send serverside-konverteringshændelser for nøjagtig attribution
- Synkronisering af lead-formularer - Importér Facebook Lead Ads-indsendelser direkte i Brevo-kontakter
- Kampagneindsigt - Træk annonceperformance-metrikker ind i Tajo-dashboards
- Lookalike-målgrupper - Opret Lookalike Audiences fra synkroniserede Brevo-segmenter
- Katalogsynkronisering - Synkronisér produktkataloger til dynamiske produktannoncer
- Multi-platform - Én integration dækker Facebook-, Instagram-, Messenger- og WhatsApp-annoncer
Forudsætninger
Før du begynder, skal du sikre dig, at du har:
- En Meta Business Manager-konto
- En Facebook-app med adgang til Marketing API
- En System User med passende rettigheder
- Et adgangstoken med rettighederne
ads_managementogads_read - En Brevo-konto med API-adgang
- En Tajo-konto med API-legitimationsoplysninger
Autentifikation
System User-adgangstoken
Meta anbefaler at bruge System User-tokens til server-til-server-integrationer. Disse tokens udløber ikke.
# Required permissions for System Userads_managementads_readbusiness_managementleads_retrievalpages_read_engagementcatalog_managementApp-niveau-autentifikation
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
Grundlæggende opsætning
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-konfiguration
Synkronisér Brevo-lister til 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-konfiguration
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
| Metode | Endpoint | Beskrivelse |
|---|---|---|
POST | /v25.0/act_{id}/customaudiences | Opret en Custom Audience |
POST | /v25.0/{audience_id}/users | Tilføj brugere til Custom Audience |
DELETE | /v25.0/{audience_id}/users | Fjern brugere fra Custom Audience |
POST | /v25.0/{pixel_id}/events | Send Conversions API-hændelser |
GET | /v25.0/act_{id}/campaigns | Vis kampagner |
GET | /v25.0/act_{id}/insights | Hent kampagneindsigter |
GET | /v25.0/{form_id}/leads | Hent lead-formularindsendelser |
POST | /v25.0/act_{id}/adcreatives | Opret annonce-kreativer |
GET | /v25.0/{catalog_id}/products | Vis katalogprodukter |
Kodeeksempler
Initialisér Meta Ads-konnektor
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'});Send Conversions API-hændelser
// 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 }) });Synkronisér Custom Audience fra Brevo-liste
// 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'});Træk kampagneindsigter
// 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'});Ratebegrænsninger
| Ressource | Grænse | Detaljer |
|---|---|---|
| Marketing API | Niveau-baseret | Baseret på app-adgangsniveau og forbrug |
| Custom Audience-uploads | 700 forespørgsler/time | Per annoncekonto |
| Conversions API | 2.000 hændelser/sek | Per pixel |
| Insights API | 200 kald/time | Per annoncekonto |
| Lead-hentning | 200 kald/time | Per side |
| Batch-forespørgsler | 50 forespørgsler/batch | Per batchkald |
Virksomhedsverifikation påkrævet
Fuld Marketing API-adgang kræver virksomhedsverifikation i Meta Business Manager. Ikke-verificerede apps er begrænset til udviklingstilstand med begrænsede ratebegrænsninger.
Fejlfinding
| Problem | Årsag | Løsning |
|---|---|---|
OAuthException | Token udløbet eller ugyldigt | Regenerér System User-adgangstoken |
| Lav Custom Audience-match-rate | Dårlig datakvalitet | Hash al personlig data med SHA-256, inkludér flere match-nøgler |
| Konverteringer ikke attribueret | Manglende fbc/fbp-parametre | Send Facebook Click ID og Browser ID fra cookies |
RATE_LIMIT_REACHED | For mange API-kald | Implementér eksponentiel backoff, tjek API-adgangsniveau |
| Lead-formularer synkroniseres ikke | Manglende leads_retrieval-rettighed | Tilføj rettighed til System User |
| Hændelser i testtilstand | test_event_code stadig sat | Fjern test event code til produktion |
Best practices
- Brug System User-tokens - System Users leverer stabile, ikke-udløbende tokens til serverintegrationer
- Hash al personlig data - SHA-256-hash alle personligt identificerbare oplysninger, før de sendes til Meta
- Send både CAPI og Pixel - Brug både Conversions API og Meta Pixel til redundant sporing med deduplikering
- Inkludér hændelses-id’er - Sæt
event_idpå både CAPI- og Pixel-hændelser for at muliggøre deduplikering - Send
fbcogfbp- Inkludér Facebook Click ID og Browser ID for maksimal konverteringsattribution - Verificér din virksomhed - Gennemfør Business Verification for fuld API-adgang og højere ratebegrænsninger
- Brug
test_event_code- Test Conversions API-hændelser i Events Manager før produktionssætning
Sikkerhed
- System User-tokens - Ikke-personlige, virksomhedsscoped autentifikationstokens
- SHA-256-hashing - Al personlig data hashes før transmission til Meta-servere
- App Secret Proof - Valgfrit ekstra lag af autentifikationssikkerhed
- Virksomhedsscoping - Rettigheder scopes til specifikke annoncekonti og sider
- Meta-overholdelse - Underlagt Meta Platform Terms og annonceringspolitikker
- Databehandlingsbetingelser - Metas Data Processing Terms gælder for EU-data