Tracking

Server-side tracking på Shopify: slik fungerer det, og oppsettet

Slik fungerer server-side tracking på Shopify: customer events, app-proxyen, orders/paid-webhooken, matching av bestillinger, deduplisering, samtykke og oppsett.

·Oppdatert ·12 min lesetid·Av ROASaurus-teamet

Hovedpunkter
  • På Shopify sender server-side tracking hvert kjøp fra den betalte bestillingen som Shopify melder fra om via webhook, så det er ikke avhengig av at takkesiden lastes.
  • Besøks-ID-en og click id-ene fra annonsen lagres som handlekurvattributter, så Shopify kopierer dem over på bestillingen og bestillingen kan kobles til klikket.
  • Nettleser- og server-events deler én event-ID som bygges fra bestillings-ID-en, så Meta, TikTok, Snapchat, Pinterest og Reddit teller hvert kjøp én gang.
  • Med Respect visitor consent slått på får en besøkende som avslår markedsføringscookies ingen besøks-ID, og nettleser-eventene deres sendes ikke til annonseplattformer, men den betalte bestillingen sendes likevel med hashede kundedata fra bestillingen.
  • Oppsettet i ROASaurus har fire hovedtrinn: installer appen, slå på theme app embed, legg til checkout-pixelen og koble til annonseplattformene dine.

Server-side tracking på Shopify betyr at hvert kjøp når Meta, TikTok og andre annonseplattformer fra butikkens bestillingsdata, sendt av en server, og ikke bare fra en pixel i kundens nettleser. Shopify melder hver betalte bestilling til trackingappen via webhook, og appen sender den til conversions API-et til hver plattform, koblet til annonseklikket som brakte kunden inn.

Denne guiden tar for seg Shopify-delene av dette forløpet: theme app embed og app proxy, pixler i checkout, webhooken orders/paid, matching av bestillinger, deduplisering, samtykke og oppsettet i ROASaurus. For grunnideen kan du lese hva server-side tracking er først.

Slik fungerer server-side tracking på Shopify

Klikket og kjøpet skjer på ulike tidspunkter og på ulike steder. Klikket er bare synlig i nettleseren, på landingssiden. Den betalte bestillingen er bare sikker på Shopifys side, når betalingen er gjennomført. Server-side tracking registrerer det første, venter på det andre og kobler dem sammen.

AnnonseklikkLandingssidens URL har fbclid, ttclid eller gclid.
Theme app embedLagrer click id-en med en besøks-ID og lagrer begge på handlekurven.
Shopify-bestillingShopify kopierer handlekurvattributtene over på bestillingen.
Webhooken orders/paidShopify sender den betalte bestillingen til ROASaurus.
Conversions API-erKjøpet sendes med click id-er og hashede kundedata.
Nettleseren fanger opp klikket. Bestillingen leverer kjøpet. Handlekurvattributtene kobler de to sammen.

Shopify-delene: app embed, app proxy, pixler og webhooks

En Shopify-butikk gir en trackingapp fire steder å jobbe. Hvert har sin egen jobb, og et komplett oppsett bruker alle fire.

DelHvor den kjørerHva den gjør
Theme app embedHver side i nettbutikkenLaster trackingskriptet, leser click id-er fra annonser og lagrer besøks-ID-en på handlekurven
App proxyEn sti på ditt eget butikkdomeneMottar butikk-events som førsteparts-forespørsler
Customer events (pixler)Checkout og takkesidenRapporterer checkout-trinnene og fullført checkout fra en sandbox
Bestillings-webhooksShopifys servereSender bestillingen til appen når den opprettes og når den betales
De tre første delene håndterer det som skjer i nettleseren og fanger opp klikket. Webhooken kommer fra Shopifys servere og leverer bestillingen.

Theme app embed og app proxy

En theme app embed er en blokk som en app legger til i temaet ditt. Du slår den på i temaredigereren, så det er ingen kode å lime inn. ROASaurus-embeden laster et skript på hver side. På landingssiden leser den click id-er som fbclid, ttclid og gclid og UTM-parametrene, og lagrer dem sammen med en førsteparts besøks-ID.

