Thema: Tracking-Qualität

OnPage-Checks - Browser-basiertes Audit

Stand: 2026-05-19 · 3 Min. Lesezeit

OnPage-Checks - Browser-basiertes Audit

Die OnPage-Checks öffnen eine echte URL in einem Headless-Browser (Chromium via Playwright) - einmal vor Consent-Akzeptanz, einmal danach. Sie liefern damit eine Sicht, die APIs allein nicht haben: Was passiert auf der Seite selbst in den ersten Sekunden?

<!-- SCREENSHOT: OnPage-Lauf mit zwei Spalten „Vor Consent" / „Nach Consent" und Status-Karten -->

Was prüft die App?

Die OnPage-Sektion deckt sieben Bereiche ab:

  1. Server-Side-Tagging-Detection - antwortet die Site mit Custom GA4-Endpoints oder einem FPID-Cookie?
  2. GTM-Implementierung - sind Container geladen, gibt es Duplikate?
  3. CMP-Erkennung - 14 Consent-Management-Plattformen werden erkannt (Cookiebot, OneTrust, Usercentrics, Borlabs, CCM19, Sourcepoint u. a.).
  4. Consent Mode v2 - Default- und Updated-State werden mitgelesen.
  5. Privacy/DSGVO - feuert Tracking vor der Consent-Akzeptanz?
  6. Drittanbieter-Tools - 9 Tracker werden erkannt (Meta, TikTok, LinkedIn, Clarity u. a.).
  7. DataLayer - sind Events und E-Commerce-Daten Spec-konform?

Wann wird ein Check ausgelöst?

Check Schwelle
Measurement-ID erkannt Ja = Grün, Nein = Rot
page_view + session_start in 2 min >5 = Grün, <2 = Rot
Cross-Domain-Cookie (_ga) über Domains konsistent = Grün
Consent-Status analytics granted = Grün, denied = Warnung
Tracker-Feuern vor Consent jedes Event = DSGVO-Warnung

Die Logik liegt in app/pages/onpage.py, app/services/browser_check_service.py und app/services/onpage_check_evaluator.py.

<!-- SCREENSHOT: Tracker-Karte mit Liste der erkannten Drittanbieter -->

Typische Ursachen

  • GTM nicht geladen → JavaScript-Fehler im Container, Content-Security-Policy blockt das Script, URL-Mismatch zwischen GA4-Stream und tatsächlicher Domain.
  • Measurement-ID falsch → Copy-Paste-Bug, alte/Test-ID im Production-Code hängen geblieben.
  • Tracking vor Consent → GTM-Trigger feuert auf „Page Load" statt auf „Consent granted", CMP-Script lädt nach GTM oder gar nicht.
  • Cross-Domain-Cookie fehlt_ga-Cookie wird nicht über das Sub-/Hauptdomain-Setup hinweg gesetzt, weil auto-Konfiguration überschrieben wurde.

So gehst du vor

  1. Im Auditor unter OnPage eine URL eingeben - bei Cloud-Run-Setup ist das Feature ggf. erst nach Aktivierung sichtbar (onpage.disabled.title).
  2. Den Lauf abwarten (~10-30 s pro URL, da zwei Phasen).
  3. Die zwei Spalten „Vor Consent" und „Nach Consent" vergleichen - alles, was vor Consent feuert, ist ein potenzielles DSGVO-Risiko.
  4. CMP-Erkennung prüfen: Wenn keine CMP gefunden wird, obwohl eine läuft, das Element im DOM identifizieren und ggf. Issue im Auditor melden.
  5. Bei Consent-Mode-Themen parallel Consent Mode v2 verstehen öffnen.

Verwandte Themen

Diese Hilfe in der App öffnen →

Verwandte Hilfeseiten