Skip to content

Forms & Funnels — Analytics

Der Analytics-Tab liefert alles, was du zur Auswertung deines Funnels brauchst: Top-Level-KPIs mit Vorperiode-Vergleich, Drop-off-Chart pro Schritt mit A/B-Aware-Aggregation, Channel-Performance-Tabelle mit Drilldown, Channel × Step Drop-off-Heatmap, Time-Series und CSV-Export auf jeder Karte mit tabellarischen Daten.

Diese Seite geht jede Visualisierung durch — was sie aussagt und wie du Edge-Cases liest.

Wo der Tab liegt

Oeffne Seiten → Forms & Funnels → Analytics. Waehle den Funnel oben rechts, setz die Datums-Range und klick Aktualisieren. Der gesamte Tab laedt parallel — KPI-Strip, Drop-off, Verzweigungen, Channel-Performance, Heatmap, Time-Series, A/B-Tests sind unabhaengige Queries.

Analytics-Tab mit KPI-Strip und Drop-off-Karte

Der Datums-Range gilt fuer alles auf dem Tab. Default sind die letzten 30 Tage. Der Vorperiode-Vergleich (siehe KPI-Strip) verschiebt sich automatisch um denselben Tagespan vor das gewaehlte from-Datum.

1. KPI-Strip — Trend auf einen Blick

Vier Tiles am oberen Rand: Sessions, Abgeschlossen, Conversion-Rate, Abgebrochen. Pro Tile der absolute Wert plus ein Δ-Pill gegen die Vorperiode gleicher Laenge.

Vier KPI-Tiles mit gruenen und roten Delta-Pills

Die Δ-Pills sprechen zwei Sprachen:

  • Counts (Sessions, Abgeschlossen, Abgebrochen) → relativer Prozent (+25%, −12%). Bei Abgebrochen ist down gut — Pill wird gruen bei Abnahme, rot bei Anstieg.
  • Conversion-Rate → Prozentpunkte (+12,55pp, −3,2pp). Liest sich als absolute Differenz zwischen den beiden Raten.

pp vs %

pp bedeutet Prozentpunkte — die absolute Differenz zwischen zwei Prozentwerten. CR von 12,45 % auf 25 % heisst +12,55 pp. Wuerden wir stattdessen +100 % schreiben (relative Aenderung), waere das eine andere Aussage. GA4, HubSpot, Matomo nutzen alle dieselbe Konvention.

War die Metrik in der Vorperiode 0 und ist jetzt > 0, zeigt der Pill neu statt einer unbeschraenkten Prozentzahl.

Die Vorperiode-Range steht als kleiner Subtitel unter jedem Pill (vs. 2026-03-29 – 2026-04-27).

2. Drop-off-Chart — pro Schritt

Das vertikale Stacked-Bar-Chart zeigt jeden sichtbaren Funnel-Schritt in Flow-Reihenfolge mit drei Farben:

  • Gruenabgeschlossen. User hat den Schritt verlassen Richtung naechster Schritt (oder am letzten Schritt den Funnel beendet).
  • Gelbabgebrochen. User hat genau hier abgebrochen (Status abandoned).
  • Blauin Arbeit. User haengt noch in dieser Stufe (Status in_progress, Session noch aktiv).

Drop-off-Prozent zwischen Step N und N+1 wird rechts neben Step N+1 als kleine ↘ XX,X %-Annotation eingeblendet — nur wenn der Drop-off > 0 ist.

Drop-off-Chart mit gestapelten Bars und Drop-off-Annotation

A/B-Splits sind ein eigener Block

Enthaelt der Funnel einen ab_split-Knoten, taucht er nicht als einzelner Step in der Treppe auf. Stattdessen rendert die UI einen pinken A/B-Block-Container zwischen Pre-Block-Step und Post-Block-Step:

  • Oben eine Aggregat-Zeile „Gesamt (alle Varianten)" — Summe von entered, completed, abandoned, in_progress aller Varianten.
  • Darunter pro Variante eine eigene Mini-Treppe mit eigener Sample-Size (= sessions_entered der Variante).
  • Pro Variant-Step der Drop-off relativ zur Vor-Stufe in der Variante.
Drop-off-Chart mit A/B-Block-Container und Variant-Treppen

Klick auf den Block-Header

Der Block-Header (Variant-Name + Experiment-ID) ist klickbar und scrollt zur A/B-Tests-Karte weiter unten — dort siehst du die statistische Auswertung mit Pearson Chi-Square + Bonferroni-korrigierter Signifikanz.

Was bedeutet „in Arbeit"?

Eine Session zaehlt als „in Arbeit" am Schritt N, wenn sie genau dort haengt — Status in_progress, Session noch aktiv, der Pfad endet auf diesem Schritt. Ist der Pfad laenger und endet auf einem spaeteren oder hidden Knoten (ab_split, Variant-Step), wird Schritt N als abgeschlossen (= ist weitergegangen) gezaehlt. Damit zeigt der Pre-A/B-Step nicht alle Sessions als „in Arbeit", die noch im A/B-Block haengen — sie sind weitergewandert und werden im A/B-Block separat aggregiert.