Skriptet sender eventene sine gjennom Shopifys app proxy. En app proxy videresender forespørsler fra en sti på ditt eget domene, for eksempel yourstore.com/apps/roasaurus, til appens server. For nettleseren er dette en forespørsel til ditt eget nettsted, noe som kan hjelpe mot annonseblokkerere som blokkerer kjente trackingdomener. Shopify fjerner Cookie-headeren fra app proxy-forespørsler og Set-Cookie-headeren fra svarene, så besøks-ID-en følger med inne i selve eventen, ikke i en cookie.

Customer events og pixler i checkout

I Shopifys checkout kjører trackingskript som pixler i en sandbox, ikke i selve siden. Du administrerer dem under Settings › Customer events. Det finnes to typer. App-pixler følger med en app og kjører i en streng sandbox. Egendefinerte pixler legges til av butikkeieren og kjører i en mindre streng sandbox, som kan laste tredjepartsskript som Meta-pixelen.

ROASaurus bruker begge. App-pixelen slås på når du installerer appen. Den rapporterer starten på checkout, kontakttrinnet og fullført checkout til ROASaurus. Den valgfrie egendefinerte pixelen legger nettleserpixlene til Meta, TikTok, Snapchat, Pinterest og Reddit til checkout, og den sender Google Ads-konverteringer.

Bestillings-webhooks

En webhook er en melding Shopify sender til en app når noe skjer i butikken. ROASaurus abonnerer blant annet på orders/paid og orders/create. Bestillingen i webhooken inneholder bestillings-ID, verdi, varelinjer, kundeopplysninger, handlekurv- og checkout-tokens, handlekurvattributtene, og IP-adressen og nettleseren bestillingen ble lagt inn fra. Den kommer fra Shopifys servere, så en annonseblokkerer eller en lukket fane kan ikke stoppe den.

Hvordan bestillinger kobles til annonseklikk

Webhooken forteller ROASaurus at en bestilling er betalt. For å sende en nyttig konvertering må ROASaurus også vite hvilken besøkende som la inn bestillingen, fordi besøksposten inneholder click id-ene. Den prøver disse koblingene i rekkefølge, fra den mest direkte til den minst direkte:

MetodeSlik fungerer detNår den brukes
HandlekurvattributtSkriptet skriver besøks-ID-en og verdiene fbc, fbp, ttp, gclid og ttclid som handlekurvattributter. Shopify kopierer dem over på bestillingen.Første valg
Handlekurv- og checkout-tokensSkriptet kobler handlekurv-tokenet til den besøkende, og checkout-pixelen kobler checkout-tokenet. Webhooken har med begge tokenene.Når handlekurvattributtet mangler
Checkout-eventCheckout-pixelen rapporterer fullført checkout med bestillings-ID-en og besøks-ID-en.Når ingen token matcher
E-postadresseDen hashede e-posten til en besøkende som har skrevet den inn tidligere, for eksempel i kontakttrinnet i checkout.Når det ikke finnes noen checkout-event
IP-adresse og nettleserEn besøkende som ble sett med samme IP-adresse og nettleser kort før bestillingen.Bare når nøyaktig én besøkende passer
Handlekurvattributter og tokens gir en direkte kobling fra bestilling til besøkende. IP-reserveløsningen brukes aldri når to besøkende kan passe.

Handlekurvattributter er grunnen til at matchingen er direkte på Shopify. De er nøkkel-verdi-par som lagres på handlekurven, og Shopify kopierer dem over på bestillingen. En verdi som er skrevet på produktsiden, er der fortsatt når webhooken kommer, selv om kunden lukket takkesiden tidlig.

Ett unntak: raske checkout-knapper som Buy it now hopper over handlekurven. ROASaurus anbefaler å slå dem av, slik at Add to cart alltid blir sporet. Bestillinger lagt inn via dem kan likevel matche gjennom checkout-tokenet.

Én bestilling, fra start til slutt

Dette skjer for én enkelt bestilling fra en Meta-annonse, med den egendefinerte pixelen installert:

