Live · CSR-certificeret
Tilbage til Teknisk SEO

URL-parametre og UTM-tracking

Det der står efter spørgsmålstegnet i en URL kan være afgørende for din analytics. Det kan også sprænge dit indeks i tusind stykker.

Nøglefakta

Format:?key=value&key=value
Kategorier:Funktionelle, tracking, duplikerende
SEO-risiko:Duplicate content, spildt crawl-budget
Standard-løsning:rel=canonical

Hvad er en URL-parameter?

En URL-parameter, også kaldet query-parameter eller query-string, er den del af en URL der starter efter et spørgsmålstegn. Den består af nøgle-værdi-par adskilt af et og-tegn. Strukturen er defineret i RFC 3986 og fortolkes ens af alle browsere og servere.

https://www.example.dk/produkter?kategori=sko&farve=sort&sort=pris

           ^                       ^         ^         ^
           sti                      par 1     par 2     par 3

Browsere sender hele URLen til serveren, inklusive parametrene. Serveren læser dem, og applikationen beslutter hvad der skal ske: hente filtrerede produkter, sortere et resultat, anvende en kupon, eller bare logge en kampagne-besøg uden at ændre indholdet. Sidstnævnte er afgørende — fordi parametre der ikke ændrer indhold er rene SEO-faldgruber.

De tre kategorier af parametre

Type 1

Funktionelle

Ændrer indhold på siden. Hver kombination er en unik visning.

Eksempler: ?id=123, ?page=2, ?lang=da

Type 2

Tracking

Påvirker ikke indhold. Bruges kun af analytics og annonce-platforme.

Eksempler: ?utm_source=, ?gclid=, ?fbclid=

Type 3

Duplikerende

Ændrer rækkefølge eller filter, men ikke det grundlæggende indhold.

Eksempler: ?sort=pris, ?view=grid

UTM-parametre: Google Analytics-sproget

UTM står for Urchin Tracking Module — opkaldt efter Urchin Software, som Google opkøbte i 2005 og som blev til Google Analytics. UTM-parametre er en standardiseret måde at fortælle Analytics hvor en bruger kommer fra. De påvirker ikke siden. De læses af GA, gemmes i en session, og fjernes ofte fra URLen igen via JavaScript så brugeren ser en ren adresse.

De fem standard-UTM'er

  • utm_source — hvor kommer trafikken fra (newsletter, facebook, google)
  • utm_medium — kanal-typen (email, social, cpc, organic)
  • utm_campaign — kampagnenavn (sommer-udsalg-2026)
  • utm_content — variant (banner-blå vs. banner-grøn)
  • utm_term — keyword ved betalt annoncering
https://www.example.dk/tilbud
  ?utm_source=newsletter
  &utm_medium=email
  &utm_campaign=januar-udsalg
  &utm_content=hovedbanner

UTM-parametre er case-sensitive. utm_source=Newsletter og utm_source=newsletter behandles som to forskellige kilder i Analytics. Lav en konvention og hold dig til den. Skriv altid i lowercase, og brug bindestreger i stedet for mellemrum eller underscores.

Det egentlige SEO-problem

Hver unik URL er en separat side for Google. Hvis et nyhedsbrev sender 50.000 modtagere til /tilbud?utm_campaign=januar, og en Facebook-annonce sender til /tilbud?fbclid=abc123, har Google tre versioner at vælge imellem. Indholdet er identisk. Det er klassisk duplicate content.

Konsekvenserne er to: link-equity bliver spredt, og crawl-budget bliver brugt på den samme side flere gange. På et stort site med tusindvis af kombinationer af filtre, sortering og tracking kan det betyde at vigtige sider ikke bliver crawlet ofte nok.

Løsningen er ikke at undgå parametre. Løsningen er at fortælle Google hvilken version der er den primære. Det gør du med et canonical-tag.

Canonical som førstevalg

Hver side med parametre skal have et <link rel="canonical"> der peger på den parameterløse version (eller på den version du gerne vil have indekseret). Det er den vigtigste enkeltbeslutning du kan tage for parameter-håndtering.

<!-- På siden /tilbud?utm_campaign=januar -->
<link rel="canonical" href="https://www.example.dk/tilbud" />

<!-- På siden /produkter?sort=pris&view=grid -->
<link rel="canonical" href="https://www.example.dk/produkter" />

<!-- På siden /produkter?kategori=sko (funktionel parameter) -->
<link rel="canonical" href="https://www.example.dk/produkter?kategori=sko" />

Bemærk forskellen i det sidste eksempel. Funktionelle parametre, der reelt ændrer indholdet, skal have canonical der inkluderer parametren. Det fortæller Google "denne version med ?kategori=sko er sin egen unikke side". Tracking-parametre derimod skal canonicaliseres væk.

Server-side strip: den robuste løsning

For maksimal kontrol kan du fjerne tracking-parametre allerede på server-niveau med en 301 redirect, efter de er blevet tracket. Det er den rene løsning fordi brugeren ender på en URL uden tracking-støj, og fordi Google aldrig ser de duplikerede versioner.

# Nginx: fjern utm_* og fbclid, behold andre parametre
if ($args ~* "(.*)(utm_[^&]*&?|fbclid=[^&]*&?|gclid=[^&]*&?)(.*)") {
  set $clean $1$3;
  return 301 $uri?$clean;
}

Vær opmærksom på at en redirect skal ske efter klienten har modtaget URLen — ellers kan Google Analytics og andre tracking-scripts ikke nå at læse dem. I praksis kører tracking-koden i browseren, så en server-redirect efter første render virker fint.

Search Console: parameter-håndteringen forsvandt

Tidligere tilbød Google Search Console et "URL Parameters Tool", hvor du eksplicit kunne fortælle Google hvordan hver parameter skulle behandles. Værktøjet blev pensioneret i april 2022. Begrundelsen fra Google: deres systemer er nu så gode til selv at gætte den korrekte håndtering, at indstillingerne sjældent gjorde en forskel.

Det betyder ikke at du kan ignorere parametre. Det betyder at canonical-tagget og en konsistent intern linking-struktur er dine to vigtigste signaler. Google følger dem næsten altid. Hvis Search Console alligevel viser at den har valgt en anden canonical end den du har angivet, er det fordi dine signaler er inkonsistente — typisk en blanding af forskellige canonical-værdier eller interne links der peger på parametriserede versioner.

Best practices

Gør dette

  • • Canonical fra parametriseret URL til ren URL
  • • Hold UTM-værdier i lowercase med bindestreger
  • • Brug konsistent rækkefølge af parametre
  • • Strip tracking-parametre via JavaScript efter pageview
  • • Internt link altid til den rene URL
  • • Lad funktionelle parametre være indekserbare hvis de skaber unikt indhold

Undgå dette

  • • Manglende canonical på parameter-URLer
  • • Forskellige UTMer på det samme link i samme kampagne
  • • Cookies med tracking-værdi der også sættes som URL-parameter
  • • Sessions-id i URLen (?sid=abc123)
  • • At blokere alle parametre i robots.txt
  • • At redirecte alle parameter-URLer (mister tracking-data)
Læs videre

Relaterede opslag