Annonseplattformer og nettbutikker

Server-side tracking for WooCommerce: en oppsettguide

Sett opp server-side tracking for WooCommerce: send betalte bestillinger til Meta og TikTok med ROASaurus-pluginen eller webhooks, koble dem til annonseklikk og test.

·Oppdatert ·11 min lesetid·Av ROASaurus-teamet

Hovedpunkter
  • Server-side tracking for WooCommerce sender hver betalte bestilling fra butikkens egne bestillingsdata til Meta, TikTok og andre annonseplattformer, så et kjøp telles selv når nettleserpixelen aldri utløses.
  • ROASaurus regner en WooCommerce-bestilling som betalt når statusen er processing eller completed, noe som inkluderer bestillinger med betaling ved levering og bankoverføringer så snart du bekrefter dem.
  • ROASaurus-pluginen lagrer besøks-ID-en og annonseklikk-cookiene på hver bestilling i checkout, så bestillingen kobles nøyaktig til annonseklikket sitt.
  • Uten pluginen leverer webhooks fortsatt hver betalte bestilling, men det finnes ingen matching via takkesiden: bestillinger kobles bare via en e-postadresse oppgitt tidligere på nettstedet eller via en unik IP-adresse og nettleser.
  • På WooCommerce følger ROASaurus-skriptet samtykke-plugins som bruker WP Consent API, for eksempel Complianz og CookieYes, samt bannerne Cookiebot, OneTrust og IAB TCF.

Server-side tracking for WooCommerce sender hver betalte bestilling fra bestillingsdataene i nettbutikken din til Meta, TikTok og andre annonseplattformer, i stedet for å stole bare på en pixel i kundens nettleser. Kjøpet rapporteres selv når en annonseblokkerer stopper pixelen eller kunden aldri kommer til takkesiden.

Denne guiden tar for seg hvorfor WooCommerce-butikker mister konverteringer, bestillingsdataene WooCommerce gir deg, og de to måtene å koble til ROASaurus på: WordPress-pluginen eller webhooks. Deretter matching, samtykke, oppsett og testing. For grunnideen kan du lese hva server-side tracking er.

Hvorfor mister WooCommerce-butikker konverteringer?

En nettleserpixel rapporterer et kjøp bare når pixelskriptet lastes, kunden kommer til takkesiden og nettleseren sender eventen. Hvert av trinnene kan svikte. Selve bestillingen ligger likevel i databasen din, fordi WooCommerce lagrer den på serveren.

Hva skjerNettleser-pixelBestillingsdata i WooCommerce
Kunden betaler via omdirigering (for eksempel PayPal eller en bankapp) og lukker fanenIngen takkeside, ingen kjøpseventBetalt bestilling, status processing
En annonseblokkerer eller en personverninnstilling blokkerer pixelskriptetIngen kjøpseventBetalt bestilling
Den besøkende avslår markedsføringscookiesPixelen må ikke lastesBetalt bestilling
En bankoverføring bekreftes tre dager senereIngen nettleser er åpen i det øyeblikketStatusen endres fra on hold til processing
En caching- eller skriptoptimaliseringsplugin forsinker pixelenEventen kan komme for sent eller mangleBetalt bestilling
I alle tilfeller finnes den betalte bestillingen i WooCommerce. Server-side tracking sender den bestillingen, uansett hva som skjedde i nettleseren.

Manglende kjøp gjør skade på to måter. Annonseplattformen optimaliserer på færre konverteringer, og rapportene dine viser en lavere avkastning enn du faktisk får. Her er den andre effekten i tall, for en eksempelbutikk med en break-even-ROAS på 2.2:

Eksempelbutikk, én månedBare pixelHver betalte bestilling
Annonsekostnader på Meta$8,000$8,000
Kjøp fra Meta-klikk260320
Omsetning med $60 per bestilling$15,600$19,200
ROAS15,600 ÷ 8,000 = 1.9519,200 ÷ 8,000 = 2.40
Mot break-even (2.2)Ser ut som et tapLønnsom
Illustrative tall. Den samme kampanjen ser ut som et tap på pixeldata og tjener penger på bestillingsdata.

Hva WooCommerce gir deg: bestillinger, webhooks og REST API-et

Hvilke bestillingsstatuser regnes som betalt?

