Entender cómo fluyen los datos a través de Zenovay —desde la primera vista de página de un visitante hasta las perspectivas en el tablero— le ayuda a construir y depurar de manera efectiva.
Flujo de seguimiento de eventos
Cuando un visitante llega a un sitio web monitoreado, esto es lo que sucede:
- El script se carga: Nuestro rastreador ligero (<5KB) se inicializa y genera un ID de visitante (almacenado por 365 días) y un ID de sesión (tiempo de espera de 30 minutos).
- Se activa la vista de página: Se recopilan datos básicos —URL, referido, tamaño de ventana, agente de usuario— y se envían a nuestra API.
- Geolocalización: Cloudflare proporciona el país y la región desde el encabezado CF-Connecting-IP. Sin geolocalización del lado del cliente.
- Procesamiento: Los eventos se validan, se enriquecen con detección de dispositivos y se almacenan en Supabase.
- Actualización en tiempo real: Los suscriptores del tablero reciben los nuevos datos a través de los canales en tiempo real de Supabase.
Tiempo real vs. agregado
Equilibramos la capacidad de respuesta en tiempo real con el rendimiento de las consultas:
- Tiempo real: Los conteos de visitantes en vivo, las sesiones activas y los eventos recientes se sirven directamente desde las tablas sin procesar.
- Agregado: Los gráficos históricos e informes consultan las agregaciones diarias precalculadas para mayor velocidad.
- Trabajos cron: La agregación diaria se ejecuta a las 00:00 UTC, consolidando los eventos del día anterior.
Grabación de reproducción de sesiones
La reproducción de sesiones usa la librería rrweb para capturar cambios del DOM:
- Grabación: rrweb observa mutaciones del DOM, movimientos del ratón, desplazamientos y entradas (con datos sensibles enmascarados).
- Fragmentación: Los eventos se agrupan en fragmentos (máx. 10MB comprimidos) y se cargan a la API.
- Almacenamiento: Los fragmentos se almacenan en Supabase Storage con metadatos de sesión en PostgreSQL.
- Reproducción: El tablero obtiene fragmentos bajo demanda y usa rrweb-player para reconstruir la sesión.
Recopilación de mapas de calor
Los mapas de calor agregan datos de interacción de muchas sesiones:
- Seguimiento de clics: Las coordenadas de elementos y los conteos de clics se registran en relación con la ventana.
- Profundidad de desplazamiento: Se rastrean las posiciones máximas de desplazamiento para mostrar el compromiso con el contenido.
- Capturas de pantalla: Las capturas de pantalla de páginas (máx. 2MB) se capturan para la representación superpuesta.
- Agregación: Los datos de clics y desplazamiento se agregan entre sesiones para obtener significación estadística.
Puntuación de visitantes por aprendizaje automático
Cada visitante recibe una puntuación de valor (0-100) basada en múltiples factores:
- Multiplicadores de país: Poder adquisitivo geográfico (por ejemplo, Suiza 95, EE. UU. 88, India 28)
- Señales del dispositivo: El sistema operativo y el navegador se correlacionan con las tasas de conversión (macOS 95, iOS 90, Android 45)
- Patrones de comportamiento: Duración de la sesión, profundidad de página y métricas de compromiso
- Refinamiento por ML: Un modelo entrenado ajusta las puntuaciones basándose en datos históricos de conversión
Tareas programadas
Los trabajos en segundo plano mantienen los datos actualizados y los sistemas saludables:
- Diariamente a las 00:00 UTC: Agregación de analíticas, generación de perspectivas de IA
- Cada 6 horas: Limpieza de caché, verificaciones de salud
- Lunes a las 8 AM: Informes semanales de clientes para agencias
- Cada 5 minutos: Verificaciones de monitoreo de disponibilidad
- Cada hora: Advertencias de expiración de suscripción
- Diariamente a las 2 AM: Cierre automático de tickets de soporte inactivos