Suchen

Tutorial · Online-Marketing & SEO

UTM-Parameter: Kampagnen in GA4 richtig tracken

UTM-Parameter sind Zusätze an einer URL, mit denen Google Analytics 4 erkennt, welche Kampagne einen Besuch ausgelöst hat. Entscheidend ist weniger die Technik als eine einheitliche Schreibweise im ganzen Team.

Bildschirm mit der Seitennavigation einer Analytics-Oberfläche, mit geringer Schärfentiefe fotografiert

Das Wichtigste in Kürze

  • GA4 kennt neun UTM-Parameter, aber nur wenige davon sind im Alltag nötig: utm_source, utm_medium und utm_campaign.
  • Parameterwerte sind case-sensitive: „Meta“ und „meta“ sind für GA4 zwei verschiedene Werte, deshalb gilt durchgängig Kleinschreibung.
  • UTM-Parameter gehören nur an externe Links, nie an interne, und niemals mit personenbezogenen Daten in die URL.
  • Ein URL-Builder im Code oder in der Tabelle erzwingt die Konvention, statt sie dem Gedächtnis zu überlassen.

Was UTM-Parameter sind

UTM-Parameter sind Schlüssel-Wert-Paare im Query-String einer URL, die mit utm_ beginnen. Sie sagen Google Analytics 4 (GA4), woher ein Besuch kommt: aus welcher Quelle, über welches Medium, in welcher Kampagne. Ohne sie hat GA4 für Links, die keinen aussagekräftigen Referrer mitliefern, etwa in vielen E-Mails, keine Kampagneninformation.

Ein Beispiel:

Text
https://example.com/angebot/?utm_source=newsletter&utm_medium=email&utm_campaign=fruehjahrs-aktion-2027

Alles nach dem Fragezeichen sind die Parameter. Die Seite selbst, /angebot/, bleibt dieselbe.

Die Parameter, die GA4 unterstützt

Die GA4-Hilfe listet neun Parameter. Im Alltag reichen die ersten drei.

ParameterBedeutung laut GA4-HilfePflicht im Alltag?
utm_sourceDer Referrer, etwa newsletter oder googleJa
utm_mediumDas Marketingmedium, etwa email oder cpcJa
utm_campaignProdukt, Slogan oder AktionscodeJa
utm_idKampagnen-ID, passend zu hochgeladenen KampagnendatenOptional
utm_termDas bezahlte KeywordOptional, v. a. bei Suchanzeigen
utm_contentUnterscheidet Creatives, etwa zwei Links in derselben E-MailOptional
utm_source_platformDie Plattform, die Traffic an die Property leitetOptional
utm_creative_formatDer Creative-TypWird laut GA4-Hilfe derzeit nicht gemeldet
utm_marketing_tacticDie Targeting-KriterienWird laut GA4-Hilfe derzeit nicht gemeldet

Die beiden letzten kannst du setzen, siehst sie aber (Stand Oktober 2026) nicht in GA4-Berichten. Plane deine Auswertung deshalb nicht darauf.

Wie GA4 die Parameter zeigt

Die Hilfeseite nennt als Berichtsdimensionen im Bericht „Traffic-Akquisition“ Sitzungsquelle/-medium, Sitzungsmedium, Sitzungsquelle und Sitzungskampagne. Wie utm_id, utm_term, utm_content und utm_source_platform den Dimensionen im Einzelnen zugeordnet werden, führt die Seite nicht auf; schau dafür in deiner Property nach.

Zwei weitere Hinweise aus der Hilfe sind praktisch wichtig:

  • UTM-Parameter fehlen in den Dimensionen „Landingpage + Abfragestring“ und „Seitenpfad + Abfragestring“. Du findest sie in der Dimension „Seitenstandort“.
  • Fehlt ein Parameter, zeigt GA4 „(not set)“.

Namenskonvention

Parameterwerte sind case-sensitive. Laut GA4-Hilfe sind utm_source=google und utm_source=Google verschiedene Werte; Google empfiehlt Kleinschreibung als Standard. Aus „Meta“ und „meta“ werden sonst zwei Zeilen im Bericht.

Eine Konvention, die in der Praxis funktioniert, ist kurz genug zum Merken:

RegelBeispiel gutBeispiel schlecht
Nur KleinbuchstabennewsletterNewsletter
Bindestrich statt Leerzeichenfruehjahrs-aktionFrühjahrs Aktion
Keine Umlaute und Sonderzeichenfruehjahrfrühjahr
Feste Liste für utm_mediumemail, cpc, socialMail, E-Mail, emailing
Kampagnenname mit Jahr oder Datumfruehjahrs-aktion-2027aktion
Keine personenbezogenen Datennewslettermax.mustermann@...