page_view ?fbclid=IwAR2x…En kunde lander fra en Meta-annonse. Click id-en lagres sammen med besøkende 3f2a.
cart _tl=3f2a _tl_fbc=fb.1.…Besøks-ID-en og Meta-klikkverdien lagres som handlekurvattributter.
checkout_started ic-c1a9…Checkout-tokenet kobles til den samme besøkende.
checkout_completed order-6123456789012Checkout-pixelen rapporterer bestillingen, og Meta-pixelen sender Purchase med denne event-ID-en.
orders/paid #1042 id 6123456789012 $86.00Shopify sender den betalte bestillingen via webhook.
Meta CAPI Purchase order-6123456789012Etter en kort pause sendes server-eventen med click id-ene, IP-adressen og user agent.
Begge Purchase-eventene har event-ID-en order-6123456789012, så Meta beholder én. Serverkopien kommer også fram når nettleserkopien ble blokkert.

Når kjøpet sendes: orders/paid eller orders/create

Hvilken webhook som utløser kjøpet, avhenger av hvordan kundene dine betaler. Du velger det som checkout-type i Store settings.

Checkout-typeWebhookNår kjøpet sendes
Shopify checkoutorders/paidNår bestillingen er betalt. Bestillinger som aldri betales, sendes ikke.
External / COD checkoutorders/createNår bestillingen opprettes. For betaling ved levering, og for checkouter som Checkify og CheckoutChamp som oppretter Shopify-bestillinger.

ROASaurus holder hvert kjøp tilbake en kort stund etter at webhooken kommer. I løpet av den tiden kommer vanligvis eventen for fullført checkout fra nettleseren også. Side-URL-en, IP-adressen og user agent fra den legges da til server-eventen, ved siden av click id-ene fra besøksposten. Bestillinger som Shopify markerer som testbestillinger, registreres, men sendes ikke til annonseplattformene.

Hvordan deduplisering fungerer med nettleserpixlene

Når nettleserpixlene kjører ved siden av server-eventene, mottar plattformen hvert kjøp to ganger og må beholde bare ett. Den gjør det med event-ID-en. ROASaurus gir begge kopiene av et kjøp den samme ID-en, bygget fra Shopify-bestillings-ID-en: order-6123456789012 for bestillingen med ID 6123456789012. Dette er det lange tallet i bestillingens admin-URL, ikke bestillingsnavnet som #1042. Checkout-pixelen bruker den for nettleserens Purchase, og serveren bruker den for conversions API-eventen. Meta beholder for eksempel én kopi når eventnavnet og event-ID-en stemmer og begge kommer fram innen 48 timer.

PlattformNettleserpixel fra ROASaurusDedupliseres mot server-eventen
Meta, TikTok, Snapchat, Pinterest, RedditNettbutikken og checkoutJa
X, Microsoft Advertising, TaboolaIngen, bare server-eventsIngenting å slå sammen
Google AdsBare checkout, gjennom den egendefinerte pixelenSendes én gang, fra checkout
Å kjøre nettleserpixelen og server-eventen sammen er trygt for Meta, TikTok, Snapchat, Pinterest og Reddit: Hver beholder én kopi av hver event de deler.

Event-ID-en fungerer bare mellom events som har den med. Hvis en annen app sender den samme pixelen, har eventene sine egne ID-er, og plattformen teller bestillingen på nytt. På Shopify er de vanlige årsakene Facebook & Instagram-kanalen koblet til den samme pixelen, TikTok-appen og pixelkode limt inn i theme.liquid. Guiden vår om duplikate kjøpsevents viser hvordan du finner dem, og Unngå dobbelttelling lister opp løsningene.

Shopifys Customer Privacy API lagrer hver besøkendes cookievalg. Cookie-banneret ditt fyller det ut, enten du bruker Shopifys eget banner eller en samtykkeapp som er koblet til API-et. Skript og pixler kan da spørre det om markedsføring er tillatt for denne besøkende.

Med Respect visitor consent slått på, som er standard i Store settings, spør ROASaurus-skriptet i nettbutikken og checkout-pixlene API-et før de sporer.

Besøkende tillater markedsføringscookies
  • En besøks-ID, click id-er og nettleserevents lagres
  • Nettleserpixlene lastes og sender events
  • Den betalte bestillingen sendes server-side og kobles til annonseklikket
