Das Verstehen, wie Daten durch Zenovay fließen – vom ersten Seitenaufruf eines Besuchers bis zu Erkenntnissen auf dem Dashboard – hilft Ihnen, effektiv zu entwickeln und zu debuggen.
Event-Tracking-Flow
Wenn ein Besucher auf einer getrackte Website landet, passiert folgendes:
- Skript lädt: Unser leichtgewichtiger Tracker (<5 KB) initialisiert und generiert eine Besucher-ID (für 365 Tage gespeichert) und Session-ID (30-Minuten-Timeout).
- Seitenaufruf wird gesendet: Grundlegende Daten werden gesammelt – URL, Referrer, Viewport-Größe, User-Agent – und an unsere API gesendet.
- Geolokalisierung: Cloudflare liefert Land und Region aus dem CF-Connecting-IP-Header. Keine clientseitige Geolokalisierung.
- Verarbeitung: Events werden validiert, mit Geräteerkennung angereichert und in Supabase gespeichert.
- Echtzeit-Update: Dashboard-Abonnenten erhalten die neuen Daten über Supabase-Echtzeit-Kanäle.
Echtzeit vs. Aggregiert
Wir balancieren Echtzeit-Reaktionsfähigkeit mit Abfrage-Performance:
- Echtzeit: Live-Besucherzahlen, aktive Sessions und aktuelle Events werden direkt aus Rohtabellen bedient.
- Aggregiert: Historische Diagramme und Berichte fragen vorberechnete tägliche Aggregationen für Geschwindigkeit ab.
- Cron-Jobs: Tägliche Aggregation läuft um 00:00 UTC und konsolidiert die Events des vorherigen Tages.
Session-Replay-Aufnahme
Session-Replay verwendet die rrweb-Bibliothek, um DOM-Änderungen zu erfassen:
- Aufnahme: rrweb beobachtet DOM-Mutationen, Mausbewegungen, Scrolls und Eingaben (mit automatisch maskierten sensiblen Daten).
- Chunking: Events werden in Chunks gebündelt (max. 10 MB komprimiert) und an die API hochgeladen.
- Storage: Chunks werden in Supabase Storage mit Session-Metadaten in PostgreSQL gespeichert.
- Wiedergabe: Das Dashboard ruft Chunks on-demand ab und verwendet rrweb-player, um die Session zu rekonstruieren.
Heatmap-Erfassung
Heatmaps aggregieren Interaktionsdaten über viele Sessions hinweg:
- Klick-Tracking: Element-Koordinaten und Klickzahlen werden relativ zum Viewport aufgezeichnet.
- Scroll-Tiefe: Maximale Scroll-Positionen werden verfolgt, um Content-Engagement zu zeigen.
- Screenshots: Seiten-Screenshots (max. 2 MB) werden für Overlay-Rendering erfasst.
- Aggregation: Klick- und Scroll-Daten werden über Sessions hinweg für statistische Signifikanz aggregiert.
ML-gestütztes Besucher-Scoring
Jeder Besucher erhält einen Wert-Score (0–100) basierend auf mehreren Faktoren:
- Ländermultiplikatoren: Geografische Kaufkraft (z. B. Schweiz 95, USA 88, Indien 28)
- Gerätesignale: Betriebssystem und Browser korrelieren mit Konversionsraten (macOS 95, iOS 90, Android 45)
- Verhaltensmuster: Session-Dauer, Seitentiefe und Engagement-Metriken
- ML-Verfeinerung: Ein trainiertes Modell passt Scores basierend auf historischen Konversionsdaten an
Geplante Aufgaben
Hintergrundaufgaben halten Daten frisch und Systeme gesund:
- Täglich 00:00 UTC: Analytics-Aggregation, KI-Erkenntnissgenerierung
- Alle 6 Stunden: Cache-Bereinigung, Gesundheitsprüfungen
- Montags 8 Uhr: Wöchentliche Kundenberichte für Agenturen
- Alle 5 Minuten: Uptime-Monitoring-Prüfungen
- Stündlich: Ablaufwarnungen für Abonnements
- Täglich 2 Uhr: Automatisches Schließen inaktiver Support-Tickets