Die Liste der Medien legst du einmal im Team fest und verwendest sie unverändert. Mehr als fünf bis sieben Einträge werden selten gebraucht.

Konvention im Team-Spreadsheet

Eine einfache Tabelle reicht für den Start. Sie hat pro Zeile einen Link:

DatumKanalZiel-URLsourcemediumcampaigncontentFertige URL
2027-03-01Newsletter/angebot/newsletteremailfruehjahrs-aktion-2027button-obenper Formel

Die letzte Spalte setzt die URL aus den Zellen zusammen, damit niemand sie von Hand tippt. Wer das lieber im Code erledigt, nutzt den Builder aus dem nächsten Abschnitt.

Ein URL-Builder in JavaScript

Der Builder nutzt die eingebauten Klassen URL und URLSearchParams. Er vereinheitlicht die Schreibweise (Kleinschreibung, Umlaute, Bindestriche), lässt leere Werte weg, bewahrt vorhandene Parameter und lehnt Medien außerhalb der erlaubten Liste ab. Gespeichert als utm.mjs:

JavaScript
const ALLOWED_MEDIUMS = new Set(["email", "cpc", "social", "referral", "display"]);

function slug(value) {
  return value
    .trim()
    .toLowerCase()
    .replace(/[äöüß]/g, (c) => ({ ä: "ae", ö: "oe", ü: "ue", ß: "ss" })[c])
    .replace(/[^a-z0-9]+/g, "-")
    .replace(/^-+|-+$/g, "");
}

export function buildUtmUrl(baseUrl, { source, medium, campaign, content, term, id }) {
  const url = new URL(baseUrl);
  const params = {
    utm_source: source,
    utm_medium: medium,
    utm_campaign: campaign,
    utm_content: content,
    utm_term: term,
    utm_id: id,
  };
  for (const [key, value] of Object.entries(params)) {
    if (value === undefined || value === "") continue;
    url.searchParams.set(key, slug(String(value)));
  }
  if (!ALLOWED_MEDIUMS.has(url.searchParams.get("utm_medium"))) {
    throw new Error(`utm_medium nicht erlaubt: ${url.searchParams.get("utm_medium")}`);
  }
  return url.toString();
}

console.log(
  buildUtmUrl("https://example.com/angebot/?ref=start", {
    source: "Newsletter",
    medium: "Email",
    campaign: "Frühjahrs Aktion 2027",
    content: "Button oben",
  })
);

try {
  buildUtmUrl("https://example.com/", { source: "x", medium: "Mail", campaign: "test" });
} catch (e) {
  console.log("Fehler:", e.message);
}

Ausgabe von node utm.mjs mit Node.js v26.3.0:

Text
https://example.com/angebot/?ref=start&utm_source=newsletter&utm_medium=email&utm_campaign=fruehjahrs-aktion-2027&utm_content=button-oben
Fehler: utm_medium nicht erlaubt: mail

Zwei Details zahlen sich aus. searchParams.set ersetzt einen schon vorhandenen Parameter, statt ihn doppelt anzuhängen. Außerdem serialisiert URLSearchParams die Werte als Query-String; Sonderzeichen musst du nicht von Hand maskieren (hier sind sie durch die Normalisierung ohnehin entfernt).

Praxis-Tipp: Das Prinzip „Konvention im Code erzwingen“ funktioniert auch ohne JavaScript: Ein Spreadsheet mit Dropdown für utm_medium und einer Formel für die fertige URL leistet dasselbe. Wichtig ist, dass niemand URLs frei tippt.

Beispiele nach Kanal

Die Werte hängen von deiner Konvention ab. Als Vorlage für die Tabelle im Team:

Kanalutm_sourceutm_mediumutm_campaign (Beispiel)utm_content (Beispiel)
Newsletternewsletteremailfruehjahrs-aktion-2027button-oben
Suchanzeigegooglecpcmarke-2027anzeige-a
Beitrag in einem sozialen Netzwerklinkedinsocialproduktstart-2027beitrag-1
Link in einer Partner-E-Mailpartnernamereferralkooperation-2027banner-footer
Banner auf einer anderen Seitefachportaldisplayawareness-2027skyscraper

Wichtig ist nicht der einzelne Wert, sondern dass dieselbe Plattform immer gleich heißt. Wenn ein Kanal einmal linkedin und einmal linked-in heißt, hilft dir die schönste Tabelle nicht.

UTM-Parameter und Datenschutz

Die Parameter selbst sind Beschriftungen für Kampagnen, keine Nutzerdaten, solange du sie als solche verwendest. Problematisch wird es, wenn Werte Rückschlüsse auf Personen zulassen. Das passiert schneller als gedacht, etwa bei personalisierten Newsletter-Links mit Empfänger-ID im utm_content. Halte die Werte deshalb grundsätzlich auf der Ebene von Kanal, Kampagne und Creative.