Den besøkende avslår markedsføringscookies
  • Ingen besøks-ID settes, så besøkene og annonseklikkene deres blir ikke koblet til dem
  • Nettleser-events lagres uten besøks-ID, IP-adresse eller nettleserdetaljer, og sendes ikke til annonseplattformer
  • Den betalte bestillingen sendes likevel server-side med hashede kundedata fra bestillingen, og bestillingens IP-adresse og user agent
  • Eventen som når annonseplattformen, har ingen click id
Server-side tracking fjerner ikke behovet for samtykke. Uten samtykke når den betalte bestillingen fortsatt annonseplattformene, men uten en click id.

E-poster, telefonnumre, navn og adresser hashes med SHA-256 før de sendes til en annonseplattform. Tre detaljer til er viktige:

  • Banneret ditt bestemmer. ROASaurus følger det API-et rapporterer. Hvis API-et ikke er tilgjengelig på siden, behandler ROASaurus den besøkende som samtykkende, så sjekk at banneret ditt er koblet til det.
  • Landingssiden blir værende på bestillingen. Shopify lagrer landingssideadressen sammen med hver bestilling, og den kan inneholde kampanjetagger og click id-er. ROASaurus bruker den i sine egne attribusjonsrapporter, også for besøkende som avslo, og sender den ikke til annonseplattformene.
  • Å sende bestillingen er en juridisk beslutning. Om den betalte bestillingen til en besøkende som avslo, i det hele tatt kan sendes, er et juridisk spørsmål for butikken din.

Guiden vår om Consent Mode v2 og GDPR forklarer reglene på et overordnet nivå, og Samtykke og personvern har detaljene.

Slik setter du opp server-side tracking på Shopify i ROASaurus

Gjør oppsettstrinnene i denne rekkefølgen:

  1. Installer appen

    Gå til Add a store, velg Shopify, skriv inn .myshopify.com-domenet ditt og klikk Install app. Godkjenn appen i Shopify. ROASaurus registrerer bestillings-webhookene og slår på app-pixelen sin.

  2. Slå på theme app embed

    På siden Tracking & platforms klikker du på Open theme editor, slår på ROASaurus app embed og lagrer.

  3. Legg til checkout-pixelen

    Gå til Settings › Customer events i Shopify admin og legg til en egendefinert pixel med navnet ROASaurus. Sett tillatelsen til Not required, fordi ROASaurus-skriptet sjekker den besøkendes markedsføringsvalg selv. Lim inn kodebiten fra Tracking & platforms. Du trenger denne pixelen for nettleserpixler i checkout og for Google Ads.

  4. Koble til annonseplattformene dine

    På Tracking & platforms klikker du på Add pixel for hver plattform, eller Connect with Facebook for Meta. La alternativet for å også laste nettleserpixelen stå på hvis du vil ha dedupliserte nettleser-events.

  5. Sjekk butikkinnstillingene

    Velg checkout-typen din i Store settings, og behold Respect visitor consent slått på hvis du selger der samtykke er påkrevd.

  6. Fjern andre avsendere

    Fjern denne pixelen fra innstillingene for datadeling i Facebook & Instagram-kanalen. Det er ikke nok å senke nivået for datadeling, fordi alle nivåer, også Standard, sender Meta-pixelen fra nettleseren. Hvis TikTok-appen sender den samme pixelen, må du stoppe den der også, og fjerne pixelkode fra temaet ditt.

Kodebiten for den egendefinerte pixelen ser slik ut. Kopier den fra Tracking & platforms, der butikknøkkelen din allerede er fylt ut. Oppsettguiden for Shopify har de samme trinnene.

Egendefinert pixel i checkout
self.tl = this; document.head.appendChild(document.createElement('script')).src = 'https://app.roasaurus.com/c.js?k=YOUR_STORE_KEY';

Slik sjekker du at det fungerer

Test med én ekte bestilling før du stoler på tallene:

  1. Åpne butikken din med ?roasaurus=connected på slutten av URL-en. En melding bekrefter at skriptet er aktivt.
  2. For Meta limer du inn koden fra Events Manager › Test events i feltet Test event code på pixelen.
  3. Legg inn en ekte bestilling med lav pris og refunder den etterpå. Shopify-testbestillinger sendes ikke.
  4. I Event log vises serverleveringen for bestillingen som sendt for hver plattform, med plattformens svar.
  5. I plattformens testvisning sjekker du at nettleserens og serverens Purchase deler event-ID-en order- pluss Shopify-bestillings-ID-en.
  6. Fjern testkoden for eventen etterpå.

