Le linee guida di Meta, pubblicate sulla pagina introduttiva della Conversions API (acceduta il 2026-05-12), inquadrano il pixel del browser come complemento alla CAPI, non viceversa. Quel cambiamento è avvenuto intorno a iOS 14.5: App Tracking Transparency ha tagliato la qualità del segnale di Meta, ITP ha mangiato un'altra fetta e le installazioni di ad-blocker hanno continuato a crescere. Nel 2026, i team che pubblicano inserzioni Meta verso pubblici con forte presenza iOS registrano routinariamente la perdita del 30-40% degli eventi di conversione prima che raggiungano il reporting.
CAPI è il canale lato server che bypassa tutto questo. Il tuo server parla direttamente con l'API Graph di Meta. ITP non si applica. Gli ad-blocker non lo intercettano. Il tasso di corrispondenza aumenta perché puoi inviare email con hash e telefono insieme all'identificatore del clic; poiché sia gli eventi del browser che quelli del server condividono una chiave di deduplicazione, Meta conta la conversione una sola volta anche quando entrambi i percorsi si attivano.
Questa è la guida passo passo per collegare CAPI attraverso i link brevi di Elido. La panoramica del tracciamento delle conversioni lato server copre l'architettura più ampia (GA4, TikTok, Mixpanel, semantica dei retry). Il tutorial UTM end-to-end vale la pena di leggerlo prima se il tuo tagging delle campagne è ancora informale.
TL;DR#
- Meta Pixel perde il 30-40% degli eventi di conversione sul traffico con forte presenza iOS verso ITP e gli ad-blocker; CAPI invia quegli eventi direttamente dal tuo server, recuperando la maggior parte del divario.
- La chiave di deduplicazione -
event_id- deve essere identica tra il pixel lato browser e il tuo evento CAPI. Non farlo causa il doppio conteggio, che rompe l'allocazione del budget di ottimizzazione di Meta. - Una maggiore densità di chiavi di corrispondenza (email con hash, telefono,
fbcclick ID, cookiefbp) migliora direttamente il tasso di corrispondenza dell'attribuzione; Elido catturafbclidal momento del clic e lo associa a ogni conversione downstream. - La validazione richiede circa 10 minuti: il pannello Test Events di Meta Events Manager mostra gli eventi CAPI che arrivano entro 30 secondi, molto prima che la dashboard del tasso di corrispondenza si popoli nelle 24 ore.
Cosa ti serve prima di iniziare#
Tre cose, tutte da Meta Business Manager.
ID Pixel. Ogni account pubblicitario Meta ha almeno un pixel. Trovalo in Events Manager sotto Data Sources. La stringa numerica - qualcosa come 1234567890 - è quella che incollerai nelle impostazioni di integrazione di Elido.
Token di accesso dell'utente di sistema. Questa è la credenziale che autorizza Elido a scrivere eventi sul tuo pixel. Vai a Business Settings, poi Users, poi System Users. Crea un utente di sistema con accesso Standard, assegnalo al pixel (permessi Manage) e genera un token con gli scope ads_management e business_management. Il token è a lungo termine; ruotalo quando ruoti le altre credenziali del servizio, non secondo un programma. Conservalo come segreto del workspace - non nel codice sorgente, non in un foglio di calcolo.
Schema dell'URL sorgente dell'evento. Ogni evento CAPI porta un event_source_url che indica a Meta su quale pagina è avvenuta la conversione. Per gli eventi di acquisto, questo è tipicamente l'URL di conferma del checkout. Per gli eventi lead, è la pagina di invio del modulo. Non li hard-code; provengono dal webhook del tuo ordine o dal contesto della richiesta del tuo backend al momento della conversione.
Le chiavi di corrispondenza: perché la densità conta#
Meta deduplicata e abbina gli eventi del server alle sessioni del browser usando un insieme di parametri di informazioni sui clienti. Più ne invii, più alto è il tasso di corrispondenza. Un tasso di corrispondenza più alto significa più conversioni attribuite alle tue campagne, il che significa che l'algoritmo di ottimizzazione ha un segnale migliore, il che significa un ROAS migliore. La relazione è diretta.
Le quattro chiavi che contano di più:
em (email con hash SHA-256). Il singolo segnale di valore più alto. Se hai l'email del cliente al momento della conversione (quasi sempre ce l'hai per l'e-commerce), inviala. Il riferimento ai parametri di informazioni sui clienti di Meta (acceduto il 2026-05-12) specifica le regole di normalizzazione: minuscolo, privo di spazi iniziali/finali, senza modifiche al dominio. Applica l'hash alla stringa normalizzata. Inviare [email protected] con hash diretto produce il valore sbagliato; [email protected] è quello a cui applicare l'hash.
ph (telefono con hash SHA-256). Stessa disciplina di normalizzazione. Formato E.164: prefisso internazionale, nessuno spazio, nessun trattino, nessuna parentesi. +4915123456789 con hash produce qualcosa che Meta può abbinare; 015123456789 no.
fbc (Facebook click ID). Quando un utente fa clic su un'inserzione Meta, l'URL di destinazione riceve un parametro di query fbclid. La tua landing page o il gestore del redirect di Elido lo legge e lo memorizza. Il campo fbc è costruito da questo: fb.{version}.{creationTime}.{fbclid}, dove la versione è 1 e il tempo di creazione è il timestamp Unix in millisecondi. Elido cattura fbclid dall'URL di redirect al momento del clic e lo memorizza nel record del clic. Quando invii una conversione con un click_id, il valore fbc è già allegato e viene inoltrato automaticamente.
fbp (cookie del pixel del browser di Facebook). Questo è il cookie _fbp che il JS del Meta Pixel imposta sul tuo dominio. È un cookie first-party dal punto di vista del tuo dominio. Il tuo server lo legge dagli header della richiesta al momento del checkout e lo include nel payload della conversione. Senza di esso, il tasso di corrispondenza di Meta per il percorso di fallback lato browser degrada.
L'ordine di priorità pratico: em prima (quasi sempre disponibile), fbc secondo (Elido lo fornisce per le conversioni originate da clic), fbp terzo (letto dal cookie sulla pagina di conferma), ph ultimo (spesso non catturato). Un payload con em + fbc si abbinerà significativamente meglio rispetto a uno senza nulla.
Configurazione in Elido#
L'integrazione si trova in Impostazioni Workspace, sotto /integrations, poi Meta CAPI.
Incolla il tuo ID Pixel e il token di accesso dell'utente di sistema. Elido convalida il token rispetto all'API Graph di Meta immediatamente - un 400 qui significa che il token è malformato o manca degli scope richiesti; controlla i permessi dell'utente di sistema prima di procedere. Una volta convalidata, l'integrazione è attiva per il workspace. Tutti i link tracciati nel workspace partecipano; non c'è alcun toggle per link.
Quando viene cliccato un link tracciato, il gestore dell'edge di Elido legge fbclid dalla stringa di query (se presente) e lo scrive nel record del clic. Questo avviene al livello di redirect, prima che l'utente raggiunga il tuo sito, quindi la cattura è affidabile indipendentemente dal fatto che il JavaScript del tuo sito di destinazione venga eseguito.
Quando si attiva un evento di conversione, invia una POST a /v1/conversions:
curl -X POST \
https://api.elido.app/v1/conversions \
-H "Authorization: Bearer $ELIDO_TOKEN" \
-d '{
"click_id": "clk_01HYZ7T8WV6KQX3M",
"event_name": "Purchase",
"event_id": "ord_98231",
"value": 89.50,
"currency": "EUR",
"user": {
"email": "[email protected]",
"phone": "+4915123456789"
}
}'
Alla ricezione, Elido cerca il record del clic, legge il fbclid memorizzato per costruire fbc, normalizza e applica l'hash a email e phone, assembla il payload CAPI completo e invia una POST a https://graph.facebook.com/v21.0/{pixel_id}/events. La chiamata API restituisce immediatamente un ID di conversione; il fan-out verso Meta è in background ed è osservabile tramite GET /v1/conversions/{id}.
Il payload CAPI raw che Elido costruisce è simile a questo:
{
"data": [
{
"event_name": "Purchase",
"event_time": 1747047600,
"event_id": "ord_98231",
"action_source": "website",
"event_source_url": "https://shop.example.com/checkout/thanks?order=98231",
"user_data": {
"em": ["a3b6e2f4...sha256 of [email protected]"],
"ph": ["c7d9f1a3...sha256 of +4915123456789"],
"fbc": "fb.1.1747040000.AbCdEfGhIj",
"fbp": "fb.1.1747040000.987654321",
"client_user_agent": "Mozilla/5.0 (iPhone; CPU iPhone OS 17_4 ...)",
"client_ip_address": "203.0.113.42"
},
"custom_data": {
"currency": "EUR",
"value": 89.5,
"content_ids": ["sku-spring-jeans-32-blue"],
"content_type": "product",
"num_items": 1
}
}
],
"access_token": "EAAxxxxxxx"
}
I campi event_source_url e action_source sono derivati dall'URL di destinazione del record del clic e dal parametro source della richiesta di conversione (il default è website). Se stai inoltrando conversioni lato app, passa "source": "app" nel corpo della POST.
Disciplina di deduplicazione#
Leggi la documentazione di deduplicazione degli eventi di Meta (acceduta il 2026-05-12) prima di toccare il traffico di produzione. La versione breve è questa: Meta abbina gli eventi pixel del browser e gli eventi CAPI usando event_id + event_name entro una finestra di 48 ore. Se entrambi gli eventi portano la stessa coppia, il secondo viene silenziosamente scartato.
Il requisito operativo che ne consegue: l'evento Purchase del tuo pixel lato browser e il tuo evento CAPI lato server devono condividere lo stesso event_id. La scelta più affidabile è il tuo ID ordine: entrambi i lati lo vedono, è stabile, non viene rigenerato al retry.
Dove si rompe in pratica: il server genera un UUID al momento dell'inoltro invece di usare l'ID ordine. Oppure il pixel del browser usa uno schema di ID (ord_98231) e il backend usa un altro (order-98231). Entrambi gli eventi vengono acquisiti. Nessuno viene deduplicato. Le tue conversioni riportate raddoppiano. L'algoritmo di Meta sovra-alloca il budget alla campagna in base a numeri gonfiati. La revisione del budget tre settimane dopo rivela "il nostro ROAS è in qualche modo 2,5 volte il nostro fatturato effettivo" e le indagini forensi sono spiacevoli.
Il diagramma di sequenza sottostante mostra come l'event_id viaggia attraverso il sistema:
La chiamata pixel lato browser avviene lato client quando la pagina di conferma si carica. L'inoltro CAPI lato server avviene quando si attiva il webhook del tuo ordine. Entrambi devono emettere event_id: ord_98231 (o qualunque sia il tuo identificatore dell'ordine). Il ritardo temporale tra i due è irrilevante finché entrambi arrivano entro 48 ore.
Se non stai eseguendo un pixel lato browser (rimosso per ragioni di consenso GDPR, o perché il tuo pubblico è interamente composto da heavy user di ad-blocker), la deduplicazione è irrilevante. Invia solo CAPI. Ma la maggior parte dei team esegue entrambi; il pixel del browser fornisce un segnale di fallback per gli utenti dove gli eventi CAPI non possono portare le chiavi di corrispondenza (nessuna email catturata, nessun fbclid).
Validazione#
Il ciclo di validazione è breve e dovrebbe avvenire prima che qualsiasi traffico di produzione fluisca attraverso di esso.
Passo uno: imposta un codice evento di test. Nelle impostazioni di integrazione Meta CAPI di Elido, c'è un campo per il codice evento di test. Ottieni un codice da Meta Events Manager sotto Test Events. Incollalo. Mentre questo codice è impostato, ogni evento CAPI che Elido invia viene indirizzato al pannello di test - non entra mai nel reporting di produzione.
Passo due: attiva una conversione di test. Fai clic su uno dei tuoi link tracciati da un browser (questo cattura fbclid se l'URL del link proviene da un'inserzione Meta, o da un link con fbclid aggiunto manualmente per i test). Invia una POST di conversione rispetto a quel click_id con un ID ordine realistico, valore e indirizzo email.
Passo tre: controlla Test Events. In Meta Events Manager, l'evento di test dovrebbe apparire entro 30 secondi. Verifica che l'event_name corrisponda a quello che il tuo pixel del browser sta inviando. Verifica che l'event_id sia l'ID ordine, non un UUID. Verifica che em, fbc o fbp appaiano nella sezione user_data - deve essere presente almeno una chiave di corrispondenza.
Passo quattro: rimuovi il codice evento di test. Una volta convalidato, cancella il campo del codice evento di test e salva. Gli eventi di produzione iniziano a fluire. La dashboard del tasso di corrispondenza in Events Manager impiega 24 ore per popolarsi con dati significativi.
Cosa cercare alla marca delle 24 ore: un tasso di corrispondenza superiore al 60% è accettabile; superiore al 75% è buono; superiore all'85% significa che la tua densità di chiavi di corrispondenza è alta e l'attribuzione sarà affidabile. Se sei sotto il 60%, la causa più probabile è fbc mancante (il fbclid non era sull'URL di destinazione) o un errore di normalizzazione dell'hash.
Modalità di errore comuni#
event_source_url mancante. Gli eventi CAPI senza questo campo vengono accettati ma penalizzati nella logica di corrispondenza di Meta. Il campo dovrebbe essere l'URL della pagina in cui è avvenuta la conversione - l'URL di conferma del checkout, la landing page del modulo lead, l'equivalente della tua app. Elido lo deriva dall'URL di destinazione del record del clic quando non viene sovrascritto; passalo esplicitamente nella POST di conversione se il tuo URL di conferma differisce dalla destinazione del redirect.
Chiave con hash non in minuscolo senza spazi. [email protected] e [email protected] producono valori SHA-256 diversi. I server di Meta applicano l'hash alla forma canonica memorizzata nel loro grafo utente. Se il tuo hash non corrisponde, l'evento viene registrato come non abbinato. Il requisito di normalizzazione si applica anche ai numeri di telefono: elimina le varianti di formattazione del prefisso internazionale, forza E.164. L'instradamento attraverso l'endpoint /v1/conversions di Elido significa che la normalizzazione viene gestita per tuo conto; passi l'email e il telefono grezzi, Elido applica l'hash secondo le specifiche.
Mismatch di action_source. Le conversioni originate dal web usano "action_source": "website". Le conversioni da app mobile usano "app". Se stai inoltrando un acquisto avvenuto nella tua app iOS ma invii action_source: "website", il modello di attribuzione di Meta potrebbe degradare il segnale. Passa "source": "app" nella POST di conversione di Elido per gli eventi lato app.
fbc assente perché fbclid non era sull'URL. Questo accade quando l'URL di destinazione dell'inserzione non include fbclid - o perché la campagna non ha abilitato "Auto-advanced matching", o perché l'URL è stato costruito manualmente senza di esso, o perché l'utente è arrivato tramite un percorso di retargeting che non portava il parametro. Quando manca fbc, la conversione viene comunque inoltrata, ma il tasso di corrispondenza scende a solo email/telefono. Controlla le impostazioni della campagna in Meta Ads Manager; fbclid dovrebbe apparire sugli URL di destinazione per le campagne di traffico standard.
Schemi doppi di event_id. Il pixel del browser e l'evento CAPI usano formati diversi per lo stesso ID ordine. Questo accade quasi sempre quando team diversi gestiscono la configurazione del tag manager del frontend e l'integrazione del webhook dell'ordine del backend. Concordate un formato canonico prima del lancio. L'ID ordine come stringa (ord_98231) funziona. Anche solo numerico funziona. Il pixel che emette "ord_98231" e il server che emette "98231" vengono trattati come eventi diversi: nessuno dei due viene deduplicato.
Un risultato reale#
Un brand e-commerce con sede nell'UE che pubblicava inserzioni Meta verso Germania e Austria ha riportato un tasso di corrispondenza del 38% con il solo tracciamento del pixel. Safari su iOS rappresentava circa il 45% del traffico del sito; i tassi di opt-out di ATT nel segmento demografico 25-44 anni si aggiravano intorno al 72%.
Dopo aver collegato CAPI attraverso Elido con em + fbc come chiavi di corrispondenza primarie, il tasso di corrispondenza è salito al 76% nella prima settimana. fbc era ora presente su ogni conversione originata da un clic su un'inserzione Meta (Elido cattura fbclid al livello del redirect, non al livello del browser), e l'inoltro dell'email con hash ha fornito un secondo percorso di corrispondenza per le conversioni in cui il cookie _fbp era scaduto.
Il CPA è diminuito del 18% nelle quattro settimane successive. Il ROAS riportato è passato da 2,1 a 2,6. La riduzione del CPA del 18% riflette una migliore attribuzione, non migliori prestazioni della campagna: le campagne stavano sempre performando a un ROAS di 2,6; il solo pixel stava sotto-riportando.
Dove si inserisce nella pipeline di attribuzione#
CAPI è un canale in una configurazione di inoltro lato server più ampia. La panoramica del tracciamento delle conversioni lato server copre GA4 Measurement Protocol e TikTok Events API con la stessa profondità che questo post applica a Meta. Cookieless attribution explained vale la pena di leggere se vuoi capire il perché di fondo - ITP, protezione del tracciamento dei link e i cambiamenti del modello di attribuzione che ne sono seguiti.
Per la superficie del prodotto: conversion tracking features documenta l'API /v1/conversions completa, inclusi gli eventi di rimborso, le modalità di attribuzione multi-touch e la semantica retry/backoff. Solutions for marketers mostra come i pezzi si incastrano in un flusso di lavoro di campagna.
La configurazione descritta sopra è realizzabile in una mattinata. L'investimento principale è il tempo nella validazione - 30 minuti in Meta Test Events prima di attivare il traffico di produzione. Quei 30 minuti ne valgono la pena; l'alternativa è scoprire un'errata configurazione tre giorni dopo, quando l'algoritmo ha già agito sui numeri sbagliati.
Fonti
- Meta Conversions API: Getting Started. developers.facebook.com/docs/marketing-api/conversions-api/get-started/ (acceduto il 2026-05-12)
- Meta Conversions API: Deduplicate Pixel and Server Events. developers.facebook.com/docs/marketing-api/conversions-api/deduplicate-pixel-and-server-events/ (acceduto il 2026-05-12)
- Meta Conversions API: Customer Information Parameters. developers.facebook.com/docs/marketing-api/conversions-api/parameters/customer-information-parameters/ (acceduto il 2026-05-12)
Prova Elido
Incolla un URL, ottieni un link breve
Senza registrazione. Il link vive 30 giorni. Iscriviti per conservarlo.
Gratis, nessuna registrazione richiesta · 2 al giorno