Server-side tracking

Webhook tracking & event hydration
Fang de konverteringer din browser aldrig ser

En kunde betaler med MobilePay. Pengene er i kassen. Men Google Ads, Meta og GA4 aner det ikke — fordi de aldrig ser ordrebekræftelsessiden.

Op mod 40% af mobilbrugere der betaler med betalingsapps lander aldrig på ordrebekræftelsessiden. [estimat baseret på egne observationer]

Det sorte hul i din tracking

De fleste tracking-problemer skyldes lovgivning eller browserbegrænsninger. Men det største hul skyldes hverken Apple eller EU.

📱

MobilePay-hullet — det problem ingen taler om

Når en bruger betaler med MobilePay på mobilen, skifter de fra browseren til appen. Betalingen gennemføres. Men brugeren vender ikke altid tilbage til din webshop. Ordrebekræftelsessiden — der hvor din tracking-pixel sidder — bliver aldrig loadet.

Konverteringen er reel. Pengene er i kassen. Men Google Ads, Meta og GA4 aner det ikke.

🕳️

Og det er ikke det eneste hul

Browser-baseret tracking taber data på flere fronter — selv med et fuldt funktionelt server-side setup:

  • Ad blockers blokerer scripts
  • Safari ITP begrænser cookies
  • Langsom sideload — scriptet fyrer aldrig
  • Brugere lukker fanen lige efter betaling
  • Telefonordrer og offline-salg sker uden for browseren
  • CRM-events som "Closed Won" sker aldrig i browseren

Webhooks + Order Capture Client

Min tilgang lukker hullerne med to komponenter der arbejder sammen.

Webhooks

Direkte signal fra din shop — uanset browser

Når et køb gennemføres, sender Shopify eller WooCommerce automatisk en webhook til din server-side GTM container. Denne HTTP-besked indeholder alle ordredata: værdi, produkter, kunde-ID. Den er fuldstændig uafhængig af browseren og kommer altid igennem — også når brugeren aldrig ser kvitteringssiden.

Order Capture Client

Simulerer de events browseren aldrig skabte

Jeg har bygget en specialiseret client til server-side GTM, der modtager webhooks og simulerer de kvitteringsside-events, som ellers aldrig ville være sket. Din server-side container behandler dem præcis som en normal purchase-event og sender data videre til Google Ads, Meta CAPI, GA4 og alle andre platforme.

Ikke teori — tal fra mine kunder

Dette er webhooks og Order Capture Client vs. et ellers fuldt funktionelt server-side setup. Forskellen er udelukkende de konverteringer browseren aldrig fangede.

+18,86%
Flere attribuerede konverteringer Kunde 1 — e-commerce
+28,81%
Flere attribuerede konverteringer Kunde 2 — e-commerce
15–30%
Typisk interval på tværs af kunder Konverteringer der allerede skete — men aldrig nåede ad platforms

Alle de steder du mister data

Webhooks lukker hullerne på tværs af hele din forretning — ikke bare i din webshop.

📱

Betalingsapps på mobil

MobilePay, Apple Pay, Google Pay. Alle betalingsflows der tager brugeren ud af browseren. Webhooks fra din shop fanger dem alle — uanset om kvitteringssiden loader.

📞

Telefonordrer & offline salg

Kunder der ringer ind og bestiller. Det salg sker aldrig i en browser. Med webhooks fra dit CRM sendes disse salg automatisk til dine ad platforms med korrekt attribution.

🤝

CRM: Lead stage & Closed Won

Det er "Closed Won" med en deal-værdi på 50.000 kr. der skal drive din Smart Bidding — ikke bare formular-udfyldningen. Webhooks fra Pipedrive, ActiveCampaign eller Kommo sender disse high-value events direkte.

🔄

Abonnements-tracking

Renewal, churn, upgrade, downgrade — alle events der sker i dit abonnementssystem, ikke i browseren. Giv dine ad platforms signaler om den langsigtede kundeværdi.

📋

Formular-tracking fra tredjeparter

Calendly, Typeform, HubSpot Forms — disse tools lever på deres egne domæner. Med webhooks sender de submission-data direkte til sGTM uden tab.

💳

E-commerce fallback

Shopify og WooCommerce webhooks som et universelt sikkerhedsnet. Fanger de transaktioner der gik tabt på grund af ad blockers, Safari ITP eller langsom sideload.

Sådan opsætter jeg det

1

Webhook-endpoint i sGTM

Jeg konfigurerer et webhook-endpoint i din server-side GTM container via Stape. Det er den "adresse" dine systemer sender data til. Order Capture Client validerer indkommende requests og parser data til et format sGTM kan arbejde med.

2

Konfigurér din kilde

Shopify, WooCommerce, Pipedrive, ActiveCampaign, Stripe eller et custom system — jeg opsætter webhook-afsendelse, så de rigtige events trigger de rigtige payloads med præcis de felter der er nødvendige.

