Siga este guia para diagnosticar e corrigir problemas quando o Zenovay não está rastreando visitantes.
Diagnóstico rápido
Verifique no console do navegador
- Abra seu site
- Pressione
F12ou clique com o botão direito → Inspecionar - Vá para a aba Console
- Digite:
window.zenovay
Resultado esperado: Uma função (typeof === 'function') Se indefinido: Script não está carregando
Verifique a aba Rede
- Vá para a aba Rede
- Recarregue a página
- Filtre por "zenovay" ou "analytics"
- Procure por z.js e chamadas de API
Problemas comuns
Problema: Script não carrega
Sintoma: window.zenovay está indefinido
Causas:
- Tag de script ausente ou incorreta
- Bloqueador de anúncios bloqueando o script
- Content Security Policy (CSP) bloqueando
- Erro ao carregar o script
Soluções:
Verifique sua tag de script:
<!-- Formato correto -->
<script
defer
data-tracking-code="YOUR_TRACKING_CODE"
src="https://api.zenovay.com/z.js">
</script>
Erros comuns:
<!-- Errado: ID do site faltando -->
<script src="https://api.zenovay.com/z.js"></script>
<!-- Errado: Erro de digitação na URL -->
<script src="https://api.zennovay.com/z.js"></script>
<!-- Errado: Tag de fechamento faltando -->
<script src="https://api.zenovay.com/z.js">
Problema: Interferência do bloqueador de anúncios
Sintoma: Script carrega para você mas não para todos os visitantes
Teste:
- Desative seu bloqueador de anúncios
- Recarregue a página
- Verifique se o rastreamento funciona
Soluções:
Auto-hospedagem do script:
# Baixar script
curl -o zenovay.js https://api.zenovay.com/z.js
# Hospedar no seu domínio
# Depois use:
<script src="/js/zenovay.js" data-tracking-code="YOUR_TRACKING_CODE"></script>
Auto-hospedagem do script a partir de sua própria origem geralmente não é bloqueada por bloqueadores de anúncios. Se você auto-hospedar, mantenha o arquivo atualizado para obter correções e novos recursos.
Problema: Content Security Policy bloqueando
Sintoma: Console mostra erro de violação de CSP
Exemplo de erro:
Refused to load the script 'https://api.zenovay.com/z.js'
because it violates the Content-Security-Policy directive
Solução:
Atualize seu cabeçalho CSP:
Content-Security-Policy:
script-src 'self' https://api.zenovay.com;
connect-src 'self' https://api.zenovay.com;
Problema: ID do site incorreto
Sintoma: Sem dados no painel
Verifique:
- Abra Domains e selecione seu site
- Abra Settings → General para ver o snippet de instalação para aquele site
- Compare o valor
data-tracking-codeno snippet com o da sua página em produção
Os códigos devem ser exatamente iguais:
<script data-tracking-code="abc123-def456-ghi789"></script>
Problema: Script carrega após o visitante sair
Sintoma: Baixa contagem de visualizações de página
Causa: Script em posição errada ou carregamento lento
Solução: Coloque o script em <head> com defer:
<head>
<script
defer
data-tracking-code="YOUR_TRACKING_CODE"
src="https://api.zenovay.com/z.js">
</script>
</head>
Problema: SPA não rastreia mudanças de página
Sintoma: Apenas a visualização de página inicial é registrada
Causa: Aplicativos de página única não acionam recarrgas completas
Como Zenovay lida com isso: O rastreador detecta automaticamente mudanças de rota no lado do cliente. Ele corrige history.pushState / history.replaceState e escuta popstate e pageshow, portanto as navegações em React Router, Vue Router, Next.js e frameworks similares são registradas sem código adicional.
Se você está vendo apenas a primeira visualização de página, verifique se:
- O script é carregado uma vez, perto do topo de seu aplicativo (em
<head>comdefer) e não é removido ao mudar de rota - Seu roteador realmente atualiza a URL através da API de Histórico (a maioria faz)
Visualizações de página manuais (opcional): Se seu aplicativo muda a "página" visível sem mudar a URL, você pode registrar uma visualização de página manualmente:
if (window.zenovay) {
window.zenovay('page');
}
Faça isso apenas para navegações que o rastreador não consegue ver por conta própria – chamar isso em cada mudança de rota além do rastreamento automático contará as visualizações em duplicata.
Problema: Localhost/Desenvolvimento não rastreia
Sintoma: Funciona em produção, não localmente
Causa: O rastreador bloqueia nomes de host localhost, 127.0.0.1 e *.local por padrão para que seu tráfego de desenvolvimento não polua dados de produção.
Para permitir rastreamento no localhost, adicione data-allow-localhost="true" à tag de script:
<script
defer
data-tracking-code="YOUR_TRACKING_CODE"
data-allow-localhost="true"
src="https://api.zenovay.com/z.js">
</script>
Você também pode ativar isso por site no painel: abra Domains, selecione seu site, então Settings → General e ative a opção localhost / debug.
Para ver o que o rastreador está fazendo, ative logging de depuração com data-debug="true" (ou adicione ?zenovay_debug=true à URL da página):
<script
defer
data-tracking-code="YOUR_TRACKING_CODE"
data-debug="true"
src="https://api.zenovay.com/z.js">
</script>
Problema: Incompatibilidade HTTPS/HTTP
Sintoma: Script bloqueado em sites HTTPS
Causa: Carregando script HTTP em página HTTPS
Solução: Sempre use HTTPS:
<!-- Correto -->
<script src="https://api.zenovay.com/z.js"></script>
<!-- Errado em sites HTTPS -->
<script src="http://api.zenovay.com/z.js"></script>
Modo de depuração
Ative logging detalhado adicionando data-debug="true" ao script:
<script
defer
data-tracking-code="YOUR_TRACKING_CODE"
data-debug="true"
src="https://api.zenovay.com/z.js">
</script>
Você também pode ativá-lo em qualquer página sem alterar o snippet adicionando ?zenovay_debug=true à URL.
Verifique o console para:
- Inicialização do script
- Eventos de visualização de página
- Respostas de API
- Mensagens de erro
Testando rastreamento
Teste manual
// No console do navegador
if (window.zenovay) {
window.zenovay('track', 'test_event', { test: true });
console.log('Event sent!');
} else {
console.log('Zenovay not loaded');
}
Verifique em tempo real
- Abra Domains, selecione seu site e vá para a aba Live View
- Visite seu site em outra aba
- Você deve aparecer em segundos
Problemas de renderização no lado do servidor
Next.js
// Carregar apenas no cliente
import dynamic from 'next/dynamic';
const Analytics = dynamic(() => import('./Analytics'), {
ssr: false
});
Nuxt.js
// nuxt.config.js
export default {
head: {
script: [
{
src: 'https://api.zenovay.com/z.js',
'data-tracking-code': 'YOUR_ID',
defer: true,
body: true // Carregar no final do corpo
}
]
}
}
Problemas com WordPress
Zenovay não fornece um plugin oficial do WordPress – você adiciona o script de rastreamento manualmente (no header.php do seu tema, através de uma ação wp_head em functions.php, ou com um plugin "scripts de cabeçalho/rodapé"). Veja Adicionar Zenovay ao WordPress para o código exato.
Script não carrega
Verifique:
- O snippet de rastreamento está realmente presente no código-fonte da página (ver código-fonte, procurar por
z.js) - O valor
data-tracking-codecorresponde ao do seu painel - O cache foi limpo após editar o tema ou snippet
Conflitos do plugin de cache
Exclua Zenovay da otimização:
WP Rocket:
Settings → File Optimization → Exclude External:
api.zenovay.com
W3 Total Cache:
Performance → Minify → JS Minify Settings → Never minify:
api.zenovay.com/z.js
Lista de verificação
- Tag de script presente no código-fonte da página
- ID do site correto
- Sem erros de console
- Requisição de rede bem-sucedida (status 200)
- Não bloqueado por bloqueador de anúncios
- CSP permite domínio de análise
- Domínio correto nas configurações do painel
- Visualização em tempo real mostra visitas
Ainda não funciona?
Reunir informações
Antes de contatar o suporte:
- A URL do seu site
- Erros de console do navegador
- Capturas de tela da aba Rede
- ID do site (parcial)
- Quando parou de funcionar
Contatar suporte
Envie um e-mail para [email protected] com:
- Assunto: "Tracking Not Working"
- Informações reunidas acima
- Passos que você já tentou