3. Branch-Performance — Verzweigungen

Tabelle pro Condition-Node mit den moeglichen Branches. Spalten: Condition-Name, Branch-Label, Sessions, Anteil, optional Conversion-Rate (= % der Sessions, die durch diesen Branch den Funnel komplett abgeschlossen haben).

Use-Case: „Welcher Pfad meiner Lead-Qualifikation konvertiert besser?" — wenn der country == DE-Branch 30 % CR hat und der Default-Branch nur 8 %, sind deutsche Visitor wertvoller.

4. Channel-Performance — Marketing-Kanaele

Wenn UTM-Parameter an deinen Funnel-URLs haengen (?utm_source=google&utm_medium=cpc), aggregiert das Plugin die Submissions pro Kanal. Die Channel-Karte hat drei Schichten:

KPI-Tiles oben

Top Source, Top Campaign, Best CR, Worst Drop-off — Sofort-Insight in vier Zeilen.

Channel-Tabelle

Default-Sortierung Sessions DESC. Spalten:

SpalteWas steht drin
Channelsource / medium, je nach Group-by-Auswahl
SessionsAnzahl Sessions des Channels im Zeitraum
Leadsdavon completed
CRConversion-Rate als Prozent
Δ vs AvgProzentpunkte gegen den Funnel-Durchschnitt (gruen = besser, rot = schlechter)
Trendrelative Sessions-Aenderung vs. Vorperiode + CR-Δ in pp
Worst StepSchritt mit hoechstem Drop-off in diesem Channel
Trend (30d)30-Tage-Sparkline der taeglichen Sessions
Channel-Performance-Tabelle mit KPI-Tiles und Trend-Spalte

Group-by und Min-Sessions

Ueber dem Tabellen-Header gibt es zwei Selects: Group by (Source / Medium, Channel Group, Campaign) und Min sessions (1 / 5 / 10 / 30 / 100). Channels unter dem Schwellenwert wandern in eine zusammengefasste Other-Zeile am Tabellen-Ende. Fuer Tests mit wenigen Submissions setz Min sessions auf 1.

Drilldown

Klick auf einen Channel-Row klappt die Campaign-Breakdown als eingerueckte Sub-Tabelle aus. Klick auf eine Campaign-Row klappt Term + Content aus. Lazy-loaded — der Server liefert die Sub-Rows erst beim ersten Klick.

Aufgeklappter Channel-Drilldown mit Campaign-Breakdown

Channel-Grouping

Der Group-by-Modus Channel Group mappt UTM- und Referer-Daten auf GA4-konforme Buckets (Direct, Organic Search, Paid Search, Paid Social, Email, Referral, Organic Social, Display). Falls du keine UTMs setzt, faengt diese Gruppierung trotzdem viele Sessions ein — Direct und Organic Search werden via Referer-Pattern erkannt.

5. Channel × Step Drop-off-Heatmap

Eine Matrix Top-N-Channels × Funnel-Schritte, jede Zelle gefaerbt nach Drop-off-Rate (Schritt N → Schritt N+1):

  • Gruen: ≤ 10 %
  • Hellgruen: 10–30 %
  • Orange: 30–50 %
  • Rot: > 50 %
  • Grau: keine Sessions in dieser Zelle
Channel-x-Step-Heatmap mit farbcodierten Drop-off-Raten

Use-Case: „An welchem Schritt verlieren welche Channels den Funnel?". Wenn Facebook-Traffic im Top-Funnel super performt aber zu 67 % auf Schritt 4 (Telefonnummer-Frage) dropt, ist die Anzeige falsch geframet oder der Phone-Step muss optional werden — Action-Trigger fuer Anzeigen-Optimierung.

A/B-Spalte

ab_split-Knoten erscheinen als eigene Spalte mit Pink-Akzent und Shuffle-Icon. sessions_reached an dieser Spalte = Summe aller Variant-Sessions, Drop-off = 1 − reached_post / reached_ab (wie viele User verlassen den Block ohne Post-Block-Step zu erreichen).

Die Heatmap ist standardmaessig eingeklappt — Klick auf Channel × Step Drop-off-Heatmap unter der Channel-Tabelle oeffnet sie.

6. Time-Series — Verlauf

Drei-Linien-Chart pro Tag: Starts (alle Submissions), Abgeschlossen, Abgebrochen. Hover zeigt Datum + Werte.

Time-Series-Chart Starts, Abgeschlossen, Abgebrochen pro Tag

Use-Case: Anomalie-Erkennung. Wenn am Mittwoch die Starts um 50 % einbrechen, siehst du das hier sofort.

7. A/B-Tests-Karte

