Connettore Meta Ads
Collega Meta Ads (Facebook e Instagram) a Brevo tramite Tajo per sincronizzare le Custom Audiences, importare eventi di conversione tramite la Conversions API e collegare la pubblicità social a pagamento all’automation di marketing lifecycle.
Panoramica
| Proprietà | Valore |
|---|---|
| Piattaforma | Meta Ads (Facebook, Instagram, Messenger, WhatsApp) |
| Categoria | Marketing |
| Complessità di setup | Avanzata |
| Integrazione ufficiale | No |
| Dati sincronizzati | Audience, Conversioni, Campagne, Lead |
| Skill disponibili | 8 |
| Versione API | v25.0 (Graph API) |
Funzionalità
- Sync Custom Audience - Carica le liste contatti Brevo come Custom Audience Meta
- Conversions API (CAPI) - Invia eventi di conversione server-side per un’attribuzione accurata
- Sync Lead Form - Importa le sottomissioni dei Facebook Lead Ads direttamente nei contatti Brevo
- Insight delle campagne - Estrai metriche di performance pubblicitaria nelle dashboard Tajo
- Lookalike Audience - Crea Lookalike Audience dai segmenti Brevo sincronizzati
- Sync del catalogo - Sincronizza i cataloghi prodotti per dynamic product ads
- Multi-platform - Una singola integrazione copre Facebook, Instagram, Messenger e WhatsApp ads
Prerequisiti
Prima di iniziare, assicurati di avere:
- Un account Meta Business Manager
- Un’app Facebook con accesso Marketing API
- Un System User con i permessi appropriati
- Un Access Token con i permessi
ads_managementeads_read - Un account Brevo con accesso API
- Un account Tajo con credenziali API
Autenticazione
System User Access Token
Meta consiglia di usare i token System User per le integrazioni server-to-server. Questi token non scadono.
# Required permissions for System Userads_managementads_readbusiness_managementleads_retrievalpages_read_engagementcatalog_managementAutenticazione a livello app
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"Configurazione
Setup di base
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"Configurazione Custom Audience
Sincronizza le liste Brevo con le Custom Audience Meta:
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"Configurazione 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"Endpoint API
| Metodo | Endpoint | Descrizione |
|---|---|---|
POST | /v25.0/act_{id}/customaudiences | Crea una Custom Audience |
POST | /v25.0/{audience_id}/users | Aggiungi utenti a una Custom Audience |
DELETE | /v25.0/{audience_id}/users | Rimuovi utenti da una Custom Audience |
POST | /v25.0/{pixel_id}/events | Invia eventi Conversions API |
GET | /v25.0/act_{id}/campaigns | Elenca le campagne |
GET | /v25.0/act_{id}/insights | Ottieni gli insight delle campagne |
GET | /v25.0/{form_id}/leads | Recupera le sottomissioni dei lead form |
POST | /v25.0/act_{id}/adcreatives | Crea creatività pubblicitarie |
GET | /v25.0/{catalog_id}/products | Elenca i prodotti del catalogo |
Esempi di codice
Inizializza il connettore Meta Ads
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'});Invia eventi Conversions API
// 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 }) });Sincronizza una Custom Audience da una lista Brevo
// 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'});Estrai insight delle campagne
// 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'});Limiti di velocità
| Risorsa | Limite | Dettagli |
|---|---|---|
| Marketing API | Basata su tier | Basata sul livello di accesso dell’app e sulla spesa |
| Upload Custom Audience | 700 richieste/ora | Per ad account |
| Conversions API | 2.000 eventi/sec | Per pixel |
| Insights API | 200 chiamate/ora | Per ad account |
| Recupero lead | 200 chiamate/ora | Per pagina |
| Richieste in batch | 50 richieste/batch | Per chiamata batch |
Verifica business richiesta
L’accesso completo alla Marketing API richiede la verifica business in Meta Business Manager. Le app non verificate sono limitate alla modalità sviluppo con limiti di velocità ridotti.
Risoluzione dei problemi
| Problema | Causa | Soluzione |
|---|---|---|
OAuthException | Token scaduto o non valido | Rigenera il token di accesso System User |
| Match rate basso Custom Audience | Qualità dati scarsa | Hash di tutti i PII con SHA-256, includi più match key |
| Conversioni non attribuite | Parametri fbc/fbp mancanti | Passa Facebook Click ID e Browser ID dai cookie |
RATE_LIMIT_REACHED | Troppe chiamate API | Implementa il backoff esponenziale, controlla il tier di accesso API |
| Lead form non sincronizzati | Permesso leads_retrieval mancante | Aggiungi il permesso al System User |
| Eventi in modalità test | test_event_code ancora impostato | Rimuovi il test event code per la produzione |
Best practice
- Usa i token System User - I System User forniscono token stabili e non scadenti per integrazioni server
- Hash di tutti i PII - Esegui l’hash SHA-256 di tutte le informazioni personali identificabili prima dell’invio a Meta
- Invia sia CAPI che Pixel - Usa sia Conversions API che Meta Pixel per un tracciamento ridondante con deduplicazione
- Includi event ID - Imposta
event_idsia sugli eventi CAPI che Pixel per abilitare la deduplicazione - Passa
fbcefbp- Includi Facebook Click ID e Browser ID per la massima attribuzione delle conversioni - Verifica il tuo business - Completa la Business Verification per l’accesso API completo e limiti di velocità più alti
- Usa
test_event_code- Testa gli eventi Conversions API in Events Manager prima di andare live
Sicurezza
- Token System User - Token di autenticazione non personali, scopati al business
- Hashing SHA-256 - Tutti i PII hashati prima della trasmissione ai server Meta
- App Secret Proof - Livello aggiuntivo opzionale di sicurezza dell’autenticazione
- Scope business - Permessi limitati a specifici ad account e pagine
- Conformità Meta - Soggetto ai Meta Platform Terms e alle policy pubblicitarie
- Termini di Data Processing - Si applicano i Data Processing Terms di Meta per i dati UE