Modelo de datos
Las cuatro fuentes de eventos comparten una sola tabla Event. La columna eventSource las distingue. Los metadatos específicos de cada fuente están en la columna JSON properties.
Mapeo de campos
TrackedVisitor
TrackedVisitor guarda los datos de perfil por sitio separados de los eventos: un externalId opaco, nombre visible, lifecycleStage y customerSince. La primera atribución se deriva de la primera página vista, por lo que cambiar el período nunca reescribe la adquisición.
Privacidad
BetterMeter está diseñado desde cero para respetar la privacidad del usuario. No se necesitan banners de consentimiento. Cumple con GDPR por defecto.
Sin cookies
El seguimiento anónimo no usa cookies ni almacenamiento local. La huella digital sigue desactivada salvo activación explícita.
Identidad solo explícita
Llamar a identify() permite que ese sitio guarde el ID opaco en el almacenamiento local para sesiones posteriores; reset() lo elimina. Evita correos y datos personales directos, y aplica tus requisitos de consentimiento.
Identificadores hasheados
Las direcciones IP se hashean con HMAC-SHA-256 usando un secreto de visitantes del servidor. La IP sin procesar nunca se almacena. Los hashes diarios rotan cada 24 horas, mientras que un hash estable por sitio permite perfiles de visitantes sin exponer la IP original.
Sin recopilación automática de datos personales
Los eventos analíticos no recopilan automáticamente nombres, correos, cuerpos de solicitud ni direcciones IP sin procesar. Los nombres de perfil e identificadores opacos opcionales los proporciona deliberadamente un operador; los ID del SDK se hashean por defecto y las claves sensibles se redactan.
Enviar y olvidar
Las llamadas de analíticas son asíncronas y nunca lanzan excepciones. Un fallo de red descarta silenciosamente el evento. Las analíticas nunca deben interrumpir la aplicación principal.
Desactivación
Configure disabled: true en la configuración del SDK o BETTERMETER_DISABLED=1 como variable de entorno.
Pipeline abierto
Cada evento pasa por la misma función processEvent(). Puede auditar exactamente qué se recopila y almacena.