Sigue esta guía para diagnosticar y solucionar problemas cuando Zenovay no está rastreando visitantes.
Diagnóstico rápido
Comprueba en la consola del navegador
- Abre tu sitio web
- Presiona
F12o clic derecho → Inspeccionar - Ve a la pestaña Consola
- Escribe:
window.zenovay
Resultado esperado: Una función (typeof === 'function') Si no está definido: El script no se está cargando
Comprueba la pestaña Red
- Ve a la pestaña Red
- Recarga la página
- Filtra por "zenovay" o "analytics"
- Busca z.js y llamadas API
Problemas comunes
Problema: El script no se carga
Síntoma: window.zenovay está indefinido
Causas:
- Falta la etiqueta de script o es incorrecta
- El bloqueador de anuncios bloquea el script
- La Política de Seguridad de Contenido (CSP) bloquea
- Error al cargar el script
Soluciones:
Comprueba tu etiqueta de script:
<!-- Formato correcto -->
<script
defer
data-tracking-code="YOUR_TRACKING_CODE"
src="https://api.zenovay.com/z.js">
</script>
Errores comunes:
<!-- Incorrecto: Falta el ID del sitio web -->
<script src="https://api.zenovay.com/z.js"></script>
<!-- Incorrecto: Error tipográfico en la URL -->
<script src="https://api.zennovay.com/z.js"></script>
<!-- Incorrecto: Falta la etiqueta de cierre -->
<script src="https://api.zenovay.com/z.js">
Problema: Interferencia del bloqueador de anuncios
Síntoma: El script se carga para ti pero no para todos los visitantes
Prueba:
- Desactiva tu bloqueador de anuncios
- Recarga la página
- Comprueba si el seguimiento funciona
Soluciones:
Autoalojamiento del script:
# Descargar el script
curl -o zenovay.js https://api.zenovay.com/z.js
# Alojar en tu dominio
# Luego usa:
<script src="/js/zenovay.js" data-tracking-code="YOUR_TRACKING_CODE"></script>
El autoalojamiento del script desde tu propio origen generalmente no es bloqueado por bloqueadores de anuncios. Si lo autoalojas, mantén el archivo actualizado para obtener correcciones y nuevas características.
Problema: La Política de Seguridad de Contenido bloquea
Síntoma: La consola muestra un error de violación de CSP
Ejemplo de error:
Refused to load the script 'https://api.zenovay.com/z.js'
because it violates the Content-Security-Policy directive
Solución:
Actualiza tu encabezado CSP:
Content-Security-Policy:
script-src 'self' https://api.zenovay.com;
connect-src 'self' https://api.zenovay.com;
Problema: ID de sitio web incorrecto
Síntoma: Sin datos en el panel
Comprueba:
- Abre Domains y selecciona tu sitio web
- Abre Settings → General para ver el fragmento de instalación para ese sitio
- Compara el valor
data-tracking-codeen el fragmento con el de tu página en vivo
Los códigos deben coincidir exactamente:
<script data-tracking-code="abc123-def456-ghi789"></script>
Problema: El script se carga después de que el visitante se va
Síntoma: Baja cantidad de vistas de página
Causa: Script en posición incorrecta o carga lenta
Solución: Coloca el script en <head> con defer:
<head>
<script
defer
data-tracking-code="YOUR_TRACKING_CODE"
src="https://api.zenovay.com/z.js">
</script>
</head>
Problema: La aplicación monopágina no rastrea cambios de página
Síntoma: Solo se registra la vista de página inicial
Causa: Las aplicaciones monopágina no desencadenan recargas completas
Cómo Zenovay lo maneja: El rastreador detecta automáticamente cambios de ruta del lado del cliente. Parcha history.pushState / history.replaceState y escucha popstate y pageshow, así que las navegaciones en React Router, Vue Router, Next.js y marcos similares se registran sin código adicional.
Si solo ves la primera vista de página, asegúrate de que:
- El script se carga una sola vez, cerca de la parte superior de tu aplicación (en
<head>condefer) y no se elimina al cambiar de ruta - Tu enrutador realmente actualiza la URL a través de la API de historial (la mayoría lo hace)
Vistas de página manuales (opcional): Si tu aplicación cambia la "página" visible sin cambiar la URL, puedes registrar una vista de página manualmente:
if (window.zenovay) {
window.zenovay('page');
}
Solo haz esto para navegaciones que el rastreador no pueda ver por sí solo – llamarlo en cada cambio de ruta además del rastreo automático contará duplicadamente las vistas.
Problema: Localhost/Desarrollo no rastrea
Síntoma: Funciona en producción, no localmente
Causa: El rastreador bloquea nombres de host localhost, 127.0.0.1 y *.local por defecto para que tu tráfico de desarrollo no contamine los datos de producción.
Para permitir el rastreo en localhost, agrega data-allow-localhost="true" a la etiqueta de script:
<script
defer
data-tracking-code="YOUR_TRACKING_CODE"
data-allow-localhost="true"
src="https://api.zenovay.com/z.js">
</script>
También puedes activarlo por sitio en el panel: abre Domains, selecciona tu sitio web, luego Settings → General y activa la opción localhost / debug.
Para ver qué está haciendo el rastreador, activa el registro de depuración con data-debug="true" (o agrega ?zenovay_debug=true a la URL de la página):
<script
defer
data-tracking-code="YOUR_TRACKING_CODE"
data-debug="true"
src="https://api.zenovay.com/z.js">
</script>
Problema: Falta de coincidencia HTTPS/HTTP
Síntoma: El script se bloquea en sitios HTTPS
Causa: Cargar script HTTP en página HTTPS
Solución: Siempre usa HTTPS:
<!-- Correcto -->
<script src="https://api.zenovay.com/z.js"></script>
<!-- Incorrecto en sitios HTTPS -->
<script src="http://api.zenovay.com/z.js"></script>
Modo de depuración
Activa el registro detallado agregando data-debug="true" al script:
<script
defer
data-tracking-code="YOUR_TRACKING_CODE"
data-debug="true"
src="https://api.zenovay.com/z.js">
</script>
También puedes activarlo en cualquier página sin cambiar el fragmento agregando ?zenovay_debug=true a la URL.
Comprueba la consola para:
- Inicialización del script
- Eventos de vista de página
- Respuestas API
- Mensajes de error
Prueba de rastreo
Prueba manual
// En consola del navegador
if (window.zenovay) {
window.zenovay('track', 'test_event', { test: true });
console.log('Event sent!');
} else {
console.log('Zenovay not loaded');
}
Verifica en tiempo real
- Abre Domains, selecciona tu sitio web y ve a la pestaña Live View
- Visita tu sitio en otra pestaña
- Deberías aparecer en segundos
Problemas de renderizado del lado del servidor
Next.js
// Solo cargar en el 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 // Cargar al final del cuerpo
}
]
}
}
Problemas de WordPress
Zenovay no proporciona un plugin oficial de WordPress – agregas el script de rastreo manualmente (en el header.php de tu tema, a través de una acción wp_head en functions.php, o con un plugin "scripts de encabezado/pie"). Ve Agregar Zenovay a WordPress para el código exacto.
El script no se carga
Comprueba:
- El fragmento de rastreo está realmente presente en el código fuente de la página (ver fuente, buscar
z.js) - El valor
data-tracking-codecoincide con el de tu panel - El caché se limpió después de editar el tema o el fragmento
Conflictos del complemento de caché
Excluye Zenovay de la optimización:
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 verificación
- Etiqueta de script presente en el código fuente de la página
- ID del sitio web correcto
- Sin errores de consola
- La solicitud de red es exitosa (estado 200)
- No bloqueado por bloqueador de anuncios
- CSP permite dominio de análisis
- Dominio correcto en la configuración del panel
- Vista en tiempo real muestra visitas
¿Aún no funciona?
Recopila información
Antes de contactar al soporte:
- La URL de tu sitio web
- Errores de consola del navegador
- Capturas de pantalla de la pestaña Red
- ID del sitio web (parcial)
- Cuándo dejó de funcionar
Contacta al soporte
Envía un correo a [email protected] con:
- Asunto: "Tracking Not Working"
- Información recopilada arriba
- Pasos que ya has intentado