Skip to main content
Todos los eventos que envías al seguimiento de conversiones de Scanova, vengan del navegador o de tu servidor, comparten la misma estructura. Esta página documenta todos los campos que puedes incluir y explica qué hace con ellos el sistema de seguimiento.

Eventos del navegador (POST /ct)

Los eventos del navegador los envía el SDK automáticamente, o tú a mano con scanova('track', ...). Representan acciones que ocurren en el navegador del visitante.

Campos que puedes enviar

Campos del objeto device:

Ejemplo de contenido de un evento del navegador


Eventos de servidor (POST /server-events)

Los eventos de servidor se envían desde tu backend con una clave de API. Representan acciones que ocurren en tu servidor, como compras completadas, registros confirmados o leads creados en tu CRM.

Campos que puedes enviar

Campos del objeto user_identifiers (todos con hash):

Ejemplo de contenido de un evento de servidor


Convenciones para nombrar eventos

Usa nombres coherentes y descriptivos en snake_case. Un esquema claro hace que los informes se lean mejor.

Idempotencia

Tanto los eventos del navegador como los de servidor admiten un campo event_id para la deduplicación:
  • Si el mismo event_id llega más de una vez, el duplicado se guarda pero se marca con is_duplicate = 1
  • Los duplicados quedan fuera de las vistas analíticas de forma automática
  • Reutiliza siempre el mismo event_id al reintentar un evento de servidor fallido

Privacidad y RGPD

  • Nunca envíes direcciones de correo en texto plano en metadata ni en properties. Usa user_identifiers con valores con hash.
  • El campo consent controla el tratamiento de los datos personales en el sistema:
    • granted: todos los campos se guardan con normalidad
    • denied o pending: page_url, referrer, city y metadata se eliminan antes de guardar
    • El propio valor de consent se guarda siempre como registro de auditoría

Enviar el consentimiento desde el navegador

El SDK del navegador no trae una API de consentimiento integrada. Lo recomendable es cargar el SDK solo si procede, según lo que decida tu plataforma de gestión del consentimiento:

Enviar el consentimiento desde el servidor

En los eventos de servidor, envía el valor de consent directamente en el contenido de cada petición, junto al resto de campos.