Ampel-Checks - Datenqualität aus BigQuery
Die Ampel-Checks im GA4 Auditor lesen die GA4-BigQuery-Exporttabellen
(events_YYYYMMDD, events_intraday_YYYYMMDD) und bewerten Datenqualität
auf Event-Level. Sie sind die Tiefenstufe nach dem
Live Check: Was die GA4-API nur summarisch sieht,
zerlegen die Ampel-Checks bis auf einzelne Events herunter.
<!-- SCREENSHOT: Ampel-Tab im Dashboard mit grünen, gelben und roten Statusrechtecken -->
Was prüft die App?
Die Ampel-Checks gruppieren die BigQuery-SQL-Queries unter
app/queries/checks/ in thematische Sektionen:
- Events - Event-Errors, Duplikate, Values
- Sessions - Konsistenz, Gap-Analyse, fehlende
session_start - Akquisition - Channels, Self-Referrals, Payment-Referrer
- E-Commerce - Funnel, Transactions, Attribution, Duplikate
- Inhalte - Page-Quality, Content-Groups, Site-Search, User-ID
Jede Sektion liefert einen Ampel-Status (Pass / Warning / Fail), eine
Kurz-Erklärung in einer Hint-Box (render_hint_box) und optional eine
ausklappbare Lösungsanleitung (render_solution_accordion).
Wann wird ein Check ausgelöst?
Beispiele für Schwellenwerte aus dem Code:
| Check | Schwelle |
|---|---|
| E-Commerce-Funnel-Fehler | >0 Fehler = Rot, 1-3 Issues = Gelb, 0 = Grün |
| Session-Konsistenz | <5 % ohne session_start = Grün, 5-15 % Gelb, >15 % Rot |
| Event-Duplikate | >5 % = Warnung |
| gclid ohne Attribution | >10 % der Google-Ads-Sessions = Warnung |
Die SQL-Logik dazu liegt z. B. in
ecommerce_funnel.sql,
session_consistency.sql,
event_quality.sql und
acquisition_channels.sql.
<!-- SCREENSHOT: Hint-Box mit Lösungsvorschlag (Accordion ausgeklappt) -->
Hint-Box vs. Lösungs-Accordion
Im Dashboard nutzt jede Section zwei standardisierte UI-Bausteine:
render_hint_boxzeigt einen Kurzhinweis: Worum geht's, warum ist das ein Problem? Maximal 2-3 Sätze.render_solution_accordionklappt eine Schritt-für-Schritt-Anleitung auf: Welche Konfiguration anpassen, welche Stelle im Code, welche Folge-Audit-Frage stellen?
So bleibt der Dashboard-Status scannbar, ohne dass technische Details verloren gehen.
Typische Ursachen
- Funnel-Sprünge → fehlende Checkout-Events, Items ohne IDs oder Prices
in den
purchase-Events, Custom-Code-Bug im GTM. session_startfehlt → GTM-Tag feuert erst nach Session-Timeout, Server-Side-Tagging mit zu hoher Latenz.- gclid nicht zugeordnet → manuelle UTM-Parameter überschreiben den
Auto-Tagging-Klick, Cross-Domain-Sprung verliert den Parameter - siehe
Blog Wenn der
gclidda ist - und Google Ads trotzdem nicht.
So gehst du vor
- Im Dashboard auf den Ampel-Tab wechseln und nach roten/gelben Karten suchen.
- Pro Section die Hint-Box lesen - sie nennt das Symptom konkret.
- Lösungs-Accordion ausklappen, Schritt-für-Schritt abarbeiten.
- Bei E-Commerce-Themen direkt in E-Commerce-Checks im Detail springen - dort ist die Funnel-Logik mit Schwellen erklärt.
- Bei Datenqualitäts-Themen (PII, Duplikate, Items fehlen) in Event-Qualität & PII-Hinweise weiterlesen.