WooCommerce beskriver processing som at betalingen er mottatt og bestillingen venter på å bli ekspedert. ROASaurus sender bestillinger med status processing eller completed og hopper over bestillinger med status pending payment, on hold, failed, cancelled og refunded. To betalingsmetoder krever oppmerksomhet:

  • Betaling ved levering. WooCommerce setter disse bestillingene til processing til betalingen er innkrevd, så ROASaurus sender dem når de legges inn. Bestillinger med et nedlastbart produkt er unntaket: de får status on hold. Se tracking av bestillinger med betaling ved levering for hva det betyr for returer og nektet mottak.
  • Bankoverføring. WooCommerce setter disse bestillingene til on hold mens du verifiserer betalingen. ROASaurus sender dem når du flytter dem til processing.

Webhooks

En webhook er en melding WooCommerce sender til et annet system når noe endres. Du oppretter den under WooCommerce › Settings › Advanced › Webhooks. For et bestillingsemne er payloaden det samme bestillingsobjektet som REST API-et returnerer. Hver levering har en X-WC-Webhook-Signature-header: en base64 HMAC-SHA256-hash av payloaden, laget med hemmeligheten du velger. ROASaurus kontrollerer denne signaturen før den godtar en bestilling.

To detaljer har betydning i praksis. WooCommerce leverer webhooks i bakgrunnen, som standard med WP-Cron, så en levering kan bli forsinket når køen går sent. Og WooCommerce deaktiverer en webhook etter mer enn fem mislykkede leveringer på rad.

REST API

REST API-et lar ROASaurus be om bestillinger selv. Med en skrivebeskyttet API-nøkkel ber ROASaurus hvert 5. minutt om bestillinger med status processing og completed som er endret siden forrige sjekk, med 30 minutters overlapp. Bestillinger den allerede har, ignoreres. Dette fanger opp alle bestillinger en webhook gikk glipp av.

BestillingsfeltHva ROASaurus gjør med det
idBlir til event-ID-en order-1042, delt av server-eventene og nettleser-eventene
totalKjøpsverdien: totalsummen, inkludert mva. og frakt
Fakturering: e-post, telefon, navn, by, delstat, postnummer, landHashet med SHA-256 og sendt som kundedata
customer_ip_address, customer_user_agentSendes med eventen og brukes til å koble bestillingen til en besøkende
line_itemsProdukt-ID-er (variant-ID-en når det finnes en), antall og priser
date_paid_gmtEventtidspunktet for bestillinger fra en webhook eller REST API-et (opprettelsesdatoen når det ikke finnes noen betalingsdato)
meta_dataMed pluginen: besøks-ID-en og Meta- og TikTok-cookiene
Hva ROASaurus leser fra en WooCommerce-bestilling. Webhooken og REST API-et returnerer de samme feltene.

Plugin eller webhooks: to måter å koble til på

Begge tilkoblingene sender hver betalte bestilling. De skiller seg i hvor godt hver bestilling kobles til annonseklikket som brakte kunden inn.

CheckoutPluginen lagrer besøks-ID-en og klikk-cookiene på bestillingen
Bestilling betaltStatus processing eller completed
ROASaurusMottar bestillingen fra pluginen eller en webhook
AnnonseplattformerMeta, TikTok og andre får en Purchase med event-ID order-1042
Dataveien med pluginen. Uten den lagrer ikke checkout-trinnet noe ekstra, og bestillingen kommer bare via webhook.
ROASaurus-pluginBare webhooks
Hva du installererEn WordPress-plugin (PHP 7.4 og WooCommerce 6.0 eller nyere)Ingenting: en webhook i WooCommerce-innstillingene
Hvordan bestillinger kommer innPluginen sender hver betalte bestilling til bestillings-API-et til ROASaurusWooCommerce sender Order updated; valgfri REST API-sjekk hvert 5. minutt
TrackingskriptLastes av pluginen på hver sideDu legger det til selv, for eksempel med WPCode-pluginen eller i temaet ditt
Besøks-ID og klikk-cookies på bestillingenJa, lagret i checkout (klassisk checkout og checkout-blokken)Nei
Nettleserkjøp på takkesidenJa, med samme event-ID som server-eventenNei
Matching via takkesidenJaNei
Begge tilkoblingene sender hver betalte bestilling. Bare pluginen kobler hver bestilling til den besøkende i checkout.

