Tracciamento

Tracciamento server-side su Shopify: come funziona e come configurarlo

Come funziona il tracciamento server-side su Shopify: customer events, app proxy, webhook orders/paid, associazione degli ordini, deduplicazione, consenso e configurazione.

·Aggiornato il ·12 min di lettura·A cura del team di ROASaurus

Punti chiave
  • 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.

Clic sull’annuncioL’URL della landing page contiene fbclid, ttclid o gclid.
App embed del temaSalva il click id con un visitor id e li registra entrambi sul carrello.
Ordine ShopifyShopify copia gli attributi del carrello sull’ordine.
Webhook orders/paidShopify invia l’ordine pagato a ROASaurus.
Conversions APIL’acquisto parte con i click id e i dati del cliente sottoposti ad hash.
Il browser cattura il clic. L’ordine consegna l’acquisto. Gli attributi del carrello collegano i due.

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.

ParteDove giraCosa fa
App embed del temaOgni pagina della vetrinaCarica lo script di tracciamento, legge i click id degli annunci e salva il visitor id sul carrello
App proxyUn percorso sul dominio del tuo negozioRiceve gli eventi della vetrina come richieste first-party
Customer events (pixel)Checkout e pagina di ringraziamentoSegnala i passaggi del checkout e il checkout completato da una sandbox
Webhook degli ordiniServer di ShopifyInvia l’ordine all’app quando viene creato e quando viene pagato
Le prime tre parti gestiscono ciò che avviene nel browser e catturano il clic. Il webhook arriva dai server di Shopify e consegna l’ordine.

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:

MetodoCome funzionaQuando viene usato
Attributo del carrelloLo 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 checkoutLo 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 checkoutIl pixel di checkout segnala il checkout completato con l’id dell’ordine e il visitor id.Quando nessun token corrisponde
Indirizzo emailL’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 browserUn 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 e i token danno un collegamento diretto dall’ordine al visitatore. Il ripiego sull’IP non viene mai usato quando potrebbero corrispondere due visitatori.

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.
Entrambi gli eventi Purchase portano l’event id order-6123456789012, quindi Meta ne tiene uno. La copia del server arriva anche quando quella del browser è stata bloccata.

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 checkoutWebhookQuando viene inviato l’acquisto
Shopify checkoutorders/paidQuando l’ordine viene pagato. Gli ordini che non vengono mai pagati non vengono inviati.
External / COD checkoutorders/createQuando 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.

PiattaformaPixel del browser di ROASaurusDeduplicato con l’evento server
Meta, TikTok, Snapchat, Pinterest, RedditVetrina e checkoutSì
X, Microsoft Advertising, TaboolaNessuno, solo eventi serverNiente da unire
Google AdsSolo checkout, tramite il pixel personalizzatoInviato una volta, dal checkout
Far funzionare insieme il pixel del browser e l’evento server è sicuro per Meta, TikTok, Snapchat, Pinterest e Reddit: ognuna tiene una sola copia di ogni evento che condividono.

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.

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.

Il visitatore consente i cookie di marketing
  • 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
Il visitatore rifiuta i cookie di marketing
  • 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
Il tracciamento server-side non elimina la necessità del consenso. Senza consenso, l’ordine pagato arriva comunque alle piattaforme pubblicitarie, ma senza 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:

  1. Installa l’app

    Vai su Add a store, scegli Shopify, inserisci il tuo dominio .myshopify.com e clicca su Install app. Approva l’app in Shopify. ROASaurus registra i webhook degli ordini e attiva il proprio pixel dell’app.

  2. Attiva l’app embed del tema

    Nella pagina Tracking & platforms clicca su Open theme editor, attiva l’app embed di ROASaurus e salva.

  3. 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.

  4. 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.

  5. 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.

  6. 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.

Pixel personalizzato del checkout
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:

  1. Apri il tuo negozio con ?roasaurus=connected alla fine dell’URL. Un messaggio conferma che lo script è attivo.
  2. Per Meta, incolla il codice di Events Manager › Test events nel campo Test event code del pixel.
  3. Effettua un ordine reale a basso prezzo e rimborsalo in seguito. Gli ordini di prova di Shopify non vengono inviati.
  4. Nell’Event log, l’invio del server per l’ordine risulta inviato per ogni piattaforma, con la risposta della piattaforma.
  5. 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.
  6. 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

  1. Shopify: Customer Privacy API
  2. Shopify: Authenticate app proxies
  3. Shopify Help Center: Manage your custom pixels
  4. Shopify Help Center: Facebook data sharing
  5. Meta: Handling Duplicate Pixel and Conversions API Events

In ROASaurus

Continua a leggere

TracciamentoAd blocker e tracciamento: cosa perde il tuo negozioGli ad blocker bloccano i pixel di tracciamento, quindi le piattaforme pubblicitarie perdono degli acquisti. Scopri quali eventi si perdono, perché quelli server-side no e come misurare il tuo divario.TracciamentoConsent Mode v2 e GDPR: cosa può inviare un negozio onlineConsent Mode v2 per i negozi online: i quattro segnali di consenso di Google, cosa chiede la legge dell’UE e cosa può ancora inviare il tracciamento server-side. Solo informazioni generali.TracciamentoEventi di acquisto duplicati: perché le vendite vengono contate due volteGli eventi di acquisto duplicati gonfiano conversioni e ROAS. Scopri le cause, come Meta, TikTok, Snapchat, Pinterest e Reddit eliminano i duplicati e come risolvere.
FAQ

Domande, risposte

Mi serve ancora il pixel del browser con il tracciamento server-side su Shopify?

Conviene usarli entrambi. Il pixel del browser aggiunge cookie come fbp e il contesto della pagina, mentre l’evento server arriva anche quando il browser fallisce. Con lo stesso event id su entrambi, la piattaforma conta ogni acquisto una sola volta.

Il tracciamento server-side dipende dalla pagina di ringraziamento di Shopify?

No. L’acquisto viene costruito a partire dall’ordine che Shopify invia tramite webhook quando viene pagato. L’evento della pagina di ringraziamento aggiunge solo dettagli come l’indirizzo IP e lo user agent, quando arriva in tempo.

Mi serve un CNAME o una modifica DNS su Shopify?

No. Gli eventi della vetrina passano dall’app proxy di Shopify sul dominio del tuo negozio. Un sottodominio di tracciamento first-party è facoltativo.

Il tracciamento server-side su Shopify è conforme al GDPR?

Il tracciamento server-side è un modo per consegnare i dati, non una base giuridica. Con Respect visitor consent attivo, ROASaurus segue la Customer Privacy API di Shopify, ma l’ordine pagato viene comunque inviato con dati sottoposti ad hash. Chiedi al tuo consulente legale di cosa ha bisogno il tuo negozio.

Come vengono tracciati su Shopify gli ordini con pagamento alla consegna?

Scegli External / COD checkout come tipo di checkout in Store settings. ROASaurus allora invia l’acquisto quando l’ordine viene creato invece che quando viene pagato.

Quali piattaforme pubblicitarie ricevono gli eventi server da un negozio Shopify?

Meta, TikTok, Snapchat, Pinterest, Reddit, X, Microsoft Advertising, Taboola, LinkedIn, OpenAI Ads, Spotify, AppLovin, Criteo, AdRoll e Outbrain. Le conversioni di Google Ads vengono inviate dal checkout di Shopify tramite il pixel personalizzato.

Ogni vendita, ricondotta all’annuncio che l’ha generata

Tracciamento server-side, profitto e lifetime value in un’unica app. Prova gratuita di 14 giorni, senza carta di credito.

Inizia la prova gratuita →