General
¿Necesito eventos del navegador y de servidor a la vez?
No: puedes usar solo uno de los dos. Los eventos del navegador no requieren nada en el backend y son la forma más rápida de empezar. Los de servidor necesitan una clave de API y código en tu backend, pero son más fiables (los bloqueadores de anuncios no los afectan) y permiten informar de ingresos y de conversiones del servidor. La mayoría de las implantaciones usan ambos: el SDK del navegador para los datos de interacción y los eventos de servidor para las conversiones confirmadas.¿Puedo medir conversiones sin un escaneo de código QR?
No. El SDK del navegador necesita unscan_session_id para enviar cualquier evento: si alguien llega a tu web sin escanear un código QR, el SDK detecta que falta la sesión y no envía nada. La API de eventos de servidor también exige scan_session_id como campo obligatorio.
El seguimiento de conversiones de Scanova está pensado específicamente para medir lo atribuido a escaneos de códigos QR. No funciona como una herramienta de analítica web de uso general.
SDK del navegador
¿Qué navegadores admite el SDK?
El SDK funciona en todos los navegadores modernos: Chrome, Firefox, Safari, Edge y sus versiones móviles. No necesita más funciones del navegador queXMLHttpRequest o fetch y localStorage.
¿Pueden bloquear el SDK los bloqueadores de anuncios?
Sí: los bloqueadores centrados en la privacidad y algunas extensiones pueden bloquear los eventos del navegador enviados desdet.scanova.io. Para las conversiones importantes (compras, registros), usa eventos de servidor, que no se pueden bloquear.
¿El SDK afecta al rendimiento de mi página?
El SDK se carga de forma asíncrona (atributoasync) y no bloquea el renderizado. El script ocupa unos 10 KB minificado y comprimido con gzip. Los eventos se envían en segundo plano después de cargar la página.
¿Puedo usar el SDK en varias páginas?
Sí: instala el fragmento en la plantilla global del<head> de tu sitio y se ejecutará en todas las páginas. El scan_session_id se mantiene de una página a otra gracias a localStorage, así que todo el recorrido se atribuye al escaneo original.
¿Qué pasa si alguien entra sin escanear un código QR?
No se envía ningún evento. El SDK del navegador comprueba que existe unscan_session_id antes de enviar nada. Si no lo hay (la persona llegó directamente y no por un escaneo), el SDK se salta el evento por completo. De esa visita no se guarda nada.
¿Cuánto dura la atribución de un escaneo?
60 días. Si alguien escanea un código QR y vuelve a tu web dentro de esos 60 días, sus visitas se siguen atribuyendo a ese escaneo. Pasados los 60 días, la entrada_scnv de localStorage caduca y se pierde la atribución.
Eventos de servidor
¿Cómo obtengo el scan_session_id en mi servidor?
Pásalo del navegador a tu servidor. Las formas habituales son:- Incluirlo en un campo de formulario oculto
- Enviarlo en el cuerpo de la petición cuando tu frontend llama a tu API
- Leerlo del parámetro de la URL al cargar la página y guardarlo en la sesión del usuario en tu servidor
¿Puedo enviar eventos por lotes?
Sí. UsaPOST /server-events/batch con hasta 100 eventos por petición. Es lo recomendable para backends de mucho volumen y arquitecturas basadas en colas.
¿Qué pasa si reintento una petición fallida?
Si reenvías el mismoevent_id, el duplicado se marca como tal y queda fuera del recuento de conversiones. Usa siempre el mismo event_id en todos los reintentos. Consulta Idempotencia y reintentos.
¿Puedo enviar eventos con fechas pasadas?
Sí: usa el campoevent_time para indicar cuándo ocurrió el evento. Resulta útil cuando envías eventos de forma asíncrona desde una cola. El campo acepta el formato ISO 8601 en UTC.
Privacidad y datos
¿Debo enviar direcciones de correo en texto plano?
No. Nunca incluyas direcciones de correo en texto plano enmetadata ni en properties. Usa user_identifiers.email_hash con un hash SHA-256 del correo en minúsculas.
¿Para qué sirve el campo consent?
El campo consent transmite al sistema de seguimiento la señal de consentimiento del RGPD:
granted: todos los campos se guardan con normalidaddeniedopending: los campos con datos personales (page_url,referrer,city,metadata) se eliminan antes de guardar
consent se guarda siempre como registro de auditoría.
¿Cuánto tiempo se conservan los datos?
Los eventos se conservan 2 años por defecto. Los registros huérfanos (aquellos cuya sesión de escaneo no se puede resolver) se eliminan automáticamente a las 24 horas.Panel e informes
¿Cuánto tardan los eventos en aparecer en los informes?
Normalmente entre 10 y 30 segundos con carga normal. En picos de tráfico puede haber retrasos de unos minutos.¿Cómo pauso el seguimiento de un sitio?
Abre Análisis → Seguimiento de conversiones → Configurar el seguimiento de conversiones, selecciona Configuración de seguimiento en el sitio y usa el interruptor Site Status de la pestaña Insertar script. Con el sitio en pausa, sus eventos devuelven400.
¿Qué es un evento huérfano y cuándo se elimina?
Un evento huérfano es aquel en el que elscan_session_id existe pero todavía no se puede resolver a un código QR: ocurre cuando el evento llega antes de que el sistema haya enlazado la sesión con el registro del código QR. Los eventos huérfanos se eliminan automáticamente a las 24 horas si los datos de sesión no llegan nunca. Si llegan a tiempo, el evento se completa y se conserva los 2 años habituales.