Du kan bruke begge samtidig. Pluginen lagrer besøks-ID-en på bestillingen som metadata, og webhook-payloaden tar den med. ROASaurus lagrer hver bestilling én gang, etter WooCommerce-bestillings-ID-en, så pluginen og webhooken aldri oppretter to kjøp. Pluginen erklærer også støtte for WooCommerces High-Performance Order Storage.

Hvordan kobles en WooCommerce-bestilling til annonseklikket?

En annonseplattform kan bare kreditere et kjøp til en annonse når den kan koble de to. ROASaurus gjør dette ved å koble bestillingen til den besøkende som klikket på annonsen, og den besøkende bærer med seg click id-ene (som fbclid og ttclid) og UTM-parametrene fra landingen. Den prøver disse metodene i rekkefølge og stopper ved den første som fungerer:

  1. Besøks-ID-en som er lagret på bestillingen. Bare med pluginen. Dette er en eksakt kobling.
  2. Nettleserkjøpet på takkesiden, som har den samme bestillings-ID-en. Bare med pluginen.
  3. En hashet e-postadresse den besøkende oppga tidligere på nettstedet ditt, for eksempel i et popup-skjema fra Klaviyo, Attentive eller Wisepops, eller gjennom et Identify-kall.
  4. Den samme IP-adressen og nettleseren, sett fra 3 timer før til 15 minutter etter bestillingen, men bare når nøyaktig én besøkende passer. På delte nettverk, som kontorer og mobiloperatører, deler ofte flere besøkende én IP-adresse, og da gjetter ikke ROASaurus.

ROASaurus venter en kort stund før den sender hvert kjøp, slik at eventen fra takkesiden kan komme først. Hvis bestillingen fortsatt ikke er matchet, prøver den på nytt når den sender. Siden Orders viser resultatet per bestilling i kolonnen Matched by. Bestillinger som er koblet via pluginens besøks-ID, viser cart, den samme etiketten Shopify-bestillinger får.

Sendt til Meta for bestilling 1042Matchet (plugin)Ikke matchet (bare webhooks)
Event-ID order-1042JaJa
Hashet e-post, telefon, navn og adresseJaJa
Bestillingens IP-adresse og nettleserJaJa
Metas click id og nettleser-ID (fbc, fbp)JaNei
Hashet besøks-ID (external_id)JaNei
Annonseklikket i ROASaurus-attribusjonenKampanjen og annonsen til klikketVises som direkte eller ukjent
En bestilling som ikke er matchet, når likevel Meta med bestillingsdataene. En matchet bestilling legger til klikkidentifikatorene Meta bruker for å kreditere annonsen.

Disse klikkidentifikatorene øker Metas matchrate for eventen. Event Match Quality forklarer hvordan Meta scorer dem.

Hver butikk i ROASaurus har innstillingen Respect visitor consent, som er slått på som standard. På WooCommerce leser ROASaurus-skriptet valget til den besøkende fra WP Consent API, som samtykke-plugins, for eksempel Complianz og CookieYes, fyller ut. Det leser også Cookiebot, OneTrust, IAB TCF-bannere og Google consent mode. Inntil den besøkende godtar markedsføringscookies, setter skriptet ingen besøks-ID og laster ingen nettleserpixler.

Når en besøkende avslår, setter skriptet ingen besøks-ID, beholder ingen click id-er og utløser ingen nettleserpixler, og pluginen lagrer ingen tracking-cookies på bestillingen. Den betalte bestillingen sendes likevel fra serveren til de tilkoblede annonseplattformene dine med hashede kundedata fra bestillingen og bestillingens IP-adresse og nettleser. Hvis din juridiske rådgivning sier at kjøpsevents også krever forhåndssamtykke, må du kontakte ROASaurus før du slår på server-side-kjøp. Hjelpesiden om samtykke har detaljene, og innlegget om Consent Mode v2 og GDPR tar for seg den juridiske bakgrunnen.

Slik setter du opp server-side tracking for WooCommerce