3

Event hydration & klik-ID matching

De forskellige datakilder kobles sammen. Klik-ID'er (gclid, fbclid, fbc) fra den oprindelige browsersession matches med webhook-data, så attribution bevares. Uden dette ville konverteringen blot lande som "direkte".

4

Send til Google Ads, Meta, GA4

De berigede events sendes videre via sGTM tags. Google Ads modtager offline conversions. Meta modtager server-events via CAPI. GA4 får det komplette billede. Alt med event_id-baseret deduplicering — konverteringer tælles aldrig dobbelt.

Berig dine events med data din browser ikke har

Event hydration kobler webhook-data fra din shop med browserdata fra sessionen — og kan tilføje endnu mere kontekst fra dit backend.

MobilePay + Google Ads

MobilePay-køb med fuld attribution

En kunde klikkede på din Google Ads-annonce og betalte med MobilePay. Browseren tabte konverteringen, men webhooket fanger den. Event hydration kobler ordren med kundens gclid — og Google Ads ved præcis hvilken kampagne der drev salget.

WooCommerce + ERP

Profitbaseret Smart Bidding

En purchase-event beriges med profitmargin fra dit ERP-system og sendes til Google Ads som POAS-signal. Smart Bidding optimerer ikke bare på omsætning, men på faktisk profit.

CRM + Google Ads

Offline konvertering med dealværdi

En lead-formular trackes i browseren. Når leadet bliver "Closed Won" i CRM med en deal-værdi på 50.000 kr., sender en webhook den faktiske værdi til Google Ads. Nu ved Google hvad en god lead er værd.

Mangler du konverteringer? Lad os tage en snak

Der er en god chance for, at du allerede har salg og leads der aldrig når dine ad platforms. MobilePay-hullet alene kan koste dig tocifrede procenter i tabt konverteringsdata.

Eller udfyld formularen herunder, så vender jeg hurtigt tilbage.

Ofte stillede spørgsmål

Når en bruger betaler med MobilePay på mobilen, skifter de fra browseren til MobilePay-appen. Når betalingen er gennemført, vender mange brugere ikke tilbage til browseren — de lukker appen og går videre. Ordrebekræftelsessiden, hvor tracking-pixlen normalt fyrer, bliver aldrig loadet.
Ja — og her er præcis hvordan det fungerer i min opsætning: Order Capture Client bruger altid det samtykke, brugeren gav på dit site inden de gik videre til betalingen. Det samtykke gemmes server-side i forbindelse med sessionen. Når webhooket ankommer — uanset om brugeren vendte tilbage til kvitteringssiden eller ej — kigger systemet op, hvad brugeren faktisk accepterede.

Har brugeren ikke givet marketing-samtykke, bliver de ikke tracket til ad platforms. Har de givet samtykke, sendes konverteringen videre med fuld respekt for det, de accepterede. Det betyder at opsætningen altid er compliant — ikke fordi vi omgår samtykke-kravet, men fordi vi respekterer det sidst kendte samtykke fra sessionen.

Hashed data sendt via Enhanced Conversions eller Advanced Matching kræver ligeledes marketing-samtykke, og det er altid en forudsætning i min implementering.
Teknisk set kan du sende webhooks direkte til nogle platformes API'er, men du løser kun halvdelen af problemet — og skaber samtidig et GDPR-problem. Webhooks fra Shopify, WooCommerce og andre systemer indeholder ordredata: produkter, beløb, kunde-ID. De indeholder sjældent samtykkedata. Det betyder, at du reelt ikke kan vide, om brugeren har givet marketing-samtykke — og dermed ikke kan sikre compliance, inden du sender data til ad platforms.

Derudover mangler du det afgørende for attribution: klik-ID'er og browserdata fra brugerens session. Uden gclid, fbclid og fbc kan annonceplatformene ikke se, hvilken kampagne der var med til at drive købet — konverteringen lander som "direkte" eller forsvinder helt. Det er sGTM der fungerer som mellemled.
De fleste moderne systemer: Shopify, WooCommerce, Pipedrive, ActiveCampaign, HubSpot, Kommo (tidl. amoCRM), Salesforce, Stripe og mange flere. Har dit system en webhook-funktion eller en Zapier/Make-integration, kan vi få det til at fungere.
Conversion API (CAPI) er Meta's specifikke API til at modtage server-side events. En webhook er en generel mekanisme, hvor et system sender data til et endpoint. I praksis bruger jeg webhooks til at sende data til sGTM, som videresender til Meta CAPI, Google Ads og andre platforme.
En standard webhook-opsætning med én kilde og 2-3 destinations tager typisk 1-2 dage. Mere komplekse setups med event hydration, multiple kilder og profit-data tager 3-5 dage. Herefter kører det automatisk med minimal vedligeholdelse.
Book et kald