Como um tracker de analytics de 2 KB mantém seus Core Web Vitals no verde
Scripts de analytics tradicionais são pesados o suficiente para mexer na sua pontuação do Lighthouse. Veja o que um tracker leve faz diferente — e por que isso importa para usuários reais.
Os Core Web Vitals são agora um sinal de ranqueamento. Um script de analytics lento não é mais apenas um inconveniente — é um impacto direto no seu SEO e na experiência de cada visitante em uma conexão lenta. A ironia de medir o tráfego do seu site com um script que o deixa mais lento é real.
O custo dos scripts de analytics tradicionais
A tag global do Google Analytics 4 tem aproximadamente 45 KB transferidos. Ela faz várias requisições de rede ao carregar — para collect.js, para o Measurement Protocol e, às vezes, para scripts de recursos adicionais. Em um dispositivo móvel com conexão 4G, isso é um atraso mensurável antes que sua página seja interativa.
O impacto aparece de três formas. Primeiro, a requisição do script compete com seu conteúdo pela largura de banda da rede. Segundo, qualquer execução síncrona bloqueia a thread principal. Terceiro, cada evento de analytics subsequente (início de sessão, page_view, engajamento) dispara requisições de saída adicionais.
Como um tracker leve muda o cenário
O tracker do Monoid tem menos de 2 KB minificado e comprimido. Ele carrega com um atributo async simples, o que significa que o navegador o baixa em segundo plano sem bloquear o parsing ou a renderização do HTML. O Largest Contentful Paint não é afetado porque o script nunca fica no caminho crítico de renderização.
Quando um pageview é disparado, o tracker envia um único POST para o endpoint de coleta:
fetch('/collect', {
method: 'POST',
keepalive: true,
body: JSON.stringify({ site_id, path, referrer, ... })
})
O flag keepalive: true é o detalhe-chave. Ele instrui o navegador a manter a requisição ativa mesmo se o usuário navegar antes que ela seja concluída — o mesmo mecanismo que a API navigator.sendBeacon usa, mas com suporte completo a JSON. Você tem entrega confiável sem bloquear a navegação.
Os três Core Web Vitals, um a um
Largest Contentful Paint (LCP) mede quando o conteúdo principal está visível. Um script async que não está no caminho crítico não atrasa o LCP de forma alguma. O tracker não manipula o DOM e não carrega nenhuma imagem.
Interaction to Next Paint (INP) mede a responsividade às interações do usuário. Os event listeners do tracker são somente leitura e leves — um único listener popstate para navegação em SPAs. Sem tarefas longas, sem layout thrashing.
Cumulative Layout Shift (CLS) mede mudanças inesperadas de layout. O tracker não adiciona nenhum elemento ao DOM, então contribui com zero layout shift.
Rodando uma auditoria do Lighthouse
Se você quiser quantificar a diferença, rode uma auditoria do Lighthouse em uma página antes e depois de adicionar o tracker. Você não deve ver nenhuma mudança na pontuação de Performance. O tracker aparecerá no waterfall de rede como um script async de carregamento tardio — pequeno, rápido e fora do caminho crítico.
Compare isso com uma auditoria do GA4, onde o Lighthouse frequentemente sinaliza a tag de analytics em "Reduza o impacto de código de terceiros" e relata um tempo de bloqueio de thread.
Performance também é um argumento de privacidade
Há uma conexão entre o peso do script e a privacidade que vale a pena declarar claramente: scripts de analytics pesados são pesados porque fazem mais. Mais rastreamento, mais identificação de dispositivos, mais perfilamento comportamental. O tracker de 2 KB é pequeno porque só coleta o necessário — um punhado de sinais não pessoais por pageview.
Escolher analytics leve não é um trade-off entre performance e insight. É reconhecer que o peso extra nas ferramentas tradicionais vem de coleta de dados que você provavelmente não pediu. Família ampla de navegador e tipo de dispositivo são derivados no servidor a partir do User-Agent da requisição; User-Agent completos, versões de navegador, cookies, identificadores persistentes e fingerprints de dispositivo nunca são armazenados.