Form & Media-Analytics
Welches Feld bricht Conversions ab? Schauen Besucher Ihr Erklär-Video überhaupt? Wohin klicken Besucher wirklich? Form-Analytics zeigt den genauen Drop-off-Punkt jedes Formulars Feld für Feld. Media-Analytics misst Play, Pause, Fortschritts-Meilensteine und Abschlussrate Ihrer Videos. Click-Heatmaps legen jede Klick-Wolke über einen echten Screenshot der Seite — heiße rote Cluster zeigen die meistgeklickten Stellen, eine zweite Scroll-Ebene zeigt zusätzlich, wie weit Besucher tatsächlich scrollen. Alle drei Module sind serverseitig konfigurierbar und standardmäßig aktiv, sobald der Plan sie freischaltet — kein Code-Eingriff am Tracker-Snippet nötig.
# Form-Analytics
XICTRAQ erkennt automatisch alle <form>-Elemente auf Ihrer Site (kein Selektor, keine Konfiguration). Pro Feld werden View-, Focus-, Blur- und Invalid-Events erfasst; daraus aggregiert das Dashboard Abschlussrate und Drop-off. Feld-Inhalte werden niemals übertragen — nur Feldname, Event-Typ und Wertlänge.
Auto-Detection von Formularen
Wenn Form-Analytics in der Website-Konfiguration aktiviert ist (Server-Flag, steuerbar über den Tab Analytics → Einstellungen), werden alle <form>-Elemente automatisch erfasst. Keine ID-Vergabe nötig, keine Änderung am Tracker-Snippet. Als Form-Identifier wird form.id, form.name oder form.action genutzt (max. 120 Zeichen). Erfasste Event-Typen: view (beim ersten Feld-Fokus), focus, blur, invalid, submit. Die feldbezogenen Events focus, blur und invalid tragen jeweils field_name aus input.name/id/type (max. 120 Zeichen); view und submit werden auf Formular-Ebene ohne field_name erfasst.
Abschlussrate und Feld-Drop-off
Das Dashboard aggregiert je Formular die Roh-Events zu einer Abschlussrate (completion_rate = Sitzungen mit Absendung ÷ Sitzungen mit Formularkontakt, also höchstens 100 %) und listet pro Feld die Anzahl der focus-, blur- und invalid-Events. So sehen Sie auf einen Blick, welches Feld viele Besucher anfassen, aber wieder verlassen, ohne abzuschicken — und welches Feld auffällig oft Validierungsfehler wirft. Der Zeitraum ist umschaltbar zwischen 24h, 7 Tagen und 30 Tagen (Standard: 30 Tage). Die Form-Analyse finden Sie im Dashboard unter Analytics → Conversions.
Privacy-Maskierung sensibler Felder
Form-Events enthalten niemals den eingegebenen Text — nur die Feld-ID/Name, den Event-Typ und beim Blur-Event die reine Wertlänge (value_length, serverseitig auf max. 10.000 begrenzt). Es gibt kein Feld, in dem der Klartext landen könnte. Zusätzlich können Sie in den Tracker-Settings eine Liste von CSS-Selektoren hinterlegen, deren Inhalte auch beim Session-Recording vollständig maskiert werden (z. B. Eingabefelder, Preis-Angaben, Account-Nummern).
# Media-Analytics
Native HTML5 <video> und <audio> werden automatisch getrackt. Erfasst werden Play-Start, Pause, Ended sowie die Fortschritts-Meilensteine 25/50/75 % (Ended zählt als 100 %). Iframe-basierte Player (YouTube, Vimeo, Wistia) werden NICHT erfasst — sie sind cross-origin und bieten keine Browser-seitigen Event-Hooks.
Play, Pause, Fortschritt und Abschlussrate
Jedes native Medien-Element löst beim Abspielen die Events play und pause aus; während der Wiedergabe feuern die Meilensteine progress_25, progress_50 und progress_75, sobald die jeweilige Marke einmalig überschritten wird. Erreicht das Medium das Ende, kommt ended. Mitgesendet werden der Medien-Pfad (src, max. 500 Zeichen, ohne Query), der Typ (video oder audio), die Dauer (duration_ms) und die Abspielposition (position_ms). Das Dashboard aggregiert daraus je Medienquelle die Anzahl der Plays, die 25/50/75-%-Marken und eine Abschlussrate (completion_rate = ended / play). Sie finden die Auswertung unter Analytics → Aufnahmen & Tests.
# Click-Heatmaps
Pro Seite legt XICTRAQ alle Klicks als rot-orange Wärme-Wolke über einen echten Screenshot der Seite. Überlappende Klicks akkumulieren — je heißer (röter) ein Punkt, desto häufiger wurde dort geklickt. Die Heatmap wird pro Viewport getrennt geführt (Desktop/Tablet/Mobile), und eine zweite Ebene zeigt die Scroll-Tiefe.
Klick-Heatmap über echtem Screenshot
Klick-Koordinaten werden nicht als absolute Pixel gespeichert, sondern als Prozentwert relativ zur gesamten Seitenbreite und -höhe — so bleibt die Heatmap auch bei Layout-Änderungen sinnvoll. Über einem per Playwright erzeugten Live-Screenshot der Seite wird daraus eine radiale Wärme-Karte gerendert (rot = sehr häufig, über orange/gelb auslaufend). Pro Ansicht werden bis zu 10.000 Klicks gezeichnet; der Viewport-Umschalter zeigt zusätzlich die Klick-Zahl je Geräteklasse. Der Zeitraum reicht von Heute über 7/30/90 Tage bis 365 Tage.
Top-Elemente, Rage- und Dead-Clicks
Neben der Wolke listet das Dashboard die 20 meistgeklickten Elemente mit ihrem Text-Label (aus innerText bzw. aria-label/title/alt, max. 100 Zeichen). Zusätzlich klassifiziert der Tracker zwei Frust-Signale: einen Rage-Click (drei Klicks dicht beieinander innerhalb einer Sekunde) und einen Dead-Click (Klick, dem keine DOM-Änderung und keine Navigation folgt). Beides hilft, kaputte oder scheinbar klickbare, aber funktionslose Elemente zu finden.
Scroll-Heatmap
Per Ebenen-Umschalter „Scroll-Tiefe“ zeigt die zweite Heatmap-Ebene, wie weit Besucher tatsächlich scrollen — wertvoll für Long-Page-Layouts. Die Seite wird in vier Bänder geteilt (0–25/25–50/50–75/75–100 %); jedes Band ist nach dem Anteil der Besucher eingefärbt, die diese Tiefe noch erreicht haben (rot = wenige, grün = viele). So sehen Sie sofort, ab welcher Höhe Sie wie viel Prozent Ihrer Besucher verlieren.
# Aktivierung und Konfiguration
Alle drei Module werden nicht über data-Attribute im Snippet gesteuert, sondern serverseitig pro Website. Der Tracker lädt seine Laufzeit-Konfiguration bei jedem ersten Seitenaufruf vom Config-Endpunkt (anhand der Website-ID) und cached sie kurz. So lassen sich Module ein- und ausschalten, ohne das eingebettete <script> auf der Kundenseite anzufassen.
Die Konfiguration je Website (Tabelle websites.tracker_config) hat folgende Standardwerte. Form-, Media- und Heatmap-Tracking sind bereits aktiv; Session-Recording ist als datenschutz-relevantes Opt-in bewusst aus:
{
"forms": true, // Form-Analytics
"media": true, // Media-Analytics
"heatmap": true, // Klick- + Scroll-Heatmap
"web_vitals": true, // LCP / CLS / INP
"record": false, // Session-Recording (Opt-in)
"consent": "none", // "none" | "required"
"mask_selectors": [], // CSS-Selektoren, im Recording maskiert
"exclude_urls": [], // Regex-Pfade, die gar nicht getrackt werden
"sample_rate": 100 // 1..100 (Prozent der erfassten Sitzungen)
} Sampling und Ausschluss-Pfade
Über sample_rate (1–100) erfassen Sie auf sehr großen Sites nur einen Prozentsatz der Sitzungen — die Entscheidung fällt serverseitig je Sitzung über einen festen Eimer aus dem Sitzungs-Kennwert, eine erfasste Sitzung ist also vollständig erfasst, eine verworfene vollständig verworfen. Mit exclude_urls hinterlegen Sie Regex-Muster für Pfade, die komplett ungetrackt bleiben sollen (z. B. interne Bereiche). Beide Werte gelten für den gesamten Tracker, also auch für Form-, Media- und Heatmap-Events.

