Para conocer qué datos almacena Kameleoon en sus servidores backend —principalmente con fines analíticos y de informes—, lea el artículo recopilación de datos en el backend.
Introducción
Como cualquier solución de analítica web, Kameleoon recopila datos como las URLs visitadas, la versión del navegador y el tiempo dedicado a su sitio web. Como plataforma de experimentación y personalización, Kameleoon también necesita acceso persistente y en tiempo real a estos datos para desencadenar experimentos y campañas de personalización con la mínima latencia.
Dado que el entorno de ejecución de JavaScript se reinicia en cada cambio de página, no es posible almacenar estos datos solo en memoria. En su lugar, Kameleoon lee y escribe datos a través de diferentes páginas web (URLs).
Obtener los datos desde un servidor backend al inicio de cada carga de página es una alternativa, pero este enfoque tiene dos inconvenientes:
- Coste de rendimiento: Cada carga de página implica una llamada adicional al servidor.
- Coste de escalabilidad: Las solicitudes frecuentes al servidor degradan el rendimiento a gran escala.
El almacenamiento local es un enfoque más eficiente. Permite a Kameleoon almacenar datos directamente en el navegador.
El Local Storage como mecanismo de almacenamiento de datos
Kameleoon no utiliza cookies para almacenar datos por dos razones:
- Las cookies no están diseñadas para almacenar grandes cantidades de datos.
- El navegador envía las cookies con cada solicitud HTTP, incluidas las solicitudes de recursos estáticos como imágenes, lo que aumenta el uso de ancho de banda y reduce el rendimiento.
En su lugar, Kameleoon utiliza Local Storage, una tecnología web estándar compatible con la mayoría de navegadores. Funciona de forma similar a las cookies, pero admite una capacidad de almacenamiento mucho mayor (normalmente unos pocos MBs, según el navegador).
En comparación con las cookies, Local Storage tiene las siguientes propiedades:
- Solo JavaScript puede escribir en Local Storage; los servidores no pueden.
- Solo JavaScript puede leer datos de Local Storage.
- El navegador nunca envía los datos de Local Storage a servidores HTTP remotos, lo que lo hace más seguro.
Sin embargo, Local Storage tiene una limitación importante: está limitado a un único subdominio exacto.
Limitaciones del Local Storage para unificar los datos de sesión
A diferencia de las cookies —donde un script en http://www.example.com puede crear una cookie accesible desde buy.example.com—, Local Storage está particionado por subdominio y protocolo.
Por ejemplo, si su sitio de comercio electrónico está alojado en https://www.randomshop.com, pero su embudo de conversión se ejecuta en https://transaction.randomshop.com, Local Storage no puede compartir datos entre estos dos subdominios. Esto puede producir variaciones de experimento incoherentes a lo largo del recorrido del cliente, afectando tanto a la experiencia del usuario como a la validez del experimento.
Kameleoon proporciona un mecanismo para unificar los datos de sesión entre subdominios. Para más detalles, consulte Unificar los datos de sesión entre subdominios.
Lista de datos recopilados
Esta página cubre dos categorías de datos:
- Datos recopilados y almacenados para todos los visitantes (excluyendo los visitantes que se hayan dado de baja).
- Datos recopilados para uso interno cuando los usuarios de Kameleoon construyen experimentos en la plataforma.
A efectos de privacidad de datos, céntrese en la primera categoría. La segunda solo se aplica a un pequeño número de empleados internos.
Kameleoon siempre almacena los datos en un contexto de primera parte, asociados a su dominio. Kameleoon nunca almacena datos de terceros en dominios propiedad de Kameleoon.
Datos almacenados para todos los visitantes
Datos almacenados en Local Storage
Local Storage no dispone de un mecanismo de expiración integrado. Para solucionarlo, Kameleoon emula la expiración del periodo de vida almacenando los datos con dos campos:
"value": La información almacenada.
"expirationDate": Una marca de tiempo que define cuándo Kameleoon deja de utilizar los datos.
Ejemplo:kameleoonLegalConsent: {"value": {"AB_TESTING": true, "PERSONALIZATION": true},"expirationDate":1545297630228}
| Clave | Descripción | Duración |
|---|
kameleoonVisitorCode | Identificador único visitorCode de Kameleoon. | 365 días |
kameleoonData | Datos del visitante y de la sesión (por ejemplo, historial de navegación e información de sesión). Kameleoon almacena estos datos en Local Storage mediante un esquema de codificación simple. La lista completa de los datos que contiene esta clave aparece a continuación. | 365 días |
kameleoonExperiment-${experimentId} | Asignación de variación del experimento e ID de la variación asignada (ya sea “Reference”, el ID de la variación o “none” si se ha configurado la exclusión de tráfico), y la fecha en que Kameleoon asignó la variación. | 30 días (se renueva con cada visita) |
kameleoonPersonalization-${personalizationId} | La asignación de variación de personalización para este visitante. | 30 días (se renueva con cada visita) |
kameleoonGlobalPersonalizationExposition | El estado global de exposición del visitante para todas las personalizaciones. Un valor "false" impide que este visitante vea cualquier personalización. Un valor "true" permite la exposición cuando el visitante cumple las condiciones de segmentación requeridas. De forma predeterminada, no se aplica ninguna exclusión global de tráfico. Puede configurar este valor en los ajustes de configuración del proyecto. | 365 días |
kameleoonLegalConsent | Consentimiento legal para el uso de Kameleoon. El formato del valor es, por ejemplo, {"AB_TESTING": true, "PERSONALIZATION": false} o {"PERSONALIZATION": true}. | 365 días |
kameleoonOpenTabs | IDs de las pestañas abiertas del mismo sitio web. | 365 días |
KameleoonProducts_device_id | Un ID único del dispositivo del visitante. Kameleoon solo almacena esta clave si dispone del complemento Product Recommendation. | 365 días |
kameleoonRequestEvents | Solicitudes fallidas que Kameleoon no puede enviar cuando la página se recarga de inmediato. Este comportamiento es específico de Safari. | Se elimina cuando se recarga la página. |
La clave kameleoonData almacena los siguientes datos para cada visita (solo en este dispositivo, o en todas las visitas si utiliza la reconciliación de historial entre dispositivos):
- Datos personalizados
- Tipo de dispositivo (móvil, tableta o escritorio)
- Sistema operativo
- Nombre y versión del navegador
- Tamaño de la pantalla
- Tamaño de la ventana
- Zona horaria del navegador
- Idioma del navegador
- Referente original (canal de adquisición)
- Número de páginas vistas
- Título y URL de las páginas visitadas
- Tiempo dedicado al sitio web
- Hora de inicio y de fin de la visita
- Número de pestañas abiertas
- Si hay un bloqueador de anuncios activo
- Lista de conversiones (clics, transacciones y otros eventos)
- Lista de personalizaciones y experimentos A/B que vio el visitante
- Condiciones meteorológicas actuales (si la condición de segmentación está activa): temperatura, viento, lluvia y otras condiciones
- Hora de la puesta de sol (si una condición de segmentación meteorológica está activa, dado que algunos criterios meteorológicos la requieren)
- Previsión meteorológica (si la condición de segmentación está activa): temperatura, viento, lluvia y otras condiciones
- Geolocalización (si una condición de segmentación de geolocalización o meteorológica está activa)
- Dirección IP (si la condición de segmentación está activa)
- Datos de segmentación externos procedentes de un DMP o CRM de terceros
- Productos vistos (si está habilitado el complemento Product Targeting)
| Clave | Descripción | Duración |
|---|
kameleoonClientData | Una copia local del archivo de configuración remoto que obtiene el SDK. Contiene los detalles de configuración de los feature flags activos. | Hasta su eliminación manual o por la configuración del navegador. |
kameleoonConsentData | Consentimiento legal para los Feature Experiments obtenido del visitante. | targetingDataCleanupInterval |
kameleoonDataInfo | Información técnica para la limpieza de datos y la vinculación de sesiones de visitante. Necesaria para la experimentación entre dispositivos. | Hasta que una solicitud de seguimiento se complete con éxito. |
kameleoonForcedExperimentVariation | Una variación de experimento específica requerida para la evaluación personalizada de un feature flag concreto. | targetingDataCleanupInterval |
kameleoonForcedFeatureVariation | Variaciones de funcionalidad específicas utilizadas para la simulación de un feature flag concreto. | Sesión |
kameleoonTargetingData | Datos del visitante y de la sesión, incluidos el historial de navegación y los detalles de la sesión, necesarios con fines de segmentación. | targetingDataCleanupInterval |
kameleoonTrackingData | Todos los visitor codes de este navegador para las solicitudes de seguimiento. | Hasta que una solicitud de seguimiento se complete con éxito. |
kameleoonVariationData | Variaciones asignadas para cada feature flag, utilizadas para mantener la coherencia del visitante entre sesiones. | targetingDataCleanupInterval |
La clave kameleoonTargetingData almacena los siguientes datos asociados al visitante:
- Datos personalizados
- Conversión
- Vista de página
- Identificador único
- Datos de geolocalización
- User agent
- Navegador
- Dispositivo
- Cookie
- Puntuación de conversión de Kameleoon (AI Predictive Targeting)
- Sistema operativo
- Versión de la aplicación
- Datos de visitas
- Personalización
Datos almacenados en Session Storage
| Clave | Descripción | Duración |
|---|
kameleoonDisabledForVisit | Deshabilita Kameleoon para la visita actual. Kameleoon establece esta clave cuando se activa la opción de tiempo de espera Disable Kameleoon for the entire visit. | Duración de la sesión |
kameleoonAnalyticsTrackingTimes | Optimiza el número de llamadas de seguimiento a analítica de terceros que realiza Kameleoon cuando utiliza una integración de analítica web. | Duración de la sesión |
kameleoonTabId | Un identificador único de 8 dígitos que distingue una pestaña del navegador y evita el seguimiento redundante de la misma URL de página en múltiples eventos desencadenados. | Duración de la sesión |
kameleoonActiveScript | Kameleoon establece este valor cuando el script confirma que está instalado en la página. | Valor en session storage |
Datos almacenados en cookies
Kameleoon utiliza solo una cookie para almacenar un identificador de visitante generado aleatoriamente. El CDN de Kameleoon también puede establecer una cookie opcional cuando entrega el archivo de aplicación, salvo que aloje usted mismo el archivo de aplicación.Si utiliza el complemento de Recomendación de Productos de Kameleoon, Kameleoon almacena dos cookies adicionales. Puede ponerse en contacto con su Customer Success Manager para habilitar una opción sin cookies que almacene estos datos en Local Storage en su lugar.| Clave | Descripción | Duración |
|---|
KameleoonProducts_session_code | Un identificador único de sesión. | Duración de la sesión |
KameleoonProducts_session_last_act | La marca de tiempo de la última actividad. | 1 hora |
| Clave | Descripción | Duración |
|---|
_detectRootDomain | Cookie temporal de prueba (valor=testRootDomain) que Kameleoon utiliza para detectar el dominio principal del sitio. | Se elimina inmediatamente después de usarse. |
kameleoonVisitorCode | El identificador único visitorCode de Kameleoon. | 365 días |
kameleoonReferrer | Cookie temporal para experimentos con URL de redirección. Kameleoon almacena el valor de document.referrer antes de que ocurra la redirección. | Se elimina inmediatamente después de usarse. |
kameleoonSimulationFFData | Datos necesarios para simular una variación específica de un feature flag. | Sesión |
Datos temporales almacenados solo para uso interno de Kameleoon
Datos almacenados en cookies
| Clave | Descripción | Duración |
|---|
kameleoonSimulationParameters | El Modo Simulación de Kameleoon utiliza esta cookie para habilitar la simulación entre subdominios. Sin ella, la simulación no funciona correctamente si su sitio tiene subdominios. Todos los parámetros de consulta de simulación deben incluirse en formato JSON codificado para URL utilizando JSON.stringify. Por ejemplo: | |
KEY - kameleoonSimulationParameters, VALUE - {"kameleoon-experiment-id":"266118","kameleoon-simulation":"true","kameleoon-language":"en"} | 1 hora, pero se elimina inmediatamente cuando se cierra la simulación. | |
Datos almacenados en Local Storage
| Clave | Descripción | Duración |
|---|
kameleoonSimulation | Datos necesarios para fines de simulación. | 1 hora |
kameleoonSimulationShortURL | La URL corta de la simulación. | 1 hora |
kameleoonSimulationVisitorData | Todos los datos virtuales sobre el visitante y sus visitas, utilizados para la simulación. | 1 hora |
Datos almacenados en Session Storage
| Clave | Descripción | Duración |
|---|
kameleoonFullApplicationCode | La base de código completa de Kameleoon, necesaria para la simulación. El archivo de aplicación de producción está optimizado en tamaño y no incluye todo el código, por lo que Kameleoon almacena aquí la versión completa. | 1 hora |
kameleoonVariation-${variationId} | Código y datos de la variación con fines de previsualización o simulación. | 1 hora |
kameleoonRedirectionURL | La URL absoluta de la página cuando Kameleoon desencadena un experimento de redirección. Kameleoon la almacena para evitar bucles de redirección infinitos. | Se elimina cuando el visitante navega a una página distinta. |