Documentation Fundamentals

Das page_view Event in Google Analytics 4 (GA4)

Das page_view Ereignis in Google Analytics 4 (GA4) ist für viele wohl das wichtigste Ereignis, das sie tracken. Es wird genutzt, um Seitenaufrufe zu messen und damit die Grundlage für viele weitere Analysen.

Ein Seitenaufruf ist dabei nicht nur das Laden einer neuen Seite, sondern auch das Navigieren innerhalb einer Single Page App (SPA). Auf solchen Seiten wird die URL im Browser aktualisiert, ohne dass die Seite – technisch betrachtet – tatsächlich neu geladen wird. Weil der Nutzer aber eine neue Seite sieht, sollte das auch als neuer Seitenaufruf mit eigenem page_view Event gezählt werden.

Grundsätzlich kannst du page_view Ereignisse auch für ähnliche, vergleichbare Nutzerinteraktionen einsetzen, zum Beispiel für Schritte in einem komplexen Formular, das mehrere Schritte hat.

Screenshot der langen Formularstrecke der CosmosDirekt BU-Versicherung.
Besonders komplexe Formularstrecken können für den Nutzer wie einzelne Seitenaufrufe wirken. Dann kann man sie auch so tracken, mit einem page_view Event.

Viele andere Web Analytics Tools behandeln Seitenaufrufe und Ereignisse getrennt. Das war auch beim Vorgänger von GA4, Universal Analytics, so. Für GA4 ist page_view jedoch ein Ereignis wie jedes andere auch.

Implementierung

Wichtige Parameter (und warum sie relevant sind)

GA4 reichert page_view automatisch mit Seiten-Kontext an. Die wichtigsten Parameter sind:

  • page_location: Die vollständige URL der Seite (Standard ist document.location.href)
  • page_referrer: Die vorherige Seite, von der der Nutzer gekommen ist (Standard ist document.referrer)
  • page_title: Der Seitentitel (Standard ist document.title)

Gerade bei SPAs oder dynamischen UIs lohnt es sich, diese Werte bewusst zu setzen bzw. zu überschreiben, wenn sie im Moment des Trackings noch nicht „stimmen“ (z. B. weil document.title erst nachträglich gesetzt wird).

Automatisches Tracking

GA4 kann page_view Ereignisse automatisch tracken, sodass beim Laden der Website direkt ein page_view Ereignis erfasst wird. Standardmäßig ist das aktiv. Das trifft sowohl für eine code-basierte Implementierung mit gtag.js als auch für eine Implementierung über Google Tag Manager zu.
Wenn du das ändern möchtest, kannst du den Konfigurationsparameter send_page_view auf false setzen.

Wichtig dabei: Wenn du send_page_view deaktivierst, musst du Pageviews anschließend selbst auslösen. Sonst fehlen dir Seitenaufrufe komplett – und viele Reportings werden unbrauchbar.

Weitere Details findest du in Googles Dokumentationen:

Enhanced Measurement

Wenn du eine Single Page App (SPA) hast und deine Entwickler – warum auch immer – keine page_view Ereignisse gezielt per gtag() tracken oder per dataLayer schicken, kannst du auf Enhanced Measurement zurückgreifen.
Das ist die Funktionalität, die automatisch URL-Änderungen im Browser erkennt und daraus page_view Ereignisse generiert. Das funktioniert zwar nicht immer perfekt, ist aber ein guter Kompromiss und besser als nichts.

Eine wichtige Einstellung in Enhanced Measurement ist „Page changes based on browser history events“: Damit erkennt GA4 URL-Änderungen über die Browser-History (z. B. pushState/replaceState) und erzeugt daraus zusätzliche page_view Events – genau das, was man in vielen SPAs braucht.

Ein typischer Stolperstein: Wenn du Enhanced Measurement und eigene, manuelle Pageviews gleichzeitig nutzt, bekommst du schnell doppelte page_view Events. In so einem Fall solltest du dich bewusst für eine Variante entscheiden (automatisch oder manuell) und die andere deaktivieren.

Außerdem gibt es Setups, in denen sich nur ein URL-Fragment (also alles nach #) ändert. Solche „Hash“-Änderungen werden von automatischen Mechanismen häufig nicht sauber als eigener Pageview erkannt – dann ist eine manuelle Umsetzung oft die zuverlässigere Wahl.

Falls dir das Enhanced Measurement jedoch in die Quere kommt und du es abschalten möchtest, z. B. weil du die page_view Ereignisse lieber selbst tracken möchtest, kannst du das in den Einstellungen deines GA4 Data Streams tun:

Screenshot der Web Stream Details in GA4.
Screenshot der Einstellmöglichkeiten des Enhanced Measurements.

Manuelles Tracking (z. B. für SPAs)

Wenn du Pageviews manuell auslöst, solltest du darauf achten, dass die Parameter zur Seite passen, die der Nutzer wirklich sieht (inkl. korrekter URL und Titel). Beispiel (vereinfacht):

javascript
window.dataLayer = window.dataLayer || [];
window.dataLayer.push({
    event: "page_view",
    page_location: window.location.href,
    page_title: document.title,
    page_referrer: document.referrer
});