- 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 skjer | Nettleser-pixel | Bestillingsdata i WooCommerce |
|---|---|---|
| Kunden betaler via omdirigering (for eksempel PayPal eller en bankapp) og lukker fanen | Ingen takkeside, ingen kjøpsevent | Betalt bestilling, status processing |
| En annonseblokkerer eller en personverninnstilling blokkerer pixelskriptet | Ingen kjøpsevent | Betalt bestilling |
| Den besøkende avslår markedsføringscookies | Pixelen må ikke lastes | Betalt bestilling |
| En bankoverføring bekreftes tre dager senere | Ingen nettleser er åpen i det øyeblikket | Statusen endres fra on hold til processing |
| En caching- eller skriptoptimaliseringsplugin forsinker pixelen | Eventen kan komme for sent eller mangle | Betalt bestilling |
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åned | Bare pixel | Hver betalte bestilling |
|---|---|---|
| Annonsekostnader på Meta | $8,000 | $8,000 |
| Kjøp fra Meta-klikk | 260 | 320 |
| Omsetning med $60 per bestilling | $15,600 | $19,200 |
| ROAS | 15,600 ÷ 8,000 = 1.95 | 19,200 ÷ 8,000 = 2.40 |
| Mot break-even (2.2) | Ser ut som et tap | Lønnsom |
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.
| Bestillingsfelt | Hva ROASaurus gjør med det |
|---|---|
id | Blir til event-ID-en order-1042, delt av server-eventene og nettleser-eventene |
total | Kjøpsverdien: totalsummen, inkludert mva. og frakt |
| Fakturering: e-post, telefon, navn, by, delstat, postnummer, land | Hashet med SHA-256 og sendt som kundedata |
customer_ip_address, customer_user_agent | Sendes med eventen og brukes til å koble bestillingen til en besøkende |
line_items | Produkt-ID-er (variant-ID-en når det finnes en), antall og priser |
date_paid_gmt | Eventtidspunktet for bestillinger fra en webhook eller REST API-et (opprettelsesdatoen når det ikke finnes noen betalingsdato) |
meta_data | Med pluginen: besøks-ID-en og Meta- og TikTok-cookiene |
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.
| ROASaurus-plugin | Bare webhooks | |
|---|---|---|
| Hva du installerer | En WordPress-plugin (PHP 7.4 og WooCommerce 6.0 eller nyere) | Ingenting: en webhook i WooCommerce-innstillingene |
| Hvordan bestillinger kommer inn | Pluginen sender hver betalte bestilling til bestillings-API-et til ROASaurus | WooCommerce sender Order updated; valgfri REST API-sjekk hvert 5. minutt |
| Trackingskript | Lastes av pluginen på hver side | Du legger det til selv, for eksempel med WPCode-pluginen eller i temaet ditt |
| Besøks-ID og klikk-cookies på bestillingen | Ja, lagret i checkout (klassisk checkout og checkout-blokken) | Nei |
| Nettleserkjøp på takkesiden | Ja, med samme event-ID som server-eventen | Nei |
| Matching via takkesiden | Ja | Nei |
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:
- Besøks-ID-en som er lagret på bestillingen. Bare med pluginen. Dette er en eksakt kobling.
- Nettleserkjøpet på takkesiden, som har den samme bestillings-ID-en. Bare med pluginen.
- 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.
- 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 1042 | Matchet (plugin) | Ikke matchet (bare webhooks) |
|---|---|---|
Event-ID order-1042 | Ja | Ja |
| Hashet e-post, telefon, navn og adresse | Ja | Ja |
| Bestillingens IP-adresse og nettleser | Ja | Ja |
Metas click id og nettleser-ID (fbc, fbp) | Ja | Nei |
Hashet besøks-ID (external_id) | Ja | Nei |
| Annonseklikket i ROASaurus-attribusjonen | Kampanjen og annonsen til klikket | Vises som direkte eller ukjent |
Disse klikkidentifikatorene øker Metas matchrate for eventen. Event Match Quality forklarer hvordan Meta scorer dem.
Samtykke på WooCommerce
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:
- Legg til butikken
Gå til Add a store i ROASaurus, velg WooCommerce og skriv inn domenet kundene dine besøker.
- 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/orderspå den siden. - Installer pluginen
Last ned pluginen og last opp zip-filen i WordPress under Plugins › Add New Plugin › Upload Plugin. Aktiver den deretter.
- Skriv inn nøklene
Under WooCommerce › ROASaurus skriver du inn endepunktet, butikknøkkelen og API-nøkkelen, og lagrer.
- 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.
- 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.
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=connectedi adressen. Et varsel bekrefter at skriptet kjører. Med?roasaurus=debuglogger 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 samtykkePurchase order-1042Takkesiden, nettleserpixler utløstorder 1042 processingMottatt fra pluginenMeta Purchase sentSamme event-ID, deduplisertTikTok CompletePayment sentSamme event-ID, deduplisertFor å 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
tlqtrack-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
- WooCommerce: Webhooks Documentation
- WooCommerce REST API Documentation - WP REST API v3
- WooCommerce: Order Statuses Documentation
- WooCommerce: Cash on Delivery Documentation
- Meta for Developers: Server Event Parameters