Ir al contenido principal
Zenovay
Gratis5 minutesPrincipiante

Eventos personalizados: ¿cómo envío un evento personalizado desde JavaScript?

Usa la función global window.zenovay() para enviar un evento con nombre y propiedades opcionales. Aquí está la API y algunos patrones comunes.

custom-eventsjavascripttracker-api
Última actualización:

Una vez que el tracker de Zenovay está cargado en tu página, expone una función global window.zenovay(). Usa una API de estilo comando: el primer argumento es el comando ('track', 'identify', 'goal', 'revenue', …), seguido por argumentos específicos del comando. Usa el comando track para registrar cualquier cosa que no sea un pageview — clics, envíos de formularios, eventos de negocio.

La llamada más simple

window.zenovay('track', 'cta_clicked');

Eso envía un único evento sin propiedades. Aparecerá en la pestaña Analytics de tu dashboard en ~30 segundos.

Con propiedades

window.zenovay('track', 'cta_clicked', {
  cta_label: 'Iniciar prueba gratuita',
  page_section: 'hero',
  variant: 'B'
});

Los valores de propiedad pueden ser strings, números o booleanos. Los objetos anidados y arrays no están soportados — aplánalos en el sitio de llamada.

Eventos de revenue

Para compras, usa el comando dedicado revenue. Toma el monto y la moneda directamente:

window.zenovay('revenue', 29.00, 'USD');

Esto registra una conversión de revenue que rellena tu pestaña Revenue. Si omites la moneda, la predeterminada es USD.

Si prefieres adjuntar contexto adicional, también puedes disparar un evento ordinario e incluir el monto y la moneda como propiedades:

window.zenovay('track', 'purchase', {
  revenue: 29.00,
  currency: 'USD',
  product_id: 'pro-annual'
});

Identificar a un usuario

Cuando un visitante inicia sesión, vincula la sesión a su cuenta con el comando identify:

window.zenovay('identify', 'user_42', {
  email: '[email protected]',
  plan: 'pro'
});

También puedes pasar un solo objeto si lo prefieres:

window.zenovay('identify', {
  user_id: 'user_42',
  email: '[email protected]',
  plan: 'pro'
});

Después de esta llamada, el perfil del visitante se almacena y los eventos posteriores se asocian con esa identidad.

Convenciones de nombrado de propiedades

Usa snake_case (page_section, no pageSection). El dashboard agrupa propiedades alfabéticamente — un nombrado consistente facilita los filtros.

El tracker ya captura automáticamente el contexto como URL, referente, tamaño de pantalla, navegador, SO y ubicación aproximada, así que no necesitas enviarlos tú mismo.

Límites por plan

Los eventos personalizados cuentan contra tu cuota mensual de eventos:

PlanEventos mensuales
Free10.000
Pro100.000
Scale1.000.000
EnterprisePersonalizado

Errores comunes

  • Llamar antes de que el tracker se cargue — envuelve las llamadas en una comprobación if (window.zenovay), o ponlas en cola antes de que se ejecute el script. El tracker repite cualquier cosa que envíes a window.zenovay.q: window.zenovay = window.zenovay || function(){(window.zenovay.q = window.zenovay.q || []).push(arguments)}; window.zenovay('track', 'cta_clicked').
  • Enviar PII como propiedad — emails, nombres y números de teléfono no deben enviarse como propiedades de eventos personalizados. Usa el comando identify para datos de cuenta en su lugar.
  • Modo cookieless + identify() — en modo cookieless, la llamada identify sigue funcionando para la página actual, pero el vínculo se reinicia en la siguiente carga de página (sin almacenamiento persistente).

Lecturas relacionadas

¿Fue útil este artículo?