Entender como os dados fluem pelo Zenovay — da primeira visualização de página de um visitante aos insights no dashboard — ajuda você a construir e depurar de forma eficaz.
Fluxo de Rastreamento de Eventos
Quando um visitante chega a um site rastreado, aqui está o que acontece:
- Script carrega: Nosso rastreador leve (<5KB) inicializa e gera um ID de visitante (armazenado por 365 dias) e ID de sessão (timeout de 30 minutos).
- Visualização de página dispara: Dados básicos são coletados — URL, referrer, tamanho do viewport, user agent — e enviados para nossa API.
- Geolocalização: A Cloudflare fornece país e região a partir do header CF-Connecting-IP. Sem geolocalização no lado do cliente.
- Processamento: Os eventos são validados, enriquecidos com detecção de dispositivo e armazenados no Supabase.
- Atualização em tempo real: Os assinantes do dashboard recebem os novos dados via canais em tempo real do Supabase.
Tempo Real vs Agregado
Equilibramos responsividade em tempo real com desempenho de consulta:
- Tempo real: Contagens de visitantes ao vivo, sessões ativas e eventos recentes são servidos diretamente de tabelas brutas.
- Agregado: Gráficos históricos e relatórios consultam agregações diárias pré-computadas para velocidade.
- Cron jobs: A agregação diária roda às 00:00 UTC, consolidando os eventos do dia anterior.
Gravação de Replay de Sessão
O replay de sessão usa a biblioteca rrweb para capturar mudanças no DOM:
- Gravação: O rrweb observa mutações de DOM, movimentos de mouse, rolagens e entradas (com dados sensíveis mascarados).
- Chunking: Os eventos são agrupados em chunks (máx. 10MB comprimidos) e enviados para a API.
- Armazenamento: Os chunks são armazenados no Supabase Storage com metadados de sessão no PostgreSQL.
- Reprodução: O dashboard busca chunks sob demanda e usa o rrweb-player para reconstruir a sessão.
Coleta de Heatmap
Os heatmaps agregam dados de interação em muitas sessões:
- Rastreamento de cliques: As coordenadas de elementos e contagens de cliques são registradas em relação ao viewport.
- Profundidade de rolagem: As posições máximas de rolagem são rastreadas para mostrar engajamento com o conteúdo.
- Capturas de tela: Capturas de tela de páginas (máx. 2MB) são capturadas para renderização de sobreposição.
- Agregação: Os dados de clique e rolagem são agregados entre sessões para significância estatística.
Pontuação de Visitantes com ML
Cada visitante recebe uma pontuação de valor (0-100) com base em múltiplos fatores:
- Multiplicadores de país: Poder de compra geográfico (ex.: Suíça 95, EUA 88, Índia 28)
- Sinais de dispositivo: SO e navegador correlacionam com taxas de conversão (macOS 95, iOS 90, Android 45)
- Padrões comportamentais: Duração da sessão, profundidade de página e métricas de engajamento
- Refinamento com ML: Um modelo treinado ajusta pontuações com base em dados históricos de conversão
Tarefas Agendadas
Jobs em segundo plano mantêm os dados atualizados e os sistemas saudáveis:
- Diário 00:00 UTC: Agregação de análises, geração de insights de IA
- A cada 6 horas: Limpeza de cache, verificações de saúde
- Segundas 8h: Relatórios semanais de clientes para agências
- A cada 5 minutos: Verificações de monitoramento de uptime
- De hora em hora: Avisos de expiração de assinatura
- Diário 2h: Fechamento automático de tickets de suporte inativos