Ecco come configurare la Conversions API di Meta (la Facebook Conversions API, come molti la chiamano ancora) per la lead generation, in cinque passi:
- Scegli un metodo: abilitata da Meta, partner, Gateway o integrazione diretta.
- Prendi l’ID del Pixel e un token di accesso da Events Manager.
- All’invio del form, manda un Lead dal tuo server con un
event_id, email e telefono con hash,fbc,fbp, IP e user agent. - Controlla l’evento in Test events.
- Verifica deduplicazione ed Event Match Quality.
Questa guida è la procedura, scritta per chi raccoglie lead con un form su una landing page. Per cosa risolve il tracciamento lato server, e cosa no, leggi il tracciamento lato server per Facebook Ads; per capire dove sta il tracciamento nell’intero funnel, vedi la guida alla lead generation con Facebook Ads.
Le opzioni di configurazione della Conversions API di Meta
C’è più di un modo per far arrivare gli eventi alla Conversions API, che nell’interfaccia italiana Meta chiama API Conversions. L’articolo di Meta che confronta le opzioni di configurazione elenca tre strade, e Meta for Developers documenta una quarta, il Conversions API Gateway. A novembre 2026 sono attive tutte e quattro. Per la lead generation, la colonna da leggere è l’ultima:
| Opzione | Cosa invia | Cosa richiede | Un Lead che il Pixel non ha mai inviato |
|---|---|---|---|
| Conversions API abilitata da Meta | gli stessi eventi e parametri che condivide il Pixel, solo web, deduplicati in automatico | un clic in Events Manager, gratis; serve il Pixel | perso |
| Integrazione di partner | quello che invia il partner: piattaforme di vendita (Shopify, WooCommerce, Wix, BigCommerce), piattaforme di tag (Adobe, Google Tag Manager, Tealium), partner CRM | pochi clic su una piattaforma di vendita, senza costi aggiuntivi; altrove dipende dal partner | dipende dal fatto che il partner invii da un server che ha visto il form |
| Conversions API Gateway | eventi del Pixel inoltrati da un server che ospiti tu, con un event_id generato per la deduplicazione | niente codice; un tuo account AWS o Google Cloud, con i relativi costi | perso |
| Integrazione diretta | qualunque evento e parametro tu scelga, da web, app, offline, CRM e messaggistica | uno sviluppatore; Meta stima da 2 a 4 settimane per una nuova integrazione | inviato, dal server che ha ricevuto il form |
La documentazione per sviluppatori chiama la prima opzione “Conversions API with Meta”. È la stessa cosa: la attivi in Events Manager e non c’è niente da ospitare.
Quale configurazione scegliere per la lead generation?
Chiediti dove esiste il Lead. Su una landing page l’invio del form arriva a un server, qualunque cosa faccia il browser. La copia del Pixel esiste solo se lo script del Pixel si è caricato ed è partito. Due delle quattro opzioni partono dal Pixel: quella abilitata da Meta condivide ciò che condivide il Pixel, e il Gateway inoltra ciò che il Pixel gli manda. Quando il Pixel è bloccato, nessuna delle due ha qualcosa da inoltrare.
Cosa sceglierei:
- Il tuo form invia i dati a un backend che controlli: integrazione diretta. Il server che salva il lead lo segnala anche a Meta, quindi ogni lead viene inviato, Pixel bloccato o no.
- Le tue landing page girano su una piattaforma con un’integrazione partner di Meta: usala, poi verifica in Test events che il Lead arrivi come evento server con un
event_id. - Nessuno sviluppatore, Pixel già installato: attiva oggi l’opzione abilitata da Meta. È gratis e dà a Meta una copia lato server di tutto quello che vede il Pixel, che è meglio di niente.
- Il Gateway va bene per i team che vogliono ridondanza lato server su più domini o più Pixel senza scrivere codice, e che accettano di gestire un’infrastruttura cloud. Per una singola landing page di lead generation aggiunge una bolletta di hosting senza risolvere il caso del Pixel bloccato.
Come configurare la Conversions API, passo per passo
I passi qui sotto presuppongono un’integrazione diretta, o uno strumento che la gestisce per te. I controlli dei passi 4 e 5 valgono per qualsiasi metodo.
Passo 1: prendi l’ID del Pixel e un token di accesso
ID del Pixel. Usa lo stesso Pixel per gli eventi del browser e del server, come chiede la guida introduttiva di Meta. Events Manager lo elenca sotto Data sources (Origini dei dati). Gli strumenti più recenti di Meta lo chiamano dataset: la Dataset Quality API accetta un dataset_id che descrive come l’ID del dataset (Pixel), quindi è un solo numero con due nomi.
Token di accesso. Meta consiglia di generarlo in Events Manager:
- Scegli il Pixel da configurare.
- Apri la tab Settings (Impostazioni).
- Nella sezione Conversions API, clicca su Generate access token sotto Set up manually e segui il pop-up.
Il link è visibile solo agli utenti con privilegi da sviluppatore sul business, ed è il motivo più comune per cui non lo si trova. Se hai già una tua app e un tuo utente di sistema, puoi generare il token dalle impostazioni del business: assegna il Pixel all’utente di sistema, selezionalo e clicca su Generate Token. Meta dice che nessuna delle due strade richiede l’App Review o permessi aggiuntivi, e che i token generati dalla v12.0 in poi funzionano con tutte le versioni disponibili della Graph API.
Tieni il token sul server, in una variabile d’ambiente o in un secrets store. Non finisce mai nel JavaScript della landing page. Per le agenzie: un Pixel e un token per cliente, e verifica che il server mandi i lead di ogni cliente allo stesso ID Pixel che il browser usa sulle landing page di quel cliente.
Passo 2: costruisci il payload dell’evento Lead
Gli eventi vanno in una POST a:
https://graph.facebook.com/{API_VERSION}/{PIXEL_ID}/events?access_token={TOKEN}
Il corpo contiene un array data con al massimo 1.000 eventi, secondo la guida di Meta all’uso dell’API. Per una landing page di lead generation di solito mandi un Lead per richiesta, nel momento in cui arriva il form.
Esempio: un Lead da un form di preventivo, inviato dal server il 4 novembre 2026 alle 10:15:02 UTC. I due hash sono lo SHA-256 di [email protected] e 393471234567.
{
"data": [
{
"event_name": "Lead",
"event_time": 1793787302,
"event_id": "lead_8c1f4e2a-7b3d-4f0e-a6c9-2d5b7e9f1a30",
"action_source": "website",
"event_source_url": "https://quote.example.com/boiler-service",
"user_data": {
"em": ["10928b45363b7d849e040470c3277657f8177ef5a953a092b4302f149757a02e"],
"ph": ["75565655f639ba28fbb0a88254e0d01fad0a351049bde96a286e336219a33e5f"],
"fbc": "fb.1.1793787151204.IwAR2F4-dbP0l7Mn1IawQQGCINEz7PYXQvwjNwB_qa2ofrHyiLjcbCRxTDMgk",
"fbp": "fb.1.1793787151880.1684203391",
"client_ip_address": "2001:db8:85a3::8a2e:370:7334",
"client_user_agent": "Mozilla/5.0 (iPhone; CPU iPhone OS 18_6 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Mobile/15E148"
}
}
]
}
Campo per campo, con le regole dei riferimenti di Meta sui parametri dell’evento server e sui parametri delle informazioni sul cliente:
| Campo | Obbligatorio? | Valore per un Lead da landing page | Hash? |
|---|---|---|---|
event_name | sì | Lead, scritto esattamente come sul Pixel | no |
event_time | sì | tempo Unix in secondi, GMT, al momento dell’invio del form; non più vecchio di 7 giorni | no |
event_id | consigliato | un ID per lead, la stessa stringa che il Pixel manda come eventID | no |
action_source | sì | website | no |
event_source_url | sì, per gli eventi web | l’URL della landing page su cui è stato inviato il form | no |
user_data.em | user_data richiede almeno un campo | l’email, senza spazi iniziali o finali e in minuscolo | sì, SHA-256 |
user_data.ph | facoltativo | solo cifre, prefisso internazionale incluso | sì, SHA-256 |
user_data.fbc | facoltativo | il cookie _fbc, o un valore costruito dal fbclid | no |
user_data.fbp | facoltativo | il cookie _fbp | no |
user_data.client_ip_address | facoltativo | l’IP del visitatore, dalla richiesta che ha inviato il form | mai |
user_data.client_user_agent | sì, per gli eventi web | lo user agent del visitatore, dalla stessa richiesta | no |
Tre cose mettono in difficoltà le prime integrazioni:
- Applica l’hash solo dove lo chiede Meta.
emephvanno normalizzati e poi passati per l’hash;fbc,fbp, IP e user agent vanno in chiaro. Le Business SDK di Meta applicano l’hash da sole. Se scrivi il tuo codice, provalo contro gli output attesi nel riferimento di Meta; la guida all’Event Match Quality ha le regole di normalizzazione con esempi svolti. - Usa IP e user agent del visitatore, non quelli del tuo server. Dietro un proxy o una CDN, leggili dagli header inoltrati che imposta la tua infrastruttura, sulla richiesta che invia il form.
- Non mandare un Lead con soli dati deboli. Le best practice di Meta considerano non valido un evento i cui dati cliente sono solo una combinazione generica come
fn+geodb+client_user_agent. Un form di lead raccoglie un’email e un numero di telefono: mandali.
Passo 3: invia l’evento quando arriva il form
Il flusso per un form su una landing page:
- Alla visita, leggi il fbclid dall’URL della landing page e conservalo insieme al click. Se non c’è un cookie
_fbc, costruiscifbca partire da lì; i cookie _fbc e _fbp spiegati riporta il formato. - All’invio, genera un solo
event_id, fai partire il Lead del Pixel con quell’ID comeeventIDe manda lo stesso ID al server insieme ai campi del form. - Sul server, salva il lead, poi chiama subito la Conversions API con quell’
event_id. Meta consiglia di inviare gli eventi appena accadono, idealmente entro un’ora, e rifiuta l’intera richiesta se anche un solo evento ha più di 7 giorni. - In caso di errore, riprova con lo stesso
event_id. Meta tiene solo la prima copia di una coppiaevent_nameedevent_id, quindi un nuovo tentativo non può creare un secondo lead.
Da dove deve arrivare l’ID, e tutti i modi in cui l’abbinamento si rompe, lo trovi in deduplicazione tra Meta Pixel e CAPI.
Se le tue landing page girano su DropCPL, questa parte è già collegata. DropCPL registra il click sul dominio che serve la tua landing page e invia il Lead a Meta lato server tramite la Conversions API, con un event_id per la deduplicazione più fbc e fbp. Inizia gratis →
Passo 4: testa l’evento con Test events
- In Events Manager apri Data sources (Origini dei dati), scegli il Pixel e apri la tab Test events (Testa gli eventi).
- Copia il codice di test e aggiungilo al corpo della richiesta come
test_event_code, al primo livello, accanto adata. - Invia il form dalla landing page online usando la tua email e il tuo telefono. Le best practice di Meta suggeriscono dati reali, perché gli eventi di test che non corrispondono a un account Meta possono essere scartati.
- Controlla che il Lead del server arrivi con i parametri che ti aspetti e che la copia del browser risulti deduplicata.
- Togli
test_event_codeprima di andare live.
Un dettaglio che sorprende molti: Meta dice che gli eventi inviati con test_event_code non vengono scartati. Entrano in Events Manager e vengono usati per targeting e misurazione, quindi per Meta il tuo lead di test è un Lead vero. Fai pochi test. Se non compare nulla, confronta la tua richiesta con quella che genera il Payload Helper di Meta per gli stessi campi.
Passo 5: verifica deduplicazione ed Event Match Quality
Una volta online, la guida di Meta alla verifica della configurazione indica quattro punti in Events Manager:
- Overview. Gli eventi server dovrebbero comparire entro 20 minuti dall’invio. Il conteggio lì è precedente alla deduplicazione, quindi un salto dopo il lancio è normale.
- Tab Event Deduplication, nei dettagli dell’evento Lead: la percentuale di eventi deduplicati e quanto si sovrappongono Pixel e server. Meta legge una sovrapposizione bassa come segno di chiavi non univoche o inviate da un solo lato; in pratica spesso sono un ID del browser e un ID del server che non sono mai stati la stessa stringa. La guida alla deduplicazione spiega come leggerla.
- Event Match Quality. Meta consiglia di puntare a 6.0 o più, dove possibile. Leggi il punteggio del Lead, non quello del PageView; l’Event Match Quality per la lead generation spiega cosa lo muove e quanto ci mette ad aggiornarsi.
- Freschezza degli eventi. Mostra il ritardo medio tra
event_timee arrivo. Un Lead che arriva a Meta con ore di ritardo indica una coda, non un problema di abbinamento.
Configurazione del Conversions API Gateway
Se hai scelto il Gateway, la guida di configurazione di Meta procede così:
- In Events Manager apri la tab Settings e clicca su Get started sotto Set up with Conversions API Gateway.
- Rivedi i prerequisiti, poi scegli le preferenze, una configurazione cloud e una sola regione di hosting.
- Apri AWS, oppure copia l’URL per l’amministratore AWS della tua azienda. Si apre uno stack di creazione rapida con tutti i campi già compilati: non toccare
ProvisioningDatae clicca su Create stack. Meta stima da 30 a 40 minuti per l’installazione. - Dagli Outputs dello stack apri il
CapigSetupURL, crea l’account amministratore ed entra. - Aspetta i dati. Secondo Meta i conteggi di server e browser possono metterci da 5 minuti a 2 ore a comparire.
- Aggiungi un dominio personalizzato dalla Admin UI. Meta lo consiglia per l’instradamento dei dati e dice che può ridurre i costi.
Poi fai gli stessi controlli di Test events e deduplicazione visti sopra. Ricorda cosa hai costruito: un server che inoltra ciò che il Pixel gli manda. Se il Pixel non parte mai, il Gateway non ha niente da inoltrare.
Errori comuni nella configurazione della Conversions API
| Errore | Cosa succede | Soluzione |
|---|---|---|
| Un evento del batch ha più di 7 giorni | Meta restituisce un errore per l’intera richiesta e non elabora nessun evento | invia gli eventi quando accadono |
Manca event_source_url o client_user_agent | all’evento manca un parametro che Meta richiede per gli eventi web | inviali entrambi con ogni Lead |
Hash su fbc, fbp, IP o user agent | i valori smettono di corrispondere a qualsiasi cosa | applica l’hash solo ai dati di contatto |
| Telefono passato per l’hash senza prefisso | un hash dall’aspetto valido che non corrisponde a nessuno | aggiungi il prefisso internazionale prima dell’hash |
| L’IP del tuo server inviato come quello del visitatore | l’IP descrive il server, non la persona | prendilo dalla richiesta del visitatore |
| Pixel e server su ID Pixel diversi | le due copie non possono essere deduplicate | un solo ID Pixel su entrambi i lati |
event_time in millisecondi | Meta si aspetta secondi Unix | dividi per 1.000 |
test_event_code lasciato in produzione | Meta chiede di toglierlo fuori dai test | eliminalo al lancio |