Pro ab_split-Knoten im Funnel eine eigene Sub-Karte mit:

  • Variant-Tabelle: sessions_entered, sessions_completed, Conversion-Rate, Δ-zur-Control-Variante, p-Wert (Pearson Chi-Square mit Bonferroni-Korrektur bei mehr als 2 Varianten), Sample-Size-Confidence-Marker.
  • Banner mit Empfehlung: ab n ≥ 100 pro Variante und p < 0,05 markiert das Plugin den Winner gruen.

Erscheint nur bei Funnels mit mindestens einem ab_split-Knoten und mindestens einer Submission pro Variante.

8. CSV-Export

Drei Karten haben einen kleinen CSV-Button:

  • Channel-Performance — alle sichtbaren Channel-Rows inkl. Trend-Spalten und Worst-Step.
  • Verlauf (Time-Series) — Datum, Starts, Abgeschlossen, Abgebrochen pro Tag.
  • Drop-off — Schritte + A/B-Block-Aggregat + Varianten flachgezogen, mit Bereich-Filterspalte.
CSV-Export-Buttons in den Analytics-Karten

Encoding: UTF-8 mit BOM, CRLF, RFC-4180-Quoting — oeffnet sich direkt in Excel mit korrekten Umlauten.

Filename-Pattern: funnel-{ID}-{type}-{from}-{to}.csv (z. B. funnel-12-channels-2026-04-01-2026-04-30.csv).

Daten-Konsistenz und Edge Cases

Ephemeral-Mode (save_abandoned = false)

Standard-Default ist DSGVO-konform: Abgebrochene Submissions werden nach Ablauf von abandon_after_min hard-geloescht (Cron process_abandoned.php). Bevor sie weg sind, schreibt der Worker einen anonymen Aggregat-Eintrag pro Knoten + Channel — daraus rekonstruiert das Dashboard Drop-off, Channel-Performance und Heatmap. Die KPI-Tiles zeigen die Sessions plus die anonymen Abbrueche.

Sessions-Diskrepanz vor Migration 017

Vor Migration 017 hatte das Channel-Aggregat keine Datums-Spalte. Channel-Reports zogen Lifetime-Counts in jedes from/to-Fenster — bei einem 6-Monate-alten Funnel mit hohem Abbruch-Anteil kannten die Reports daher mehr Sessions als der Drop-off-Chart fuer denselben Filter-Zeitraum. Nach Migration 017 ist die Tabelle tagesgranular und alle Reports stimmen periodengenau ueberein. Historische Counts wurden beim Migration-Lauf zurueckgesetzt — frische Daten kommen sauber rein.

Cache

Das Backend cached jede Analytics-Antwort in APCu mit einem Generation-Counter pro Funnel. Jedes neue Submission, jedes Status-Update inkrementiert den Counter → der Cache-Key wechselt → frische Daten beim naechsten Reload. Wenn du sehen willst, wie eine soeben angelegte Test-Submission im Dashboard ankommt, klick einfach Aktualisieren in der Topbar.

Channel-Trend-Limitierung

Channel-Trends nutzen ab Migration 017 sowohl Live- als auch ephemeral-Daten. Vorperiode-Counts werden entweder aus formfunnel_submissions (Live) oder aus formfunnel_channel_node_stats (anonym) geladen. Trends sind damit auch im Ephemeral-Mode mit hohem Hard-Delete-Anteil ehrlich.

Haeufige Fragen

Warum sehe ich „neu" statt einer Prozentzahl? Der Channel hatte in der Vorperiode 0 Sessions. Eine relative Aenderung ((neu − 0) / 0) ist nicht definiert. Die UI zeigt dann neu als Pill — der Channel ist neu hinzugekommen.

Mein Drop-off zeigt 0 % auf einem Schritt, obwohl Sessions verlorengehen. Wenn alle Sessions im Filter-Zeitraum den Funnel abgeschlossen haben, gibt es keine Drop-offs zwischen den Schritten — das ist semantisch korrekt. Drop-off > 0 siehst du erst, wenn Sessions haengen bleiben (in_progress) oder im Block-Inneren abbrechen.

Eine Variante hat keine Sessions in der Heatmap. Variant-Schritte werden bewusst aus der Heatmap-X-Achse gefiltert, sonst wuerden sie als separate Flow-Stufen erscheinen. Variant-Drop-off siehst du im Drop-off-Chart im A/B-Block-Container, nicht in der Heatmap.

Kann ich die Heatmap auch nach Channel Group oder Campaign filtern? Nicht in V1. Heatmap-X-Achse ist source / medium. Channel-Performance-Tabelle hat den Group-by-Switch.

Trend-Spalte zeigt einen grossen Sprung — ist das real? Bei kleinen Sample-Sizes (< 30 Sessions) sind Trends statistisch volatil. Die Tabellen-Zeile bekommt dann einen Limited Data-Marker. Setz Min sessions auf 30+, wenn du nur belastbare Trends sehen willst.

Siehe auch