O Plopino, um sistema para compartilhar arquivos HTML por link, registra visitas, prévias de links e falhas de analytics de maneira diferenciada para evitar confusões e garantir precisão. Este guia analítico detalha três decisões do código atual e seus limites.

Diário de desenvolvimento: separar visitas, prévias de links e falhas de analytics

1. Separar Pageview de Abertura de Conteúdo

O script do Umami é usado nas páginas do produto, enquanto o conteúdo HTML enviado pelo usuário é servido sem o tracker. Para a segunda superfície, o servidor emite um evento chamado board-view. A regra mantida é que o servidor não emite um pageview para essa abertura. No relatório, não somos contabilizados como visitantes únicos. São sinais de superfícies diferentes, com limitações diferentes.

Regras do Servidor

  • Respostas de 2xx e 304 são contabilizadas
  • Respostas de 404 são descartadas
  • Recursos que não são páginas são ignorados
  • Falhas de HTTP não OK e exceções são registradas

2. Um GET pode ser Só uma Prévia de Link

Quando o contador sai do navegador e vai para o servidor, entram requisições de robôs, prévias de mensagens e ferramentas de diagnóstico. O filtro atual reconhece assinaturas de User-Agent e descarta UA vazia. Há um caso explícito para sondas do Globalping, além de ferramentas como curl.

Heurística de Filtragem

  • Filtragem baseada em User-Agent
  • Exclusão de dados de robôs legítimos
  • Consideração de sequência de uso

3. O Upload Não Deve Esperar pelo Analytics

O envio de eventos fica fora da espera da resposta principal. Escrever apenas "void sendEvent()" não trata uma rejeição. A função chamada precisa absorver a falha esperada. Este trecho reduzido mostra o padrão usado no reporter, omitindo montagem do payload e filtros.

Estratégia de Envio

  • Envio de eventos é best effort
  • Não há fila durável nem confirmação de processamento do evento
  • Eventos podem ser perdidos

Conclusão

A lição que levo para outros projetos é escrever primeiro o que cada contador significa e só então decidir onde coletá-lo. A precisão e a clareza na implementação de analytics são fundamentais para a confiabilidade do sistema.

FalhasLinksSepararVisitasDesenvolvimento