Se fai pubblicità su Meta dopo iOS 14, sai che il Pixel da solo non basta più. I blocchi di Apple hanno tagliato il tracciamento: conversioni attribuite come “nessuna”, campagne che sembrano non funzionare, budget speso senza dati. No, di Meteora Web, lo vediamo ogni giorno con i nostri clienti. Un negozio di abbigliamento che seguiamo ha perso il 40% dei dati di conversione in due settimane dopo l’aggiornamento di iOS. La soluzione? La Conversions API (CAPI) di Meta. In questa guida ti spieghiamo cos’è, perché ti serve e come implementarla subito — con codice reale, non teoria.
Perché il tracking lato client (Pixel) non basta più dopo iOS 14?
Il Pixel di Meta è JavaScript che gira nel browser dell’utente. Funziona finché il browser accetta di eseguirlo. Con iOS 14 (e ora anche Android con Privacy Sandbox) Apple ha introdotto App Tracking Transparency: l’utente deve dare il consenso esplicito. Se dice “no” — e la maggior parte dice “no” — il Pixel non vede nulla. Il risultato: eventi persi, attribuzione rotta, lookalike costruiti su dati incompleti. Noi abbiamo visto campagne con ROAS calato del 50% da un giorno all’altro. Il Pixel è ancora utile, ma non basta più. Serve un secondo canale di invio: server-side.
Sponsored Protocol
Come funziona la Conversions API rispetto al Pixel?
La Conversions API (CAPI) invia gli eventi direttamente dal tuo server a Meta. Non dipende dal browser dell’utente. I dati arrivano più sicuri (HTTPS, firma) e non possono essere bloccati da ad blocker o restrizioni iOS. Con CAPI puoi inviare eventi anche quando l’utente non è online, tipo acquisti fatti in negozio e registrati nel tuo gestionale. Il grande vantaggio è la deduplicazione: se invii lo stesso evento sia via Pixel che via CAPI, Meta confronta un ID univoco (event_id) e lo conta una volta sola. Così hai dati puliti, senza doppioni.
Quali eventi inviare e come strutturare il server-side tracking?
Non devi inviare tutto. Inizia con gli eventi chiave: Purchase, Lead, AddToCart (più utile per e-commerce), CompleteRegistration (per lead). Ogni evento deve includere: event_name, event_time (timestamp Unix), event_id (univoco per deduplicazione), user_data (email, telefono, nome con hash SHA-256), custom_data (value, currency, content_ids). I dati dell’utente vanno hashati prima dell’invio. Meta li usa per matching. Attenzione: le email vanno normalizzate (minuscolo, niente spazi) prima di hashare. Un errore comune: inviare eventi con dati non hashati — Meta li rifiuta o li tratta come nulli. Nel nostro lavoro abbiamo automatizzato questo passaggio in una semplice funzione PHP.
Sponsored Protocol
// Funzione Meteora per hash dati utente per CAPI
function met_hash_user_data($data) {
$data = strtolower(trim($data));
return hash('sha256', $data);
}
Come implementare CAPI con esempio pratico in PHP?
Vediamo un esempio reale. Supponiamo di voler inviare un evento Purchase dal tuo server PHP. Ti servono: Pixel ID (o Pixel ID associato) e un Access Token generato da Business Manager (vai in Events Manager > Impostazioni > Genera token). Ecco il codice:
function sendMetaCAPIEvent($pixel_id, $access_token, $event) {
$url = "https://graph.facebook.com/v21.0/{$pixel_id}/events";
$data = array(
"data" => array($event),
"access_token" => $access_token
);
$ch = curl_init($url);
curl_setopt($ch, CURLOPT_POST, true);
curl_setopt($ch, CURLOPT_POSTFIELDS, json_encode($data));
curl_setopt($ch, CURLOPT_HTTPHEADER, array('Content-Type: application/json'));
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
$response = curl_exec($ch);
curl_close($ch);
return $response;
}
// Esempio di evento Purchase
$event = array(
"event_name" => "Purchase",
"event_time" => time(),
"event_id" => uniqid("purchase_", true),
"user_data" => array(
"em" => met_hash_user_data($email_cliente),
"ph" => met_hash_user_data($telefono_cliente)
),
"custom_data" => array(
"currency" => "EUR",
"value" => 59.99,
"content_ids" => array("SKU123"),
"content_type" => "product"
),
"event_source_url" => "https://www.tuonegozio.com/checkout/success"
);
$response = sendMetaCAPIEvent(YOUR_PIXEL_ID, YOUR_ACCESS_TOKEN, $event);
Attenzione: usa sempre HTTPS in produzione. Controlla la risposta di Meta: un JSON con `events_received` = 1 significa successo. Errori comuni: token scaduto, pixel errato, formato JSON non valido.
Sponsored Protocol
Come evitare la duplicazione degli eventi e testare CAPI?
La duplicazione è il problema numero uno. Se invii lo stesso evento via Pixel e via CAPI, Meta li vede come due conversioni separate, sballando metriche e costi. Soluzione: usa event_id identico in entrambi i canali. Per il Pixel, puoi passare event_id come parametro nel codice JavaScript. Per CAPI, lo stesso. In pratica: quando un utente completa un acquisto, generi un ID univoco (es. l’ID ordine del database) e lo invii sia al Pixel che a CAPI. Meta fa la deduplicazione automatica. Per testare, usa il strumento di test degli eventi di Meta (Events Manager > Test). Inserisci manualmente i dati e verifica se l’evento arriva. Inoltre, puoi installare il Meta Pixel Helper (estensione Chrome) per vedere cosa invia il browser. Ma la vera verifica è lato server: controlla i log del tuo server per vedere la risposta di Meta (status 200).
Sponsored Protocol
Cosa fare adesso — Checklist per attivare CAPI oggi
Ecco i passi concreti da fare subito, senza perdere tempo. Noi di Meteora Web li abbiamo applicati con tutti i nostri clienti, e funzionano.
Sponsored Protocol
- Apri Business Manager e ottieni Pixel ID e Access Token — Vai su business.facebook.com > Impostazioni > Pixel > Genera token.
- Scegli la modalità di invio — Puoi usare solo CAPI (se hai bloccato il Pixel per GDPR) o entrambi con deduplicazione. Noi consigliamo entrambi per massima copertura.
- Implementa l’invio server-side degli eventi chiave — Inizia con Purchase e Lead. Usa il codice PHP sopra come template, adattalo al tuo linguaggio (Python, Node, ecc.).
- Hash dei dati utente — Normalizza e applica SHA-256. Non inviare dati in chiaro.
- Deduplica con event_id — Usa l’ID ordine / ID lead come event_id sia nel Pixel che in CAPI.
- Testa con Events Manager — Invia un evento di prova da server e controlla che appaia nella sezione “Test” del tuo Pixel.
- Monitora per 7 giorni — Confronta i dati pre e post CAPI: la differenza si vede subito nel numero di conversioni attribuite.
Se hai bisogno di una mano, torna alla nostra guida pillar su Meta Ads per una visione d’insieme. Per approfondimenti tecnici, consulta la documentazione ufficiale di Meta sulla Conversions API.