Saltar al contenido principal
6 min de lectura

Extensión de navegador

El Zenovay Analytics Inspector es una WebExtension de Chrome + Firefox que detecta el script de tracking de Zenovay en cualquier página y muestra eventos en vivo en un popup. Es una herramienta de diagnóstico — una alternativa más rápida, dentro del navegador, a abrir las DevTools o el flujo de verificación de instalación del dashboard.

Sin telemetría. La extensión nunca hace llamadas de red a Zenovay. Todo el estado reside en chrome.storage.session y se borra al cerrar el navegador.

Instalación

Chrome Web Store

Próximamente — paquete de envío preparado. Enlazaremos aquí en cuanto sea aprobado.

Firefox Add-ons (AMO)

Próximamente — paquete de envío preparado.

Desde el código fuente (para desarrolladores)

git clone https://github.com/zenovay/extension-zenovay.git
cd extension-zenovay
npm install
npm run build

Después, en Chrome abre chrome://extensions, activa el modo desarrollador (interruptor arriba a la derecha), haz clic en Cargar descomprimida y selecciona el directorio dist/.

En Firefox abre about:debugging#/runtime/this-firefox, haz clic en Cargar complemento temporal y selecciona dist/manifest.json.

Cómo leer la insignia

InsigniaSignificado
(vacía)No se detectó script de tracking de Zenovay en esta página
Ámbar !Script detectado, pero aún no se ha disparado ningún evento
Verde ONScript detectado y disparando eventos
Azul CScript detectado, ejecutándose en modo sin cookies

El estado de la insignia es por pestaña, así que una sola sesión de navegador puede mostrar estados distintos para sitios distintos simultáneamente.

Lo que muestra el popup

Cuando haces clic en la insignia, el popup reporta:

  • Tarjeta de estado — estado de detección actual con un punto pulsante mientras hay eventos en vivo
  • Código de tracking — el ID del proyecto (p. ej. ZV_abc123…)
  • Origen del script — la URL desde la que se carga el tracker
  • Cookieless — si data-cookieless="true" está en la etiqueta script O cookielessMode: true en ZENOVAY_TRACKER_CONFIG
  • GPC — si el usuario tiene Global Privacy Control activado en la configuración del navegador
  • Endpoint de API — a dónde envía eventos el tracker
  • Eventos en vivo — lista desplazable de los últimos 50 eventos (tipo + tiempo relativo)
  • Abrir en el dashboard de Zenovay — deep-link al dashboard correspondiente

Eventos en vivo: Camino A vs Camino B

El tracker de Zenovay solo emite el evento personalizado zenovay:debug:event cuando el sitio establece data-debug="true". Los sitios en producción normalmente no lo hacen.

Camino B (predeterminado). La extensión escucha zenovay:debug:event y vacía window._zenovayDebugBus. En una página en modo debug (o en app.zenovay.com), verás eventos entrando. En un sitio de producción sin modo debug, el popup muestra:

Activa data-debug="true" en la etiqueta script para ver eventos en vivo, o activa la inspección profunda abajo.

Camino A (opt-in). Activa Beta: inspección profunda en el popup. La extensión parchea navigator.sendBeacon y window.fetch para interceptar los POST de eventos hacia la API del tracker. Funciona en cualquier sitio, con dos salvedades:

  1. La extensión puede chocar con otras extensiones que también parcheen llamadas de red.
  2. Los eventos disparados antes de activar el interruptor no se capturan. Si pasan 3 segundos sin eventos, el popup ofrece un Recargar de un clic para capturar la pageview inicial.

Marcamos el Camino A como Beta hasta haber recogido feedback sobre colisiones. Desactívalo si ves comportamiento extraño en algún sitio.

Señales de detección

La extensión examina cinco fuentes, en orden, todas dentro del MAIN world de la página:

  1. Escaneo de etiquetas scriptscript[src*="/z.js"], script[src*="zenovay-tracker"], script[data-id], script[data-tracking-code], script[data-website-id].
  2. Sonda globaltypeof window.zenovay === 'function', consultado hasta 5 segundos a intervalos de 200 ms.
  3. Sonda de configuración — lee window.ZENOVAY_TRACKER_CONFIG si el tracker se cargó vía el endpoint /load (con config inyectada por el dashboard).
  4. Suscripción a eventos — escucha zenovay:debug:event en window.
  5. Drenaje de buffer — toma una instantánea de window._zenovayDebugBus si está presente.

Cualquier señal por sí sola basta para marcar una página como "detectada".

Permisos

PermisoPara qué
activeTabLeer el DOM de la pestaña activa cuando abres el popup
storageCachear los últimos 50 eventos por pestaña en session storage
scriptingInyectar la sonda de detección en el MAIN world de la página
host_permissions: <all_urls>Detectar Zenovay en cualquier sitio que visites

Explícitamente no solicitados: tabs, webRequest, cookies, history, bookmarks, downloads. La extensión no puede leer tus otras pestañas, tu historial ni tus contraseñas guardadas.

Privacidad

El Inspector está construido para honrar la postura cookieless más amplia de Zenovay:

  • Sin llamadas de red — la extensión nunca envía datos a api.zenovay.com ni a ningún otro sitio.
  • Sin cookies — ni la extensión ni su UI escriben cookies. El estado del toggle reside en chrome.storage.local (unos pocos bytes para la preferencia Beta: inspección profunda). Los datos de eventos por pestaña residen en chrome.storage.session, que se limpia al cerrar el navegador.
  • Sin almacenamiento persistente de payloads — los parches del Camino A parsean los cuerpos de eventos solo en memoria.
  • El deep-link es iniciado por el usuario — hacer clic en Abrir en el dashboard de Zenovay es la única acción saliente, y requiere un clic deliberado.

Solución de problemas

La insignia sigue vacía en un sitio que estoy seguro tiene Zenovay

  • Recarga la pestaña con fuerza (Cmd/Ctrl + Mayús + R). La sonda inyectada corre en document_idle; una carga fresca le da una oportunidad limpia.
  • Inspecciona el código fuente buscando patrones script src que coincidan con /z.js, zenovay-tracker o data-id="…". Si no hay ninguno, el script no está realmente cargado.
  • Revisa la CSP del sitio — una directiva script-src estricta podría estar bloqueando el tracker por completo.

La insignia muestra ámbar ! pero espero eventos

Es el Camino B funcionando como se diseñó. El script está cargado pero no emite zenovay:debug:event porque el sitio no tiene data-debug="true". Activa Beta: inspección profunda en el popup y recarga.

La lista de eventos está vacía tras activar la inspección profunda

Si aparece un banner de pista en 3 segundos — haz clic en Recargar. La pageview inicial del tracker se dispara una vez por carga de página; el Camino A solo captura eventos desde el momento en que fue activado.

El indicador cookieless muestra ✗ pero configuré cookieless

data-cookieless="true" debe estar en la propia etiqueta <script>, como cadena "true". Confirma:

<script src="https://api.zenovay.com/z.js" data-id="TU_CÓDIGO" data-cookieless="true"></script>

No data-cookieless (solo presencia) ni data-cookieless="1". El tracker lo lee con una coincidencia estricta de cadena.

Código abierto

La extensión tiene licencia MIT y se desarrolla en abierto en github.com/zenovay/extension-zenovay. Issues y pull requests son bienvenidos.

¿Fue útil esta página?