Dette er trinnene hvis du bruker pluginen:

  1. Legg til butikken

    Gå til Add a store i ROASaurus, velg WooCommerce og skriv inn domenet kundene dine besøker.

  2. Opprett en API-nøkkel

    Åpne Store settings og klikk Create API key under Orders API. Kopier nøkkelen med en gang: den vises bare én gang, ved siden av butikknøkkelen din. Endepunktet er adressen foran /api/v1/orders på den siden.

  3. Installer pluginen

    Last ned pluginen og last opp zip-filen i WordPress under Plugins › Add New Plugin › Upload Plugin. Aktiver den deretter.

  4. Skriv inn nøklene

    Under WooCommerce › ROASaurus skriver du inn endepunktet, butikknøkkelen og API-nøkkelen, og lagrer.

  5. Koble til annonseplattformene dine

    På Tracking & platforms bruker du Connect with Facebook eller Add pixel for Meta, TikTok og de andre. Huk av for alternativet som også laster nettleserpixelen, så kjøpet på takkesiden dedupliseres mot server-eventen.

  6. Sett opp samtykke og test

    Blokker skriptet i samtykkeverktøyet ditt til den besøkende godtar markedsføringscookies, og legg deretter inn en testbestilling.

Uten pluginen legger du til skript-taggen fra Tracking & platforms på hver side, og oppretter deretter webhooken. Fanen Connection i butikken din viser webhook-URL-en din. Hold den privat: alle som har URL-en, kan sende bestillinger til butikken din.

Webhook-innstillinger
WooCommerce › Settings › Advanced › Webhooks › Add webhook

Status        Active
Topic         Order updated
Delivery URL  (your webhook URL from the Connection tab)
Secret        (a secret of your choice; paste the same one in ROASaurus)
API version   WP REST API Integration v3

For reserveløsningen oppretter du en nøkkel under WooCommerce › Settings › Advanced › REST API med lesetilgang. Lim inn consumer key og secret på fanen Connection, lagre, og trykk på Test connection. Fetch orders now henter nylige betalte bestillinger med en gang. Siden om WooCommerce-integrasjonen lister opp alle alternativene på ett sted.

Hvordan tester du server-side tracking for WooCommerce?

Test nettleserdelen først, legg deretter inn en bestilling og følg den videre til annonseplattformene.

  • Åpne nettbutikken din med ?roasaurus=connected i adressen. Et varsel bekrefter at skriptet kjører. Med ?roasaurus=debug logger skriptet i nettleserkonsollen det som sendes.
  • I Event log, under Collected events, skal sidevisninger vise en besøks-ID.
  • Legg inn en testbestilling. Betaling ved levering er raskest, fordi bestillingen får status processing med en gang.
  • På fanen Connection viser Last order received tidspunktet for den nyeste bestillingen.
  • I Event log, under Server deliveries, får hver tilkoblede plattform en linje med statusen sent og plattformens svar.
PageView visitor 3f9c2a1eSkriptet lastet med samtykke
Purchase order-1042Takkesiden, nettleserpixler utløst
order 1042 processingMottatt fra pluginen
Meta Purchase sentSamme event-ID, deduplisert
TikTok CompletePayment sentSamme event-ID, deduplisert
Eksempel på en sunn testbestilling med pluginen. Med bare webhooks mangler linjen for takkesiden, og det er forventet.

For å se eventen i Meta limer du inn koden fra Events Manager › Test events i feltet Test event code på Meta-pixelen din i ROASaurus. Fjern den når du er ferdig, fordi koden bare er ment for testing. Hvis pluginen ikke kan levere en bestilling, legger den til et bestillingsnotat i WooCommerce som begynner med «ROASaurus: order not sent», etterfulgt av feilen.

Feil du bør unngå

  • Bruk av emnet Order created. Bestillinger betalt via omdirigering opprettes som pending payment. ROASaurus ignorerer ubetalte bestillinger, og ingen ny «created»-melding kommer når betalingen går gjennom. Bruk Order updated.
  • En hemmelighet som ikke stemmer. ROASaurus avviser en levering der signaturen ikke stemmer med hemmeligheten den har. Etter mer enn fem feil på rad deaktiverer WooCommerce webhooken. Rett opp hemmeligheten, sett webhooken tilbake til Active og legg til REST API-nøkkelen, slik at bestillingene fra gapet hentes.
  • To verktøy som sender den samme pixelen. Hvis en annen plugin også sender Meta- eller TikTok-pixelen din, bruker den egne event-ID-er, og plattformen teller hvert salg to ganger. Slå den av for den pixelen. Se unngå dobbelttelling og duplikate kjøpsevents.
  • Å forvente handlekurv-events. På WooCommerce sporer skriptet bare sidevisninger av seg selv. Produktvisninger og tillegg i handlekurven oppdages automatisk bare på Shopify. En utvikler kan sende dem med et tlq track-kall.
  • Å forvente Google Ads-konverteringer. ROASaurus sender kjøpskonverteringer i Google Ads bare fra Shopify-checkouten. Fra WooCommerce sender den kjøp til Meta, TikTok, Snapchat, Pinterest, Reddit, X, Microsoft Ads, Taboola, LinkedIn og de andre annonseplattformene du kobler til.
  • Sene bankoverføringer. Meta godtar server-events opptil 7 dager etter eventtidspunktet. Pluginen sender bestillingen med datoen den ble opprettet, så Meta avviser en overføring som bekreftes mer enn 7 dager etter checkout. Bestillinger som kommer via webhook eller REST API-et, bruker betalingsdatoen i stedet. Merk også at takkesiden utløser nettleserkjøpet i checkout, før overføringen er betalt. Hvis betalingen bekreftes mer enn 48 timer senere, kan ikke Meta og TikTok slå sammen nettleserkopien og serverkopien, og en overføring som aldri betales, beholder nettleserkjøpet sitt.

