Eine Adresse besteht aus Schema, Host, Pfad, Query-String und Fragment. Der Query-String beginnt beim Fragezeichen, das Fragment beim Rautezeichen — und dieses letzte Stück wird nie an den Server geschickt.
Im Query-String stehen Parameter als Paare aus Name und Wert, getrennt durch das Und-Zeichen. Die Werte sind prozentkodiert, sodass %20 für ein Leerzeichen und %26 für ein Und-Zeichen im Wert steht.
Doppelte Schlüssel sind erlaubt
Ein Parameter darf mehrfach vorkommen, und der Standard sagt nicht, was dann gilt. Manche Server nehmen den ersten, manche den letzten, manche bauen daraus eine Liste — genau daraus entstehen Fehler, die sich nur auf einem der Systeme zeigen.
Dieser Parser listet jedes Vorkommen einzeln auf, statt eines davon auszuwählen. So wird sichtbar, dass es überhaupt mehrere gibt.
Was Tracking-Parameter verraten
Die utm-Parameter beschreiben, woher ein Besuch kam: Quelle, Medium, Kampagne. Sie werden von der Zielseite ausgewertet und gehören nicht zur Funktion der Seite — die Adresse funktioniert ohne sie genauso.
Daneben gibt es Kennungen einzelner Netzwerke wie fbclid oder gclid, die einen Klick eindeutig markieren. Wer eine Adresse weitergibt, gibt diese Kennung mit weiter; der Rechner zeigt deshalb auch die bereinigte Fassung.