Zum Hauptinhalt springen

Datenpipeline

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