---
title: "Sådan tracker jeg mit eget site server-side (og de konverteringer, jeg mistede)"
description: "Sådan tracker jeg mit WordPress-site server-side, hvordan et redesign stille ødelagde min konverteringssporing i måneder, og tjeklisten jeg nu bruger."
featured_image: "https://phillipstemann.com/wp-content/uploads/2026/04/traculo-app.png"
url: "https://phillipstemann.com/da/server-side-tracking-min-opsaetning/"
language: "da"
date_published: "2026-10-15T07:57:34+02:00"
date_modified: "2026-10-15T07:57:34+02:00"
---

# Sådan tracker jeg mit eget site server-side (og de konverteringer, jeg mistede)

Jeg auditerede mit eget website i denne uge, på samme måde som jeg auditerer en kundes. Og jeg fandt noget pinligt: min vigtigste konvertering, kontaktformularen, havde ikke registreret noget i flere måneder.

Ikke fordi ingen skrev til mig. Fordi min egen tracking var i stykker, og intet sagde det til mig.

Så her er hele historien: hvordan jeg tracker phillipstemann.com, hvad der gik i stykker, hvordan jeg fiksede det, og den tjekliste, jeg nu kører efter hvert redesign. Har du et WordPress-site med formularer, er der en god chance for, at det samme sker for dig.

## Min opsætning i ét afsnit

Ingen Google Analytics, ingen Google Tag Manager og ingen annoncepixels i browseren. I stedet bruger jeg Traculo, et server-side tracking-plugin til WordPress. Fuld åbenhed: Jeg har selv bygget det. Events går fra browseren til et endpoint på mit eget domæne, og fra min server videre derhen, hvor de skal bruges. iubenda håndterer cookiesamtykke. Sidevisninger, scrolldybde, udgående klik, downloads og formularindsendelser trackes automatisk. Oven på det definerer jeg navngivne konverteringer: de handlinger, der rent faktisk betyder noget for min forretning.

## Hvorfor server-side og ikke bare GA4?

Client-side tracking, hvor hvert script kører i den besøgendes browser, tæller for lavt. Adblockere blokerer det. Safari begrænser det. Besøgende afviser cookiebanneret. Med et teknisk publikum som mit (SEO-folk, udviklere, marketingfolk) er der mange adblockere, så en ren browseropsætning ville gå glip af en stor del af mine besøgende.

Server-side tracking sender først events til mit eget domæne. Det er first-party, så langt mindre bliver blokeret, og siden indlæser færre tredjepartsscripts, hvilket hjælper Core Web Vitals. Samtykke gælder stadig: Marketingdata sendes kun videre, hvis den besøgende har sagt ja.

## Hvad gik i stykker

Traculo lader dig definere en konvertering ved at pege på et element på siden, for eksempel “en formularindsendelse i elementet med ID `b4d8d1f`“. Det var præcis sådan, jeg havde sat min kontaktformular og min bookingknap op.

Så redesignede jeg sitet i april. Jeg byggede formularerne om til genbrugelige Elementor-skabeloner, så de kunne bruges på flere sider. Elementor gav hvert ombygget element et nyt ID. Mine konverteringsregler pegede stadig på de gamle ID’er, som ikke længere fandtes nogen steder på sitet.

Resultatet:

- **Kontaktformular:** Konverteringen matchede ingenting, så hver eneste rigtige henvendelse siden redesignet blev registreret som nul konverteringer.
- **Bookingknap:** Samme problem, nul klik registreret.
- **Nyhedsbrev vs. downloads:** Nyhedsbrevet og alle tre af mine gratis guides sendte folk til den samme `CODE_OPEN`/thank-you/`CODE_CLOSE`-side, og den side var konverteringen. Så hver download af en tjekliste blev talt som en nyhedsbrevstilmelding.
- **Det danske site:** De danske formularer brugte `CODE_OPEN`/da/tak/`CODE_CLOSE`, som slet ikke blev tracket.
- **Bonus-fejl:** Min kontaktformular har et “hold mig opdateret”-flueben til nyhedsbrevet. Det var ikke koblet til noget, så folk, der satte det, kom aldrig på min mailliste.

Intet af det gav en fejl. Sitet virkede, formularerne sendte mig mails, og dashboardet viste bare færre konverteringer. Det er sagen med tracking: **Den fejler i stilhed**.

## Sådan fiksede jeg det

Jeg skrev konverteringerne om, så hvert mål har sit eget event, forankret i noget, der ikke ændrer sig ved næste redesign:

| Event | Hvad udløser det | Hvordan det opdages |
| --- | --- | --- |
| contact\_form | Kontaktformular sendt (EN og DA) | Formular-widgettens ID i den genbrugelige skabelon |
| newsletter\_signup | En af de tre nyhedsbrevsformularer | Formular-ID’er, ikke takkesiden |
| download\_technical\_seo\_checklist | Formularen til den tekniske SEO-tjekliste | Popup-skabelonens ID |
| download\_geo\_readiness\_checklist | Formularen til GEO-tjeklisten | Popup-skabelonens ID |
| download\_wordpress\_speed\_playbook | Formularen til WordPress-hastighedsguiden | Popup-skabelonens ID |
| book\_call\_click | Enhver “Book et møde”-knap | Knapper, der linker til kontaktsiden |

````````````

To detaljer, der betyder mere, end de ser ud til:

- **Tæl gennemførte indsendelser, ikke klik på Send.** Traculo lytter efter Elementors eget “sendt”-event, så en formular, der fejler validering, tælles ikke med.
- **Popups matches på skabelon.** Alle tre download-popups bruger en kopi af samme formular, så formular-ID’et alene kan ikke skelne dem fra hinanden. Popup-skabelonens ID kan.

Og nyhedsbrevs-fluebenet sender nu tilmeldingen videre til min mailplatform, men kun når det er sat.

## Tjeklisten jeg nu kører efter hvert redesign

1. Send hver formular én gang, på hvert sprog, og tjek at eventet kommer frem.
2. Kig på hver konverterings antal for de seneste 7 dage. Nul er ikke en stille uge, det er en defekt opsætning, indtil det modsatte er bevist.
3. Ét event per mål. Lad aldrig to mål dele en takkeside.
4. Tjek at cookiebanneret stadig blokerer marketing-tags indtil samtykke.
5. Hav måleplanen skrevet ned: eventnavn, hvad der udløser det, og hvordan det opdages. Når noget ændrer sig på sitet, ved du, hvad der skal gentestes.

## Hvad jeg ville tilføje på et kundesite

Mit eget site er simpelt: Jeg kører ikke annoncer. På et kundesite ville jeg typisk tilføje conversion API’er til Meta og Google Ads, så annonceplatformene får de konverteringer, browseren misser, plus GA4, hvis teamet bruger det til analyse, og et Looker Studio-dashboard, der stiller SEO, GEO og betalt trafik op ved siden af de leads, de giver. Jeg ville også skille trafik fra ChatGPT, Perplexity og andre AI-assistenter ud som sin egen kanal, så GEO-arbejdet kan ses i leads og ikke kun på screenshots.

Vil du have mig til at kigge på din, er det nu en af mine ydelser: [tracking og analytics](/da/ydelser/tracking/).

## Den korte version

Din tracking er kun så god som sidste gang, du testede den. Min var i stykker i flere måneder, og jeg bygger bogstaveligt talt tracking-software. Test dine formularer efter hvert redesign, giv hvert mål sit eget event, og behandl et nul som en alarm, ikke en stille uge.