Hva server-side tracking på Shopify ikke løser

  • Avslått samtykke. Bestillinger fra besøkende som har avslått markedsføringscookies, sendes, men uten click id, så annonseplattformene matcher dem dårligere.
  • Safaris cookiebegrensninger. En kunde som kommer tilbake etter mer enn 7 dager, kan se ut som en ny besøkende. Et førsteparts tracking-underdomene holder innsamlingen på ditt eget domene, men Safari kan likevel begrense disse cookiene til 7 dager.
  • Forskjeller i attribusjon. Hver annonseplattform krediterer fortsatt salg med sine egne vinduer og modeller. For å sammenligne kanaler med ett sett regler bruker du din egen attribusjon.
  • Andre apper på den samme pixelen. Event-ID-er slår bare sammen events som deler dem.

Det den derimot løser, er kjøp som skjedde, men aldri nådde annonseplattformen fordi nettleser-eventen gikk tapt. For hva ROASaurus sender til hver plattform, se server-side tracking og Shopify-integrasjonen.

Kilder

  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

I ROASaurus

Les videre

TrackingAnnonseblokkere og tracking: hva butikken din taperAnnonseblokkere stopper tracking-pixler, så annonseplattformene går glipp av kjøp. Se hvilke events som går tapt, hvorfor server-side-events ikke gjør det, og hvordan du måler gapet ditt.TrackingConsent Mode v2 og GDPR: hva en nettbutikk kan sendeConsent Mode v2 for nettbutikker: de fire samtykkesignalene fra Google, hva EU-retten krever, og hva server-side tracking fortsatt kan sende. Kun generell informasjon.TrackingDupliserte kjøpsevents: hvorfor salg telles to gangerDupliserte kjøpsevents blåser opp konverteringer og ROAS. Se årsakene, hvordan Meta, TikTok, Snapchat, Pinterest og Reddit deduplikerer, og hvordan du løser det.
Vanlige spørsmål

Spørsmål, besvart

Trenger jeg fortsatt nettleserpixelen med server-side tracking på Shopify?

Det er best å kjøre begge. Nettleserpixelen gir cookies som fbp og sidekontekst, og server-eventen kommer fram selv når nettleseren svikter. Med en felles event-ID teller plattformen hvert kjøp én gang.

Er server-side tracking avhengig av takkesiden i Shopify?

Nei. Kjøpet bygges fra bestillingen som Shopify sender via webhook når den er betalt. Eventen fra takkesiden legger bare til detaljer som IP-adressen og user agent når den kommer fram i tide.

Trenger jeg en CNAME eller en DNS-endring på Shopify?

Nei. Butikk-events går gjennom Shopifys app proxy på ditt eget butikkdomene. Et førsteparts tracking-underdomene er valgfritt.

Er server-side tracking på Shopify i samsvar med GDPR?

Server-side tracking er en måte å levere data på, ikke et rettslig grunnlag. Med Respect visitor consent slått på følger ROASaurus Shopifys Customer Privacy API, men den betalte bestillingen sendes likevel med hashede data. Spør din juridiske rådgiver hva butikken din trenger.

Hvordan spores bestillinger med betaling ved levering på Shopify?

Velg External / COD checkout som checkout-type i Store settings. ROASaurus sender da kjøpet når bestillingen opprettes i stedet for når den betales.

Hvilke annonseplattformer mottar server-events fra en Shopify-butikk?

Meta, TikTok, Snapchat, Pinterest, Reddit, X, Microsoft Advertising, Taboola, LinkedIn, OpenAI Ads, Spotify, AppLovin, Criteo, AdRoll og Outbrain. Google Ads-konverteringer sendes fra Shopify-checkouten gjennom den egendefinerte pixelen.

Hvert salg, sporet til annonsen som tjente det inn

Server-side tracking, fortjeneste og livstidsverdi i én app. 14 dagers gratis prøveperiode, uten kredittkort.

Start den gratis prøveperioden din →