Når bestillingene kommer inn, viser attribusjonsrapportene hvilke kampanjer og annonser de kom fra.

Kilder

  1. WooCommerce: Webhooks Documentation
  2. WooCommerce REST API Documentation - WP REST API v3
  3. WooCommerce: Order Statuses Documentation
  4. WooCommerce: Cash on Delivery Documentation
  5. Meta for Developers: Server Event Parameters

I ROASaurus

Les videre

Annonseplattformer og nettbutikkerKonverteringstracking ved betaling ved levering og eksterne checkouterKonverteringstracking ved betaling ved levering: hvorfor pixler går glipp av bestillinger med betaling ved levering og fra eksterne checkouter, når du bør sende kjøpet, og hvordan du håndterer avviste bestillinger.Annonseplattformer og nettbutikkerKonverteringstracking for CCV Shop: en oppsettguideKonverteringstracking for CCV Shop: send betalte bestillinger til Meta og TikTok med en signert webhook, koble dem til annonseklikk, sett opp, test og håndter sene betalinger.Annonseplattformer og nettbutikkerGoogle Ads enhanced conversions på ShopifyEnhanced conversions legger hashede kundedata til Google Ads-kjøp på Shopify. Slik fungerer de, hvordan de skiller seg fra offline-importer, og oppsettet.
Vanlige spørsmål

Spørsmål, besvart

Trenger jeg ROASaurus-pluginen for WooCommerce?

Nei. En WooCommerce-webhook er nok til å sende hver betalte bestilling. Pluginen legger besøks-ID-en og klikk-cookiene til hver bestilling og et deduplisert nettleserkjøp på takkesiden, noe som kobler bestillinger eksakt til annonseklikk, så vi anbefaler den.

Hvilket WooCommerce-webhook-emne bør jeg bruke?

Order updated, med API-versjonen WP REST API Integration v3. ROASaurus ignorerer bestillinger som ikke har status processing eller completed og lagrer hver bestilling bare én gang, så gjentatte oppdateringer ikke oppretter ekstra kjøp.

Sendes bestillinger med betaling ved levering til Meta og TikTok?

Ja. WooCommerce gir bestillinger med betaling ved levering status processing når de legges inn, og ROASaurus regner processing-bestillinger som betalt. Bestillinger med bankoverføring sendes når du flytter dem fra on hold til processing.

Hva sendes når en besøkende avslår cookies?

Den betalte bestillingen sendes likevel fra serveren med hashede kundedata og IP-adressen og nettleseren fra bestillingen. Skriptet skal ikke kjøre uten samtykke, så det finnes ingen besøks-ID eller click id som kan koble bestillingen til et annonseklikk.

Hvorfor sluttet WooCommerce-webhooken min å fungere?

WooCommerce deaktiverer en webhook etter mer enn fem mislykkede leveringer på rad. Sjekk at hemmeligheten i WooCommerce stemmer med den i ROASaurus, sett webhooken tilbake til Active, og legg til en REST API-nøkkel slik at manglende bestillinger hentes hvert 5. minutt.

Sender ROASaurus Google Ads-konverteringer fra WooCommerce?

Ikke for kjøp. Kjøpskonverteringer i Google Ads sendes bare fra Shopify checkout. Fra WooCommerce sender ROASaurus kjøp til Meta, TikTok, Snapchat, Pinterest, Reddit, X, Microsoft Ads, Taboola, LinkedIn og de andre annonseplattformene du kobler til.

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 →