[{"data":1,"prerenderedAt":719},["ShallowReactive",2],{"article-alternates":3,"article-\u002Fit\u002Fmarketing\u002Fserver-side-conversioni-meta-capi-configurazione":13},{"i18nKey":4,"paths":5},"marketing-001-2026-06",{"de":6,"en":7,"es":8,"fr":9,"it":10,"ru":11,"tr":12},"\u002Fde\u002Fmarketing\u002Fserver-side-conversions-meta-capi-richtig-einrichten","\u002Fen\u002Fmarketing\u002Fserver-side-conversions-meta-capi-setup","\u002Fes\u002Fmarketing\u002Fconfigurar-conversiones-servidor-meta-capi","\u002Ffr\u002Fmarketing\u002Fserver-side-conversions-meta-capi-setup","\u002Fit\u002Fmarketing\u002Fserver-side-conversioni-meta-capi-configurazione","\u002Fru\u002Fmarketing\u002Fserver-side-conversions-meta-capi-setup","\u002Ftr\u002Fmarketing\u002Fserver-side-conversions-meta-capiyi-sifirdan-dogru-kurmak",{"_path":10,"_dir":14,"_draft":15,"_partial":15,"_locale":16,"title":17,"description":18,"publishedAt":19,"modifiedAt":19,"category":14,"i18nKey":4,"tags":20,"readingTime":26,"author":27,"body":28,"_type":713,"_id":714,"_source":715,"_file":716,"_stem":717,"_extension":718},"marketing",false,"","Server-Side Conversioni: Meta CAPI Configurato Correttamente da Zero","Architettura sGTM + Conversion API, logica di deduplicazione e ottimizzazione Event Match Quality — il fondamento tecnico dell'attribution post-iOS 17.","2026-06-16",[21,22,23,24,25],"conversion-api","server-side-gtm","meta-ads","attribution","event-match-quality",9,"Roibase",{"type":29,"children":30,"toc":696},"root",[31,39,46,60,65,70,76,81,94,99,106,143,148,154,213,253,266,298,304,309,336,378,437,443,481,487,521,526,532,559,578,584,589,594,600,651,685,691],{"type":32,"tag":33,"props":34,"children":35},"element","p",{},[36],{"type":37,"value":38},"text","Dal rilascio di iOS 14.5, l'affidabilità del pixel lato client ha perso tra il 30-40%. I tassi di opt-in ATT si aggirano intorno al 25%, Safari ITP cancella i cookie dopo 7 giorni, Chrome Privacy Sandbox è ancora in preprod. Secondo lo stesso rapporto Meta, gli account che non utilizzano la Conversion API registrano segnali di conversione mediamente il 20% inferiori — il che acceca completamente l'algoritmo di bidding. Il server-side conversion tracking non è più opzionale; è diventato l'arteria vitale delle performance di campagna. Ma configurarlo correttamente significa molto più che scrivere due righe di codice: richiede architettura sGTM, logica di deduplicazione, ottimizzazione Event Match Quality score e integrazione di una pipeline first-party data.",{"type":32,"tag":40,"props":41,"children":43},"h2",{"id":42},"perché-il-pixel-lato-client-non-basta-più",[44],{"type":37,"value":45},"Perché il Pixel Lato Client Non Basta Più",{"type":32,"tag":33,"props":47,"children":48},{},[49,51,58],{"type":37,"value":50},"Il Meta Pixel è stato lanciato nel 2018 e ha funzionato nel browser: quando l'utente clicca il pulsante \"Acquista\", il codice JavaScript ",{"type":32,"tag":52,"props":53,"children":55},"code",{"className":54},[],[56],{"type":37,"value":57},"fbq('track', 'Purchase')",{"type":37,"value":59}," viene attivato e il browser invia direttamente una richiesta HTTP ai server Meta. Questa architettura presenta tre fragilità fondamentali.",{"type":32,"tag":33,"props":61,"children":62},{},[63],{"type":37,"value":64},"La prima fragilità è ATT (App Tracking Transparency). Il 75% degli utenti iOS 14.5+ rifiuta il tracking; i segnali di conversione provenienti da questo segmento non raggiungono mai Meta. La seconda fragilità è ITP (Intelligent Tracking Prevention). Safari cancella i cookie di terze parti dopo 7 giorni, il che rompe l'attribution cross-domain — se un utente vede un annuncio su Instagram, ma compra dal tuo sito 10 giorni dopo tramite una ricerca Google, Meta perde questa connessione. La terza fragilità è la penetrazione degli ad-blocker. Su desktop, oltre il 40% degli utenti utilizza uBlock Origin o Brave, e le richieste di pixel vengono bloccate a livello di rete.",{"type":32,"tag":33,"props":66,"children":67},{},[68],{"type":37,"value":69},"Il risultato: l'algoritmo di bidding Meta lavora con dati incompleti. Una campagna potrebbe generare 100 acquisti, ma la piattaforma ne vede solo 60-70. L'algoritmo non ottimizza i rimanenti 30-40 — il CPA si raggiunge nella realtà, ma nel dashboard appare in rosso. In questa situazione si taglia il budget o ci si spostano su lookalike audience errate.",{"type":32,"tag":40,"props":71,"children":73},{"id":72},"architettura-server-side-gtm-conversion-api",[74],{"type":37,"value":75},"Architettura Server-Side GTM + Conversion API",{"type":32,"tag":33,"props":77,"children":78},{},[79],{"type":37,"value":80},"La Conversion API (CAPI) funziona attraverso richieste HTTP server-to-server — non il browser, ma il vostro backend invia l'evento a Meta. Tuttavia, attivare CAPI direttamente dal backend non è scalabile: richiede un'integrazione SDK separata per ogni framework, validazione dello schema dell'evento, logica di retry e mapping dei segnali di consenso. Qui entra in gioco il server-side Tag Manager (sGTM) di Google.",{"type":32,"tag":33,"props":82,"children":83},{},[84,86,92],{"type":37,"value":85},"sGTM è un server di gestione dei tag containerizzato che gira su Google Cloud Run. Il vostro container GTM lato client (che gira sul web) attiva un evento GA4 o Meta Pixel, ma invece di inviarlo direttamente a terze parti, lo reindirizza al vostro endpoint sGTM: ",{"type":32,"tag":52,"props":87,"children":89},{"className":88},[],[90],{"type":37,"value":91},"https:\u002F\u002Fgtm.yourdomain.com\u002Fg\u002Fcollect",{"type":37,"value":93},". sGTM riceve l'evento e lo invia a Meta tramite un tag server-side CAPI. La differenza cruciale: la richiesta proviene dal vostro dominio first-party, il cookie viene scritto in contesto first-party, ITP non blocca nulla.",{"type":32,"tag":33,"props":95,"children":96},{},[97],{"type":37,"value":98},"L'architettura tipica funziona così: Client-side GTM → endpoint sGTM → tag CAPI (Meta Conversions API) + tag GA4 (Measurement Protocol). Entrambi i canali ricevono lo stesso evento, ma nel contesto server-side. Il vantaggio critico di sGTM è che può leggere lo stato di consenso lato server, aggiungere in sicurezza l'hash IP + user-agent come parametro dell'evento e generare automaticamente il token di deduplicazione.",{"type":32,"tag":100,"props":101,"children":103},"h3",{"id":102},"deduplicazione-non-contare-lo-stesso-evento-due-volte",[104],{"type":37,"value":105},"Deduplicazione: Non Contare lo Stesso Evento Due Volte",{"type":32,"tag":33,"props":107,"children":108},{},[109,111,117,119,125,127,133,135,141],{"type":37,"value":110},"Quando il pixel lato client e la CAPI girano contemporaneamente, due diverse richieste vengono inviate a Meta — una dal browser, una dal server. Meta sa come consolidarle in un unico evento, ma per questo i parametri ",{"type":32,"tag":52,"props":112,"children":114},{"className":113},[],[115],{"type":37,"value":116},"event_id",{"type":37,"value":118}," e ",{"type":32,"tag":52,"props":120,"children":122},{"className":121},[],[123],{"type":37,"value":124},"event_time",{"type":37,"value":126}," devono essere identici. Se il lato client invia ",{"type":32,"tag":52,"props":128,"children":130},{"className":129},[],[131],{"type":37,"value":132},"fbq('track', 'Purchase', {...}, {eventID: 'xyz123'})",{"type":37,"value":134},", la richiesta CAPI deve contenere ",{"type":32,"tag":52,"props":136,"children":138},{"className":137},[],[139],{"type":37,"value":140},"event_id: 'xyz123'",{"type":37,"value":142},". Meta cross-referenzia questi ID entro 48 ore e conta la stessa coppia event_id + event_name una sola volta.",{"type":32,"tag":33,"props":144,"children":145},{},[146],{"type":37,"value":147},"Senza deduplicazione emergono due scenari: (1) Meta conta entrambe le richieste come eventi separati, il volume conversioni si gonfia al 100%, il ROAS dimezza. (2) Meta diffida di entrambe le richieste e le ignora completamente, senza attribution. Il secondo scenario è raro ma possibile — soprattutto se la differenza di event_time supera i 5 secondi.",{"type":32,"tag":40,"props":149,"children":151},{"id":150},"event-match-quality-score-qualità-dei-dati-qualità-del-bidding",[152],{"type":37,"value":153},"Event Match Quality Score: Qualità dei Dati = Qualità del Bidding",{"type":32,"tag":33,"props":155,"children":156},{},[157,159,165,167,173,174,180,182,188,190,196,197,203,205,211],{"type":37,"value":158},"Meta assegna a ogni evento CAPI un punteggio Event Match Quality (EMQ) compreso tra 0.0 e 10.0. Se il punteggio è alto, Meta può associare l'utente al suo grafico; se basso, l'evento rimane \"anonimo\" e non entra nel bidding. I fattori che determinano l'EMQ sono: ",{"type":32,"tag":52,"props":160,"children":162},{"className":161},[],[163],{"type":37,"value":164},"email",{"type":37,"value":166}," (hash SHA256), ",{"type":32,"tag":52,"props":168,"children":170},{"className":169},[],[171],{"type":37,"value":172},"phone",{"type":37,"value":166},{"type":32,"tag":52,"props":175,"children":177},{"className":176},[],[178],{"type":37,"value":179},"external_id",{"type":37,"value":181}," (CRM ID), ",{"type":32,"tag":52,"props":183,"children":185},{"className":184},[],[186],{"type":37,"value":187},"client_ip_address",{"type":37,"value":189},", ",{"type":32,"tag":52,"props":191,"children":193},{"className":192},[],[194],{"type":37,"value":195},"client_user_agent",{"type":37,"value":189},{"type":32,"tag":52,"props":198,"children":200},{"className":199},[],[201],{"type":37,"value":202},"fbc",{"type":37,"value":204}," (Facebook Click ID), ",{"type":32,"tag":52,"props":206,"children":208},{"className":207},[],[209],{"type":37,"value":210},"fbp",{"type":37,"value":212}," (Facebook Browser ID).",{"type":32,"tag":33,"props":214,"children":215},{},[216,218,223,224,229,231,236,238,244,246,251],{"type":37,"value":217},"I segnali più potenti sono ",{"type":32,"tag":52,"props":219,"children":221},{"className":220},[],[222],{"type":37,"value":202},{"type":37,"value":118},{"type":32,"tag":52,"props":225,"children":227},{"className":226},[],[228],{"type":37,"value":210},{"type":37,"value":230},". ",{"type":32,"tag":52,"props":232,"children":234},{"className":233},[],[235],{"type":37,"value":202},{"type":37,"value":237}," arriva come parametro URL ",{"type":32,"tag":52,"props":239,"children":241},{"className":240},[],[242],{"type":37,"value":243},"?fbclid=...",{"type":37,"value":245}," quando l'utente clicca un annuncio Meta; lo salvate in un cookie e lo inviate a CAPI. ",{"type":32,"tag":52,"props":247,"children":249},{"className":248},[],[250],{"type":37,"value":210},{"type":37,"value":252}," è un cookie first-party che il Meta Pixel scrive automaticamente, ma nel contesto sGTM voi lo impostate manualmente. Con questi due parametri, l'EMQ raggiunge tipicamente 8+.",{"type":32,"tag":33,"props":254,"children":255},{},[256,258,264],{"type":37,"value":257},"Il secondo livello è l'hash di email e telefono. Se l'utente fornisce l'email al checkout, fate un hash SHA256 sul backend e inviatelo a CAPI come parametro ",{"type":32,"tag":52,"props":259,"children":261},{"className":260},[],[262],{"type":37,"value":263},"em",{"type":37,"value":265},". Con l'hash email, l'EMQ arriva a 7+. Il terzo livello è IP + user-agent. sGTM li aggiunge automaticamente, ma se l'inoltro nel request client non è corretto (manca l'header X-Forwarded-For), sGTM usa il proprio Cloud Run IP — in questo caso l'EMQ scende a 3-4.",{"type":32,"tag":33,"props":267,"children":268},{},[269,271,280,282,288,290,296],{"type":37,"value":270},"Nei progetti ",{"type":32,"tag":272,"props":273,"children":277},"a",{"href":274,"rel":275},"https:\u002F\u002Fwww.roibase.com.tr\u002Fit\u002Fppc",[276],"nofollow",[278],{"type":37,"value":279},"Performans Pazarlaması",{"type":37,"value":281}," di Roibase, la mediana dell'EMQ è 8.2 — perché integriamo sGTM + CRM per inviare sia i parametri ",{"type":32,"tag":52,"props":283,"children":285},{"className":284},[],[286],{"type":37,"value":287},"fbc\u002Ffbp",{"type":37,"value":289}," che ",{"type":32,"tag":52,"props":291,"children":293},{"className":292},[],[294],{"type":37,"value":295},"em\u002Fph",{"type":37,"value":297}," senza lacune. Se l'EMQ scende sotto 5, il ROAS della campagna si riduce del 30-50%.",{"type":32,"tag":40,"props":299,"children":301},{"id":300},"configurazione-sgtm-checklist-pratica",[302],{"type":37,"value":303},"Configurazione sGTM: Checklist Pratica",{"type":32,"tag":33,"props":305,"children":306},{},[307],{"type":37,"value":308},"La configurazione di sGTM comporta tre fasi: (1) deploy del container Cloud Run, (2) override dell'URL di trasporto in GTM lato client, (3) configurazione del tag CAPI nel container server-side.",{"type":32,"tag":33,"props":310,"children":311},{},[312,318,320,326,328,334],{"type":32,"tag":313,"props":314,"children":315},"strong",{},[316],{"type":37,"value":317},"1. Deploy Cloud Run:",{"type":37,"value":319}," In Google Cloud Console, accedete a Tag Manager → Server Containers → Create → Auto-provision. Google apre automaticamente un'istanza Cloud Run; l'endpoint diventa ",{"type":32,"tag":52,"props":321,"children":323},{"className":322},[],[324],{"type":37,"value":325},"https:\u002F\u002Fsgtm-xxxxxx.a.run.app",{"type":37,"value":327},". Collegate un dominio personalizzato (es. ",{"type":32,"tag":52,"props":329,"children":331},{"className":330},[],[332],{"type":37,"value":333},"gtm.yourdomain.com",{"type":37,"value":335},") con un CNAME. L'SSL è automatico. Costo: per 100K eventi\u002Fgiorno ~$50\u002Fmese (Cloud Run compute + egress di rete).",{"type":32,"tag":33,"props":337,"children":338},{},[339,344,346,352,354,360,362,368,370,376],{"type":32,"tag":313,"props":340,"children":341},{},[342],{"type":37,"value":343},"2. URL di Trasporto GTM Lato Client:",{"type":37,"value":345}," Nel tag di configurazione GA4 del container web, aggiungete ",{"type":32,"tag":52,"props":347,"children":349},{"className":348},[],[350],{"type":37,"value":351},"server_container_url: \"https:\u002F\u002Fgtm.yourdomain.com\"",{"type":37,"value":353},". Questo fa sì che GA4 invii gli eventi direttamente al vostro sGTM anziché a ",{"type":32,"tag":52,"props":355,"children":357},{"className":356},[],[358],{"type":37,"value":359},"google-analytics.com",{"type":37,"value":361},". Per Meta Pixel, nel base code del pixel aggiungete ",{"type":32,"tag":52,"props":363,"children":365},{"className":364},[],[366],{"type":37,"value":367},"fbq('set', 'autoConfig', false, 'YOUR_PIXEL_ID')",{"type":37,"value":369}," + ",{"type":32,"tag":52,"props":371,"children":373},{"className":372},[],[374],{"type":37,"value":375},"fbq('dataProcessingOptions', [])",{"type":37,"value":377}," + override dell'endpoint personalizzato.",{"type":32,"tag":33,"props":379,"children":380},{},[381,386,388,393,394,400,401,406,407,412,414,420,422,428,430,435],{"type":32,"tag":313,"props":382,"children":383},{},[384],{"type":37,"value":385},"3. Tag CAPI:",{"type":37,"value":387}," Nel container server-side, create un tag Meta usando il template \"Facebook Conversions API\" (disponibile nella Community Gallery). Nel tag, configurate Pixel ID, Access Token (generato da Events Manager), event mapping (client event_name → CAPI event_name) e parametri user_data (",{"type":32,"tag":52,"props":389,"children":391},{"className":390},[],[392],{"type":37,"value":263},{"type":37,"value":189},{"type":32,"tag":52,"props":395,"children":397},{"className":396},[],[398],{"type":37,"value":399},"ph",{"type":37,"value":189},{"type":32,"tag":52,"props":402,"children":404},{"className":403},[],[405],{"type":37,"value":202},{"type":37,"value":189},{"type":32,"tag":52,"props":408,"children":410},{"className":409},[],[411],{"type":37,"value":210},{"type":37,"value":413},"). Per la deduplicazione: l'evento lato client passa l'",{"type":32,"tag":52,"props":415,"children":417},{"className":416},[],[418],{"type":37,"value":419},"eventID",{"type":37,"value":421}," tramite header sGTM ",{"type":32,"tag":52,"props":423,"children":425},{"className":424},[],[426],{"type":37,"value":427},"x-ga-mp1-ev",{"type":37,"value":429},", e il tag server-side lo usa come ",{"type":32,"tag":52,"props":431,"children":433},{"className":432},[],[434],{"type":37,"value":116},{"type":37,"value":436},".",{"type":32,"tag":100,"props":438,"children":440},{"id":439},"test-diagnostica-in-events-manager",[441],{"type":37,"value":442},"Test: Diagnostica in Events Manager",{"type":32,"tag":33,"props":444,"children":445},{},[446,448,454,456,461,462,467,468,473,474,479],{"type":37,"value":447},"In Meta Events Manager → sezione Test Events, vedete le richieste CAPI in tempo reale. Ogni evento mostra un badge \"Event Match Quality\": verde 8+, giallo 5-7, rosso \u003C5. Se è rosso, controllate i parametri ",{"type":32,"tag":52,"props":449,"children":451},{"className":450},[],[452],{"type":37,"value":453},"user_data",{"type":37,"value":455}," — se mancano ",{"type":32,"tag":52,"props":457,"children":459},{"className":458},[],[460],{"type":37,"value":263},{"type":37,"value":189},{"type":32,"tag":52,"props":463,"children":465},{"className":464},[],[466],{"type":37,"value":399},{"type":37,"value":189},{"type":32,"tag":52,"props":469,"children":471},{"className":470},[],[472],{"type":37,"value":187},{"type":37,"value":189},{"type":32,"tag":52,"props":475,"children":477},{"className":476},[],[478],{"type":37,"value":195},{"type":37,"value":480},", aggiungeteli. In modalità Preview di sGTM potete ispezionare il payload dell'evento: cliccate il pulsante Preview in alto a destra nel container sGTM, navigate sul vostro sito, eseguite un checkout, e nella console Preview vedrete il tag CAPI attivarsi.",{"type":32,"tag":40,"props":482,"children":484},{"id":483},"pipeline-first-party-data-integrazione-crm-sgtm",[485],{"type":37,"value":486},"Pipeline First-Party Data: Integrazione CRM → sGTM",{"type":32,"tag":33,"props":488,"children":489},{},[490,492,498,500,506,507,513,514,520],{"type":37,"value":491},"La forza di CAPI risiede nella capacità di inviare hash email\u002Ftelefono dal backend. Per farlo senza scrivere codice manualmente, avete bisogno di un'integrazione webhook CRM → sGTM. Scenario di esempio: l'utente completa il checkout, il webhook d'ordine Shopify si attiva, voi reindirizzate l'evento tramite un middleware (Segment, Hightouch o Lambda personalizzato) al vostro endpoint sGTM: ",{"type":32,"tag":52,"props":493,"children":495},{"className":494},[],[496],{"type":37,"value":497},"POST https:\u002F\u002Fgtm.yourdomain.com\u002Fg\u002Fcollect",{"type":37,"value":499}," con body contenente ",{"type":32,"tag":52,"props":501,"children":503},{"className":502},[],[504],{"type":37,"value":505},"event_name: \"Purchase\"",{"type":37,"value":189},{"type":32,"tag":52,"props":508,"children":510},{"className":509},[],[511],{"type":37,"value":512},"user_data: {em: \"sha256_hash\", ph: \"sha256_hash\"}",{"type":37,"value":189},{"type":32,"tag":52,"props":515,"children":517},{"className":516},[],[518],{"type":37,"value":519},"custom_data: {value: 150, currency: \"USD\"}",{"type":37,"value":436},{"type":32,"tag":33,"props":522,"children":523},{},[524],{"type":37,"value":525},"sGTM lo riceve, attiva il tag CAPI e lo invia a Meta. Il vantaggio di questo approccio: gli eventi possono essere inviati anche con il browser chiuso — come rinnovi ricorrenti di abbonamenti, vendite in negozio offline o lead di alto valore aggiunti manualmente nel CRM. Meta marca questi eventi come \"offline conversion\" ma li include nel grafico di attribution.",{"type":32,"tag":40,"props":527,"children":529},{"id":528},"consent-mode-v2-sgtm-conforme-a-gdpr",[530],{"type":37,"value":531},"Consent Mode v2: sGTM Conforme a GDPR",{"type":32,"tag":33,"props":533,"children":534},{},[535,537,543,544,550,552,557],{"type":37,"value":536},"Dal 2024, Google Consent Mode v2 è obbligatorio (nell'EEA per Ads + Analytics). sGTM ha un vantaggio qui: lo stato di consenso lato client (",{"type":32,"tag":52,"props":538,"children":540},{"className":539},[],[541],{"type":37,"value":542},"ad_storage",{"type":37,"value":189},{"type":32,"tag":52,"props":545,"children":547},{"className":546},[],[548],{"type":37,"value":549},"analytics_storage",{"type":37,"value":551},") viene passato come parametro a sGTM, e il tag server-side invia dati completi se il consenso è disponibile, oppure eventi anonimi altrimenti. Per Meta: con consenso vengono inviati hash email + fbc\u002Ffbp; senza consenso solo ",{"type":32,"tag":52,"props":553,"children":555},{"className":554},[],[556],{"type":37,"value":187},{"type":37,"value":558}," (con hash) — l'EMQ scende a 3-4 ma l'evento rimane nel bidding come conversione modellata.",{"type":32,"tag":33,"props":560,"children":561},{},[562,564,569,571,576],{"type":37,"value":563},"Nel tag CAPI, nella sezione \"Consent Settings\", leggete la variabile ",{"type":32,"tag":52,"props":565,"children":567},{"className":566},[],[568],{"type":37,"value":542},{"type":37,"value":570},"; se non è concesso, l'oggetto ",{"type":32,"tag":52,"props":572,"children":574},{"className":573},[],[575],{"type":37,"value":453},{"type":37,"value":577}," viene inviato vuoto. Meta lo riceve ma non riesce a effettuare il match, per cui lo marca come \"low confidence\". Entra in gioco l'Aggregated Measurement API (AEM) — Meta usa il suo modeling interno per mappare questi eventi a audience simili. Anche senza consenso completo, è possibile recuperare il 60-70% dei segnali.",{"type":32,"tag":40,"props":579,"children":581},{"id":580},"tradeoff-latenza-e-costo",[582],{"type":37,"value":583},"Tradeoff: Latenza e Costo",{"type":32,"tag":33,"props":585,"children":586},{},[587],{"type":37,"value":588},"sGTM utilizza Cloud Run compute per ogni evento — circa $150 per 1M eventi\u002Fmese (configurazione predefinita 1 vCPU, 512MB memoria). Se il volume raggiunge 10M+ eventi\u002Fmese, serve lo scaling orizzontale: Cloud Run lo gestisce automaticamente ma i costi di egress di rete aumentano (0.12 USD\u002FGB). Alternativa: campionamento degli eventi — solo i critical event (Purchase, AddToCart) passano attraverso sGTM; i top-funnel event come ViewContent rimangono nel pixel lato client.",{"type":32,"tag":33,"props":590,"children":591},{},[592],{"type":37,"value":593},"Il secondo tradeoff è la latenza. Il pixel lato client raggiunge direttamente Meta (50-100ms); sGTM allunga la catena di richieste: client → sGTM (150ms) → CAPI (100ms) = 250ms totali. Questo non influisce sul bidding in tempo reale (Meta processa gli eventi in batch), ma potrebbe aggiungere 200ms all'user experience (es. reindirizzamento della pagina di ringraziamento post-checkout). In questo caso, preferite webhook asincroni: il checkout si completa, il backend invia l'evento a sGTM in background e l'utente viene reindirizzato immediatamente.",{"type":32,"tag":40,"props":595,"children":597},{"id":596},"parametri-evento-custom-data-e-catalogo-prodotti",[598],{"type":37,"value":599},"Parametri Evento: Custom Data e Catalogo Prodotti",{"type":32,"tag":33,"props":601,"children":602},{},[603,605,611,613,619,621,627,629,635,636,642,643,649],{"type":37,"value":604},"L'oggetto ",{"type":32,"tag":52,"props":606,"children":608},{"className":607},[],[609],{"type":37,"value":610},"custom_data",{"type":37,"value":612}," inviato a CAPI è critico per gli annunci dinamici Meta (remarketing basato su catalogo). Dovete passare i parametri ",{"type":32,"tag":52,"props":614,"children":616},{"className":615},[],[617],{"type":37,"value":618},"content_ids",{"type":37,"value":620}," (SKU del prodotto), ",{"type":32,"tag":52,"props":622,"children":624},{"className":623},[],[625],{"type":37,"value":626},"content_type",{"type":37,"value":628}," (product\u002Fproduct_group), ",{"type":32,"tag":52,"props":630,"children":632},{"className":631},[],[633],{"type":37,"value":634},"value",{"type":37,"value":189},{"type":32,"tag":52,"props":637,"children":639},{"className":638},[],[640],{"type":37,"value":641},"currency",{"type":37,"value":189},{"type":32,"tag":52,"props":644,"children":646},{"className":645},[],[647],{"type":37,"value":648},"num_items",{"type":37,"value":650}," in maniera completa. Meta usa queste informazioni per iniettare i prodotti nel carrello dell'utente negli annunci dinamici.",{"type":32,"tag":33,"props":652,"children":653},{},[654,656,662,663,669,670,676,677,683],{"type":37,"value":655},"Esempio: l'utente aggiunge le scarpe blu al carrello; l'evento CAPI contiene ",{"type":32,"tag":52,"props":657,"children":659},{"className":658},[],[660],{"type":37,"value":661},"content_ids: [\"SKU-12345\"]",{"type":37,"value":189},{"type":32,"tag":52,"props":664,"children":666},{"className":665},[],[667],{"type":37,"value":668},"content_name: \"Scarpe Blu\"",{"type":37,"value":189},{"type":32,"tag":52,"props":671,"children":673},{"className":672},[],[674],{"type":37,"value":675},"value: 120",{"type":37,"value":189},{"type":32,"tag":52,"props":678,"children":680},{"className":679},[],[681],{"type":37,"value":682},"currency: \"EUR\"",{"type":37,"value":684},". Meta lo riceve e mostra all'utente esattamente quel prodotto + un CTA \"%10 sconto\" su Instagram. Questo livello di granularità è possibile anche nel pixel lato client ma è più affidabile nel contesto sGTM — niente blocchi di cookie, niente ad-blocker bypass.",{"type":32,"tag":40,"props":686,"children":688},{"id":687},"sgtm-capi-sono-ormai-linfrastruttura-di-base",[689],{"type":37,"value":690},"sGTM + CAPI Sono Ormai l'Infrastruttura di Base",{"type":32,"tag":33,"props":692,"children":693},{},[694],{"type":37,"value":695},"Il server-side conversion tracking nel 2024 era \"nice to have\"; nel 2026 è \"must have\". Nel rapporto Q4 2025 di Meta, gli account che non usano CAPI hanno un CPA mediamente del 28% più alto. Per le campagne Performance Max di Google Ads vale una tendenza simile: gli eventi GA4 lato",{"title":16,"searchDepth":697,"depth":697,"links":698},3,[699,701,704,705,708,709,710,711,712],{"id":42,"depth":700,"text":45},2,{"id":72,"depth":700,"text":75,"children":702},[703],{"id":102,"depth":697,"text":105},{"id":150,"depth":700,"text":153},{"id":300,"depth":700,"text":303,"children":706},[707],{"id":439,"depth":697,"text":442},{"id":483,"depth":700,"text":486},{"id":528,"depth":700,"text":531},{"id":580,"depth":700,"text":583},{"id":596,"depth":700,"text":599},{"id":687,"depth":700,"text":690},"markdown","content:it:marketing:server-side-conversioni-meta-capi-configurazione.md","content","it\u002Fmarketing\u002Fserver-side-conversioni-meta-capi-configurazione.md","it\u002Fmarketing\u002Fserver-side-conversioni-meta-capi-configurazione","md",1782050754575]