- Su Shopify, il tracciamento server-side invia ogni acquisto a partire dall’ordine pagato che Shopify segnala tramite webhook, quindi non dipende dal caricamento della pagina di ringraziamento.
- Il visitor id e i click id degli annunci vengono salvati come attributi del carrello, così Shopify li copia sull’ordine e l’ordine può essere associato al clic.
- Gli eventi del browser e del server condividono un unico event id costruito a partire dall’id dell’ordine, così Meta, TikTok, Snapchat, Pinterest e Reddit contano ogni acquisto una sola volta.
- Con Respect visitor consent attivo, un visitatore che rifiuta i cookie di marketing non riceve alcun visitor id e i suoi eventi del browser non vengono inviati alle piattaforme pubblicitarie, ma l’ordine pagato viene comunque inviato con i dati del cliente sottoposti ad hash presi dall’ordine.
- La configurazione in ROASaurus ha quattro passaggi principali: installare l’app, attivare l’app embed del tema, aggiungere il pixel di checkout e collegare le tue piattaforme pubblicitarie.
Tracciamento server-side su Shopify significa che ogni acquisto arriva a Meta, TikTok e alle altre piattaforme pubblicitarie dai dati dell’ordine del tuo negozio, inviato da un server, e non solo da un pixel nel browser dell’acquirente. Shopify segnala ogni ordine pagato all’app di tracciamento tramite webhook, e l’app lo invia alla conversions API di ciascuna piattaforma, associato al clic sull’annuncio che ha portato l’acquirente.
Questa guida tratta le parti Shopify di quel flusso: l’app embed del tema e l’app proxy, i pixel nel checkout, il webhook orders/paid, l’associazione degli ordini, la deduplicazione, il consenso e la configurazione in ROASaurus. Per l’idea generale, leggi prima cos’è il tracciamento server-side.
Come funziona il tracciamento server-side su Shopify
Il clic e l’acquisto avvengono in momenti diversi e in luoghi diversi. Il clic è visibile solo nel browser, sulla landing page. L’ordine pagato è certo solo dal lato di Shopify, quando il pagamento viene incassato. Il tracciamento server-side registra il primo, aspetta il secondo e li unisce.
Le parti di Shopify: app embed, app proxy, pixel e webhook
Un negozio Shopify offre a un’app di tracciamento quattro punti in cui lavorare. Ognuno ha un compito diverso, e una configurazione completa li usa tutti e quattro.
| Parte | Dove gira | Cosa fa |
|---|---|---|
| App embed del tema | Ogni pagina della vetrina | Carica lo script di tracciamento, legge i click id degli annunci e salva il visitor id sul carrello |
| App proxy | Un percorso sul dominio del tuo negozio | Riceve gli eventi della vetrina come richieste first-party |
| Customer events (pixel) | Checkout e pagina di ringraziamento | Segnala i passaggi del checkout e il checkout completato da una sandbox |
| Webhook degli ordini | Server di Shopify | Invia l’ordine all’app quando viene creato e quando viene pagato |
L’app embed del tema e l’app proxy
Un theme app embed è un blocco che un’app aggiunge al tuo tema. Lo attivi nell’editor del tema, quindi non c’è codice da incollare. L’embed di ROASaurus carica uno script su ogni pagina. Sulla landing page legge i click id come fbclid, ttclid e gclid e i parametri UTM, e li salva con un visitor id first-party.
Lo script invia i propri eventi tramite l’app proxy di Shopify. Un app proxy inoltra le richieste da un percorso sul tuo dominio, come yourstore.com/apps/roasaurus, al server dell’app. Per il browser è una richiesta al tuo stesso sito, il che può aiutare contro gli ad blocker che bloccano i domini di tracciamento noti. Shopify rimuove l’header Cookie dalle richieste dell’app proxy e l’header Set-Cookie dalle risposte, quindi il visitor id viaggia dentro l’evento stesso, non in un cookie.
Customer events e pixel nel checkout
Nel checkout di Shopify, gli script di tracciamento girano come pixel in una sandbox, non nella pagina stessa. Li gestisci in Settings › Customer events. Ce ne sono di due tipi. I pixel dell’app arrivano con un’app e girano in una sandbox rigida. I pixel personalizzati vengono aggiunti dal negoziante e girano in una sandbox meno rigida, che può caricare script di terze parti come il pixel Meta.
ROASaurus usa entrambi. Il suo pixel dell’app si attiva quando installi l’app. Segnala a ROASaurus l’inizio del checkout, il passaggio dei contatti e il checkout completato. Il pixel personalizzato facoltativo aggiunge al checkout i pixel del browser di Meta, TikTok, Snapchat, Pinterest e Reddit, e invia le conversioni di Google Ads.
Webhook degli ordini
Un webhook è un messaggio che Shopify invia a un’app quando succede qualcosa nel negozio. ROASaurus si iscrive a orders/paid e orders/create, tra gli altri. L’ordine nel webhook contiene l’id dell’ordine, il valore, le righe d’ordine, i dati del cliente, i token del carrello e del checkout, gli attributi del carrello, e l’indirizzo IP e il browser da cui è stato effettuato l’ordine. Arriva dai server di Shopify, quindi un ad blocker o una scheda chiusa non possono fermarlo.
Come gli ordini vengono associati ai clic sugli annunci
Il webhook dice a ROASaurus che un ordine è stato pagato. Per inviare una conversione utile, ROASaurus deve anche sapere quale visitatore ha effettuato l’ordine, perché la scheda del visitatore contiene i click id. Prova questi collegamenti in ordine, dal più diretto al meno diretto:
| Metodo | Come funziona | Quando viene usato |
|---|---|---|
| Attributo del carrello | Lo script scrive il visitor id e i valori fbc, fbp, ttp, gclid e ttclid come attributi del carrello. Shopify li copia sull’ordine. | Prima scelta |
| Token del carrello e del checkout | Lo script collega il token del carrello al visitatore, e il pixel di checkout collega il token del checkout. Il webhook porta entrambi i token. | Quando manca l’attributo del carrello |
| Evento di checkout | Il pixel di checkout segnala il checkout completato con l’id dell’ordine e il visitor id. | Quando nessun token corrisponde |
| Indirizzo email | L’email con hash di un visitatore che l’ha inserita in precedenza, per esempio al passaggio dei contatti del checkout. | Quando non c’è nessun evento di checkout |
| Indirizzo IP e browser | Un visitatore visto con lo stesso indirizzo IP e lo stesso browser poco prima dell’ordine. | Solo quando corrisponde esattamente un visitatore |
Gli attributi del carrello sono il motivo per cui su Shopify l’associazione è diretta. Sono coppie chiave-valore salvate sul carrello, e Shopify le copia sull’ordine. Un valore scritto sulla pagina del prodotto è ancora lì quando arriva il webhook, anche se l’acquirente ha chiuso in anticipo la pagina di ringraziamento.
Un’eccezione: i pulsanti di checkout accelerato come Buy it now saltano il carrello. ROASaurus consiglia di disattivarli, così che l’aggiunta al carrello venga sempre tracciata. Gli ordini effettuati con questi pulsanti possono comunque essere associati tramite il token del checkout.
Un ordine, dall’inizio alla fine
Ecco cosa succede per un singolo ordine da un annuncio Meta, con il pixel personalizzato installato:
page_view ?fbclid=IwAR2x…Un acquirente arriva da un annuncio Meta. Il click id viene salvato con il visitatore 3f2a.cart _tl=3f2a _tl_fbc=fb.1.…Il visitor id e il valore del clic Meta vengono salvati come attributi del carrello.checkout_started ic-c1a9…Il token del checkout viene collegato allo stesso visitatore.checkout_completed order-6123456789012Il pixel di checkout segnala l’ordine e il pixel Meta invia Purchase con questo event id.orders/paid #1042 id 6123456789012 $86.00Shopify invia l’ordine pagato tramite webhook.Meta CAPI Purchase order-6123456789012Dopo una breve attesa, l’evento server parte con i click id, l’indirizzo IP e lo user agent.Quando viene inviato l’acquisto: orders/paid o orders/create
Quale webhook attiva l’acquisto dipende da come pagano i tuoi clienti. Lo scegli come tipo di checkout in Store settings.
| Tipo di checkout | Webhook | Quando viene inviato l’acquisto |
|---|---|---|
| Shopify checkout | orders/paid | Quando l’ordine viene pagato. Gli ordini che non vengono mai pagati non vengono inviati. |
| External / COD checkout | orders/create | Quando l’ordine viene creato. Per il pagamento alla consegna e per i checkout come Checkify e CheckoutChamp che creano ordini Shopify. |
ROASaurus trattiene ogni acquisto per un breve periodo dopo l’arrivo del webhook. In quel lasso di tempo di solito arriva anche l’evento di checkout completato dal browser. Il suo URL della pagina, l’indirizzo IP e lo user agent vengono poi aggiunti all’evento server, insieme ai click id della scheda del visitatore. Gli ordini che Shopify contrassegna come ordini di prova vengono registrati ma non inviati alle piattaforme pubblicitarie.
Come funziona la deduplicazione con i pixel del browser
Quando i pixel del browser funzionano insieme agli eventi server, la piattaforma riceve ogni acquisto due volte e deve tenerne uno solo. Lo fa con l’event id. ROASaurus dà a entrambe le copie di un acquisto lo stesso id, costruito a partire dall’id dell’ordine Shopify: order-6123456789012 per l’ordine con id 6123456789012. È il lungo numero nell’URL admin dell’ordine, non il nome dell’ordine come #1042. Il pixel di checkout lo usa per il Purchase del browser, e il server lo usa per l’evento della conversions API. Meta, per esempio, tiene una copia quando il nome dell’evento e l’event id coincidono ed entrambe arrivano entro 48 ore.
| Piattaforma | Pixel del browser di ROASaurus | Deduplicato con l’evento server |
|---|---|---|
| Meta, TikTok, Snapchat, Pinterest, Reddit | Vetrina e checkout | Sì |
| X, Microsoft Advertising, Taboola | Nessuno, solo eventi server | Niente da unire |
| Google Ads | Solo checkout, tramite il pixel personalizzato | Inviato una volta, dal checkout |
L’event id funziona solo tra gli eventi che lo portano. Se un’altra app invia lo stesso pixel, i suoi eventi hanno id propri e la piattaforma conta di nuovo l’ordine. Su Shopify, le cause più comuni sono il canale Facebook & Instagram collegato allo stesso pixel, l’app TikTok e il codice del pixel incollato in theme.liquid. La nostra guida agli eventi di acquisto duplicati mostra come trovarli, e Come evitare il doppio conteggio elenca le soluzioni.
Il consenso tramite la Customer Privacy API di Shopify
La Customer Privacy API di Shopify memorizza la scelta sui cookie di ogni visitatore. La compila il tuo banner dei cookie, che tu usi il banner di Shopify o un’app per il consenso collegata all’API. Gli script e i pixel possono poi chiederle se il marketing è consentito per quel visitatore.
Con Respect visitor consent attivo, che è l’impostazione predefinita in Store settings, lo script della vetrina e i pixel di checkout di ROASaurus interrogano l’API prima di tracciare.
- Vengono salvati un visitor id, i click id e gli eventi di navigazione
- I pixel del browser si caricano e inviano eventi
- L’ordine pagato viene inviato server-side e associato al clic sull’annuncio
- Non viene impostato alcun visitor id, quindi le sue visite e i suoi clic sugli annunci non gli vengono collegati
- Gli eventi del browser vengono conservati senza visitor id, indirizzo IP o dettagli del browser e non vengono inviati alle piattaforme pubblicitarie
- L’ordine pagato viene comunque inviato server-side con i dati del cliente sottoposti ad hash presi dall’ordine e con l’indirizzo IP e lo user agent dell’ordine
- L’evento che arriva alla piattaforma pubblicitaria non porta alcun click id
Email, numeri di telefono, nomi e indirizzi vengono sottoposti ad hash con SHA-256 prima di essere inviati a una piattaforma pubblicitaria. Contano altri tre dettagli:
- Decide il tuo banner. ROASaurus segue ciò che riporta l’API. Se l’API non è disponibile nella pagina, ROASaurus considera il visitatore consenziente, quindi controlla che il tuo banner sia collegato all’API.
- La landing page resta sull’ordine. Shopify salva l’indirizzo della landing page con ogni ordine, e può contenere tag di campagna e click id. ROASaurus lo usa nei propri report di attribuzione, anche per i visitatori che hanno rifiutato, e non lo invia alle piattaforme pubblicitarie.
- Inviare l’ordine è una decisione legale. Se l’ordine pagato di un visitatore che ha rifiutato possa essere inviato oppure no è una questione legale per il tuo negozio.
La nostra guida a Consent Mode v2 e GDPR spiega le regole a grandi linee, e Consenso e privacy ha i dettagli.
Come configurare il tracciamento server-side su Shopify in ROASaurus
Esegui i passaggi di configurazione in quest’ordine:
- Installa l’app
Vai su Add a store, scegli Shopify, inserisci il tuo dominio
.myshopify.come clicca su Install app. Approva l’app in Shopify. ROASaurus registra i webhook degli ordini e attiva il proprio pixel dell’app. - Attiva l’app embed del tema
Nella pagina Tracking & platforms clicca su Open theme editor, attiva l’app embed di ROASaurus e salva.
- Aggiungi il pixel del checkout
In Shopify admin vai su Settings › Customer events e aggiungi un pixel personalizzato chiamato ROASaurus. Imposta il suo permesso su Not required, perché lo script di ROASaurus controlla da solo la scelta di marketing del visitatore. Incolla lo snippet da Tracking & platforms. Questo pixel ti serve per i pixel del browser nel checkout e per Google Ads.
- Collega le tue piattaforme pubblicitarie
In Tracking & platforms clicca su Add pixel per ogni piattaforma, oppure su Connect with Facebook per Meta. Lascia attiva l’opzione per caricare anche il pixel del browser se vuoi eventi del browser deduplicati.
- Controlla le impostazioni del negozio
In Store settings scegli il tuo tipo di checkout e lascia attivo Respect visitor consent se vendi dove il consenso è richiesto.
- Rimuovi gli altri mittenti
Nel canale Facebook & Instagram, rimuovi questo pixel dalle impostazioni di condivisione dei dati. Abbassare il livello di condivisione dei dati non basta, perché ogni livello, compreso Standard, invia il pixel Meta dal browser. Se l’app TikTok invia lo stesso pixel, fermalo anche lì e rimuovi il codice del pixel dal tuo tema.
Lo snippet del pixel personalizzato ha questo aspetto. Copialo da Tracking & platforms, dove la chiave del tuo negozio è già inserita. La guida alla configurazione di Shopify ha gli stessi passaggi.
self.tl = this; document.head.appendChild(document.createElement('script')).src = 'https://app.roasaurus.com/c.js?k=YOUR_STORE_KEY';Come verificare che funzioni
Testa con un ordine reale prima di fare affidamento sui numeri:
- Apri il tuo negozio con
?roasaurus=connectedalla fine dell’URL. Un messaggio conferma che lo script è attivo. - Per Meta, incolla il codice di Events Manager › Test events nel campo Test event code del pixel.
- Effettua un ordine reale a basso prezzo e rimborsalo in seguito. Gli ordini di prova di Shopify non vengono inviati.
- Nell’Event log, l’invio del server per l’ordine risulta inviato per ogni piattaforma, con la risposta della piattaforma.
- Nella vista di test della piattaforma, controlla che il Purchase del browser e quello del server condividano l’event id
order-più l’id dell’ordine Shopify. - Rimuovi poi il codice dell’evento di test.
Cosa non risolve il tracciamento server-side su Shopify
- Consenso rifiutato. Gli ordini dei visitatori che hanno rifiutato i cookie di marketing vengono inviati, ma senza click id, quindi le piattaforme pubblicitarie li associano peggio.
- I limiti dei cookie di Safari. Un acquirente che torna dopo più di 7 giorni può sembrare un nuovo visitatore. Un sottodominio di tracciamento first-party mantiene la raccolta sul tuo dominio, ma Safari può comunque limitare quei cookie a 7 giorni.
- Differenze di attribuzione. Ogni piattaforma pubblicitaria continua ad attribuire le vendite con le proprie finestre e i propri modelli. Per confrontare i canali con un unico insieme di regole, usa la tua attribuzione.
- Altre app sullo stesso pixel. Gli event id uniscono solo gli eventi che li condividono.
Ciò che risolve davvero sono gli acquisti avvenuti ma mai arrivati alla piattaforma pubblicitaria perché l’evento del browser è andato perso. Per sapere cosa ROASaurus invia a ogni piattaforma, vedi il tracciamento server-side e l’integrazione Shopify.
Fonti
- Shopify: Customer Privacy API
- Shopify: Authenticate app proxies
- Shopify Help Center: Manage your custom pixels
- Shopify Help Center: Facebook data sharing
- Meta: Handling Duplicate Pixel and Conversions API Events
In ROASaurus
- Assistenza: configura ROASaurus su Shopify
- Integrazione Shopify
- Tracciamento server-side in ROASaurus
- Assistenza: consenso e privacy