Sintaxis
event_name: una cadena que describe la acción. Usasnake_case.metadata: un objeto opcional con los datos clave-valor que quieras. Máximo 10 KB.
scanova('track', ...) en cualquier momento después de scanova('init', ...): desde escuchadores de eventos, callbacks asíncronos o cualquier otro contexto JavaScript.
En la petición, el SDK envía cada evento personalizado con
event_type igual a custom y tu nombre en un campo event_name de nivel superior, no dentro de metadata. Esto difiere de llamar directamente a POST /ct, donde es event_type quien lleva el nombre semántico. Consulta la referencia del modelo de eventos.Ejemplos
Clic en un botón
Registrar cuándo alguien hace clic en una llamada a la acción concreta:Registro completado
Envíalo cuando el envío de tu formulario de registro se confirme en el cliente:Para confirmaciones de compra o registro que ocurren en el servidor, usa los eventos de servidor. Son más fiables y las extensiones del navegador no pueden bloquearlos.
Interacción con vídeo
Interacción con productos
Interacción con pestañas o acordeones
Clic en un enlace externo
Elegir entre eventos personalizados y registro automático
Puedes combinar ambos:
autoClicks: true más eventos personalizados selectivos para las acciones de más valor.
Event naming best practices
- Use
snake_case:cta_click, notctaClickorCTAClick - Be specific enough to be self-explanatory in reports:
signup_completedis better thancompleted - Be consistent: pick one name and stick to it. Changing event names later fragments your historical data
- Do not include user-identifying information in the event name
Metadata best practices
- Keep metadata flat where possible — deeply nested objects are harder to query
- Max object size: 10 KB
- Max nesting depth: 5 levels
- Never include raw email addresses, phone numbers, or other PII — use server events with
user_identifiersfor that - Use stable keys — changing key names later fragments your data
When to use server events instead
Use Server-Side Events rather than custom browser events when:- The action happens on your server (payment confirmation, CRM creation, email verification)
- You need to pass a conversion value (order total, subscription price)
- You want to include hashed user identifiers for identity matching
- You need guaranteed delivery (server events cannot be blocked by ad blockers)