Ob und wie GA4 selbst eingesetzt werden darf, hängt von Einwilligung und Setup ab; die rechtlichen Grundlagen dazu behandelt der Artikel zu Server-Side Tracking. Die Parameterbenennung selbst ändert daran nichts, und dieser Artikel ist keine Rechtsberatung.

So prüfst du, ob alles ankommt

  1. Rufe die fertige URL selbst im Browser auf, im besten Fall in einem Fenster, in dem du nicht bei deinen Tools angemeldet bist.
  2. Schau im Echtzeitbericht oder in der Debug-Ansicht von GA4 (sofern in deiner Property verfügbar) nach, ob Quelle, Medium und Kampagne erscheinen.
  3. Warte nach dem Livegang einer Kampagne etwas ab und prüfe dann den Bericht „Traffic-Akquisition“ auf „(not set)“-Zeilen und doppelte Schreibweisen.
  4. Pflege Auffälligkeiten in die Namenskonvention ein, statt sie nur im Bericht zu korrigieren.

Typische Fehler

  1. UTM-Parameter auf internen Links. Ein UTM-Link innerhalb deiner Website beschreibt eine Herkunft, die es dort nicht gibt, und kann die Zuordnung der eigentlichen Quelle verfälschen. Interne Links bleiben deshalb sauber; für interne Aktionen eignen sich Ereignisse.
  2. Uneinheitliche Schreibweise. Email, email und e-mail ergeben drei Zeilen. Die Namenskonvention und der Builder verhindern das.
  3. Personenbezogene Daten in der URL. E-Mail-Adressen, Namen oder Kundennummern gehören nicht in Parameter. URLs landen in Logs, Browserverläufen und Berichten. Auch utm_content ist dafür nicht gedacht.
  4. Zu viele Varianten. Jede Kombination erzeugt eine neue Zeile. Setze utm_content und utm_term nur ein, wenn du die Auswertung tatsächlich brauchst.
  5. Doppelt gekennzeichnete Kanäle. Manche Werbeplattformen übergeben Kampagnendaten selbst. Prüfe in der Dokumentation deiner Plattform, was automatisch angehängt wird, bevor du zusätzlich von Hand taggst.
  6. Fehlende Dokumentation. Ohne Tabelle weiß nach einem Jahr niemand, was kampagne1 war.

UTM-URLs und Canonical

Eine URL mit Parametern ist technisch eine andere Adresse als die ohne. Gelangen solche Adressen in den Index, etwa weil jemand sie teilt oder verlinkt, entstehen Duplikate derselben Seite. Das Mittel dagegen ist ein Canonical Tag, das auf die parameterfreie URL zeigt. Wie du ihn setzt und warum er ein Hinweis und keine Anweisung ist, beschreibt der Artikel zum Canonical Tag.

Auswerten kannst du die Kampagnendaten später zusammen mit Zielen und Abschlüssen; wie du daraus eine Conversion-Rate berechnest, steht im Artikel zur Conversion-Rate. Wer Messdaten über einen eigenen Server leitet, sollte die Parameter dort ebenfalls einheitlich halten; mehr dazu im Beitrag zu Server-Side Tracking.

Nächster Schritt

Lege heute eine Tabelle mit den erlaubten Werten für utm_medium an, etwa email, cpc, social, referral, display. Passe dann den Builder oben an diese Liste an oder baue sie als Dropdown in dein Spreadsheet. Tagge als Nächstes den nächsten Newsletter-Link damit und prüfe ein paar Stunden nach dem Versand im Bericht „Traffic-Akquisition“, ob Quelle, Medium und Kampagne so erscheinen, wie du sie benannt hast.

Häufige Fragen

Brauche ich für jeden Link UTM-Parameter?

Nur für Links, die du selbst platzierst und deren Herkunft GA4 sonst nicht sauber erkennt, etwa Newsletter, Anzeigen oder Beiträge in sozialen Netzwerken. Links innerhalb deiner Website taggst du nicht.

Was bedeutet „(not set)“ in den Berichten?

Laut Google erscheint „(not set)“, wenn ein Parameter fehlt. Ein fehlendes utm_campaign führt also zu „(not set)“ in der Dimension Sitzungskampagne.

Zählen UTM-Parameter als eigene Seiten für Google?

Die URL mit Parametern ist technisch eine eigene Adresse. Sie sollte per Canonical auf die saubere URL zeigen, sonst entstehen Duplikate.

Quellen

  1. Campaign URL parameters / UTM parameters in Google Analytics (GA4 Hilfe) Google Analytics Help · abgerufen am 28. Oktober 2026
  2. URLSearchParams: set() method MDN Web Docs · abgerufen am 28. Oktober 2026