¿Cuáles son los dominios de Kameleoon que necesito incluir en la whitelist?
¿Cuáles son los dominios de Kameleoon que necesito incluir en la whitelist?
Configuración sencilla (con comodines)
Añada el siguiente contenido a la configuración de su cabecera CSP:Configuración completa (con todo el detalle)
Reemplace[your-site-code] por su site code de Kameleoon en cada línea donde aparezca y añada esto a su configuración:Web Experimentation
https://[your-site-code].kameleoon.xx: carga el script de la aplicación Kameleoon Web Experimentation,engine.js(antes llamadokameleoon.js).https://(eu|na)-data.kameleoon.(eu|io): se utiliza para el tracking.https://logger.kameleoon.io: envía datos de tracking para logging.https://data.kameleoon.net: necesario si utiliza la herramienta de simulación de Kameleoon para hacer QA de experimentos en varios subdominios.
Feature Experimentation (SDKs client-side)
https://client-config.kameleoon.com: necesario para versiones de SDK < 2.1.0.https://sdk-config.kameleoon.eu: necesario para versiones de SDK >= 2.1.0.https://(eu|na)-data.kameleoon.(eu|io): se utiliza para el tracking.https://logger.kameleoon.io: envía datos de tracking para logging.
Editores gráficos
https://static.kameleoon.com: (obsoleto) carga recursos estáticos para el antiguo editor gráfico.https://editor.kameleoon.com: (obsoleto) utilizado por el antiguo editor gráfico.https://graphical-editor.kameleoon.com: utilizado por el nuevo editor gráfico.https://storage.kameleoon.(eu|io): carga imágenes usadas en experimentos creados con los editores gráficos.
Prompt-Based Experimentation (PBX)
https://aibuilder.kameleoon.com: utilizado por el editor prompt-based.https://electra.kameleoon.com: utilizado por el editor prompt-based.https://storage.kameleoon.(eu|io): carga imágenes en el editor prompt-based.https://api.kameleoon.com: carga información relacionada con la cuenta.https://sdk-config.kameleoon.eu: controla los feature flags de Kameleoon activados en el editor prompt-based.wss://electra.kameleoon.com: se utiliza para el intercambio de datos.
Simulación
https://api.kameleoon.com: utilizado por la simulación antigua.https://simulation.kameleoon.com: utilizado por la nueva simulación.
Product Recommendation
https://static.products.kameleoon.com: carga recursos para el módulo Product Recommendation.https://api.products.kameleoon.com: API utilizada por el módulo Product Recommendation.https://images.products.kameleoon.com: carga imágenes de producto para las recomendaciones.
APIs e integraciones
https://api.kameleoon.com: necesario si tiene intención de usar la Automation API para pruebas directamente desde el navegador.https://customers.kameleoon.com: necesario si utiliza la SDK API o una integración personalizada desarrollada por Kameleoon.
Recursos internos
engine.js no incluye rutas de simulación ni información específica de la aplicación para minimizar el tamaño del script. Para incluir estos detalles, cargue el script completo kameleoonFull.js, que proporciona a engine.js los datos necesarios sobre recursos internos e instrucciones de carga.https://static.kameleoon.com: carga recursos internos.https://static.experimentation.dev: carga recursos internos.https://sdk-config.experimentation.dev: controla los feature flags de Kameleoon activados en el producto Kameleoon.https://eu-data.experimentation.dev: envía datos de tracking con fines de logging.
¿El script de Kameleoon (engine.js) ralentizará mi sitio web?
¿El script de Kameleoon (engine.js) ralentizará mi sitio web?
Entrega por CDN y escalabilidad
El scriptengine.js se sirve a través de la CDN de Cloudflare, lo que significa que escala automáticamente independientemente del volumen de tráfico de su sitio web. No hay problemas de carga ni de lentitud a ningún nivel de tráfico: la red global de Cloudflare gestiona la entrega, por lo que ni los picos ni el tráfico alto sostenido afectan al rendimiento del script para sus visitantes.Caché
Por defecto, el navegador cacheaengine.js durante 90 minutos, minimizando los tiempos de carga repetidos para los visitantes que regresan. Si su caso de uso requiere una duración de caché más corta, puede reducirse hasta un mínimo de 1 minuto bajo petición. Contacte con el soporte de Kameleoon para ajustar esta configuración en su cuenta.Consideraciones importantes
El tamaño del script puede aumentar según el número de experimentos que ejecute y su contenido (CSS/JavaScript).Para experimentos o campañas de personalización que no necesiten cargarse de inmediato, use el tag “DELAYED”. Esto retrasa la carga de experimentos no esenciales hasta después de la primera carga de página. Kameleoon los gestiona de forma inteligente: solo descarga la configuración tras 10 segundos de inactividad o cuando un visitante está segmentado y se le asigna una variación distinta del control. Este enfoque garantiza un impacto mínimo en el rendimiento de carga al tiempo que ofrece toda la funcionalidad para los experimentos priorizados.Web Experimentation (engine.js)
El engine.js procesa las solicitudes salientes a través de una cola interna que se ejecuta aproximadamente cada 500 ms. La cola agrupa los eventos en lotes y envía lotes adicionales de forma recursiva si es necesario. Al descargar o limpiar la página, el motor fuerza el procesamiento inmediato de todos los eventos en cola. En Safari, el motor persiste los eventos no enviados en el almacenamiento de sesión para evitar la pérdida de datos.Además, el motor envía un evento de actividad cada 15 segundos cuando se detecta un desplazamiento o un clic. Cuando no se detecta actividad, el motor no realiza llamadas de seguimiento adicionales.Feature Experimentation (SDKs)
Para los casos de uso con feature flags y SDKs, Kameleoon realiza las evaluaciones de flags localmente después de la inicialización. Las solicitudes de seguimiento hacia la Data API se agrupan en lotes y se envían en segundo plano, en lugar de enviarse individualmente por cada evaluación. El procesamiento por lotes reduce el volumen de solicitudes y evita la degradación del rendimiento durante los picos de tráfico. El intervalo de envío es configurable en el SDK, con un valor predeterminado de 1 segundo.Límites de frecuencia de la Data API
Kameleoon aplica límites de frecuencia a la Data API para proteger la fiabilidad del servicio. Los límites se basan en sus visitantes únicos mensuales (MUV) contractuales y la dirección IP del solicitante. Si supera esos límites, la API devuelve HTTP 429.Estos límites se aplican a todas las solicitudes que llegan a la Data API, incluidas las llamadas de seguimiento queengine.js envía automáticamente y las solicitudes de seguimiento agrupadas que los SDK de Feature Experimentation envían. En entornos donde muchos visitantes comparten una única dirección IP (como oficinas o redes corporativas), los límites basados en IP pueden aplicarse incluso cuando sus MUV totales se mantienen dentro del contrato.Para integraciones del lado del servidor, puede eliminar los límites basados en IP autenticando sus solicitudes. Si su caso de uso requiere límites más altos, contacte con el soporte de Kameleoon para discutir las opciones.Los límites de frecuencia se aplican a toda su cuenta de cliente, no a proyectos individuales. Si un proyecto genera un número excesivo de solicitudes (por ejemplo, porque una implementación defectuosa crea un bucle que envía eventos de datos personalizados repetidamente), ese proyecto consume el límite compartido de la cuenta y puede causar errores HTTP 429 en todos sus otros proyectos.Para identificar qué proyecto está generando tráfico inesperado, use la página Live events (Insights > Live events). Seleccione cada proyecto por turnos y compare el recuento de eventos de la última hora o de las últimas 24 horas con el volumen esperado. Un proyecto que genera muchos más eventos de los que justifica su volumen de visitantes (por ejemplo, decenas de millones de eventos con un contrato de 100.000 MUV) es probablemente la fuente del problema. Filtre los eventos por tipo para identificar la causa: los eventos de datos personalizados son los más frecuentes, a menudo porque un bucle mal configurado envía la misma variable de datos personalizados, o todas las variables de datos personalizados, en cada carga de página.Escalabilidad de la plataforma
La plataforma de Kameleoon utiliza escalado horizontal, infraestructura con auto-scaling, balanceo de carga, y pruebas de carga y estrés periódicas. Para más detalles, consulte ¿Cómo soporta la plataforma de Kameleoon la escalabilidad y la elasticidad?.¿Por qué el motor de Kameleoon (archivo de la aplicación engine.js) utiliza la función eval()?
¿Por qué el motor de Kameleoon (archivo de la aplicación engine.js) utiliza la función eval()?
eval() para añadir código personalizado a Kameleoon, como datos personalizados y JavaScript personalizado, al implementar variaciones de una página. La función eval() permite a Kameleoon ejecutar dinámicamente este código personalizado en tiempo de ejecución.Si utiliza una directiva Content Security Policy (CSP) que impide el uso de la función eval(), implemente el siguiente snippet JavaScript antes del tag de instalación de Kameleoon:eval(), implementar el snippet de código no eliminará estas restricciones. Para garantizar toda la funcionalidad, ajuste la directiva CSP correspondiente para permitir eval() o funciones similares. De lo contrario, ciertas funcionalidades avanzadas de segmentación o personalización en Kameleoon seguirán siendo inaccesibles debido a la aplicación de la seguridad del navegador.eval(). No obstante, puede sortear este requisito instalando la extensión Kameleoon para Chrome y habilitando el ajuste Dev Tools > Tag injection > Bypass policies para anular las políticas localmente. También debe proporcionar su sitecode. Habilitar el ajuste Bypass policies le permite usar el Graphic editor en un navegador Chrome.
eval(). Estas limitaciones se aplican incluso si utiliza alguno de los snippets de código o soluciones alternativas mencionados en la FAQ. Las siguientes funcionalidades seguirán sin estar disponibles a menos que su CSP permita explícitamente eval():- Segmentar un segmento con una condición JavaScript personalizada (solo se admite cuando la condición se ejecuta de forma asincrónica).

- Uso de datos personalizados con código JavaScript personalizado.
- Uso de canales de adquisición con código JavaScript personalizado.
¿Puedo usar mi servidor como proxy para las llamadas de tracking de Kameleoon?
¿Puedo usar mi servidor como proxy para las llamadas de tracking de Kameleoon?
(eu|na)-data.kameleoon.(eu|io). Por ejemplo, si elige tracking.yourdomain.com como su dominio de tracking, una solicitud de tracking sería un POST a tracking.yourdomain.com. Su servidor debe entonces reenviar la solicitud, junto con todos los datos y parámetros necesarios, al host (eu|na)-data.kameleoon.(eu|io). Para activar esta opción, contacte con su Customer Success Manager.¿Puedo usar Subresource Integrity (SRI) con el archivo de la aplicación Kameleoon?
¿Puedo usar Subresource Integrity (SRI) con el archivo de la aplicación Kameleoon?
¿Por qué mi sitio web carga con un enorme efecto flash/parpadeo en Firefox?
¿Por qué mi sitio web carga con un enorme efecto flash/parpadeo en Firefox?
<script> (aunque sea casi vacía).Ejemplo:¿Puedo modificar el tag de instalación que proporciona Kameleoon?
¿Puedo modificar el tag de instalación que proporciona Kameleoon?
¿Puedo añadir el tag de instalación en un script externo aparte?
¿Puedo añadir el tag de instalación en un script externo aparte?
¿Es posible cifrar los datos en el caso de clústeres de almacenamiento de datos dedicados (configuración on-premises)?
¿Es posible cifrar los datos en el caso de clústeres de almacenamiento de datos dedicados (configuración on-premises)?
¿Puedo retrasar experimentos no esenciales hasta después de la primera carga de página?
¿Puedo retrasar experimentos no esenciales hasta después de la primera carga de página?
DELAYED a los experimentos que desee diferir. Para más información, consulte la documentación sobre gestión de tags.Kameleoon gestiona de forma inteligente los experimentos etiquetados como “DELAYED”. Solo descarga la configuración tras 10 segundos de inactividad o cuando el visitante está segmentado y se le asigna una variación distinta del control. Céntrese en ofrecer la mejor experiencia de usuario difiriendo los tests que consumen muchos recursos.¿Cómo soporta la plataforma de Kameleoon la escalabilidad y la elasticidad?
¿Cómo soporta la plataforma de Kameleoon la escalabilidad y la elasticidad?
- Arquitectura escalable: una arquitectura distribuida y modular permite el escalado horizontal.
- Infraestructura con auto-scaling: la infraestructura basada en la nube escala automáticamente los recursos computacionales.
- Balanceo de carga: técnicas avanzadas distribuyen el tráfico de forma equitativa entre los servidores.
- Ingesta y procesamiento de datos: APIs robustas y un data broker gestionan grandes volúmenes de datos de forma eficiente.
- Tests de escalabilidad: tests de carga y estrés periódicos garantizan que el sistema soporte condiciones extremas.
- Almacenamiento de datos elástico: el almacenamiento multinivel permite un acceso rápido a los datos y una escalabilidad a largo plazo.
¿Qué bases de datos y frameworks utiliza Kameleoon?
¿Qué bases de datos y frameworks utiliza Kameleoon?
- Hadoop File System (junto con Spark)
- Cassandra
- ClickHouse
- Kafka
¿Qué solicitudes de red realiza el motor de Kameleoon?
¿Qué solicitudes de red realiza el motor de Kameleoon?
Solicitud de Segments
- Propósito: recopila eventos para los segmentos objetivo del visitante.
- Endpoint:
https://${SITECODE}.kameleoon.io/audiences/segments.js - Método: GET
- Nota: el navegador cachea el archivo durante 90 minutos.
Solicitud de configuración de experimentos Live-update
- Propósito: recupera la configuración de los experimentos etiquetados como LIVE-UPDATE.
- Endpoint:
https://${SITECODE}.kameleoon.io/live-experiments/config.js - Método: GET
- Nota: el navegador cachea el archivo durante 2 minutos.
Solicitud de variación de experimento diferido
- Propósito: carga datos de variación para experimentos etiquetados como DELAYED.
- Endpoint:
https://${SITECODE}.kameleoon.io/experiments/${action.id}/variations/${variationId}.js - Método: GET
- Nota: el navegador cachea el archivo durante 30 días.
Solicitud de variación de personalización diferida
- Propósito: carga datos de variación para personalizaciones etiquetadas como DELAYED.
- Endpoint:
https://${SITECODE}.kameleoon.io/personalizations/${action.id}/variations/${variationId}.js - Método: GET
- Nota: el navegador cachea el archivo durante 30 días.
Solicitud de visitas anteriores
- Propósito: obtiene visitas anteriores para la reconciliación entre dispositivos y la sincronización de visitas en tiempo real.
- Endpoint:
https://(eu|na)-data.kameleoon.(eu|io)/visit/visitor - Método: GET
Solicitud de eventos de tracking
- Propósito: registra eventos durante las visitas.
- Endpoint:
https://(eu|na)-data.kameleoon.(eu|io)/visit/events - Método: POST
Solicitud de dirección IP
- Propósito: permite la exclusión/inclusión de visitantes en función de la dirección IP.
- Endpoint:
https://(eu|na)-data.kameleoon.(eu|io)/ip - Método: GET
- Nota: Kameleoon nunca almacena IPs en las bases de datos. El navegador del visitante utiliza la IP únicamente con fines de comparación.
Solicitud de geolocalización
- Propósito: obtiene datos de geolocalización para segmentación y analítica.
- Endpoint:
https://(eu|na)-data.kameleoon.(eu|io)/geolocation - Método: GET
Solicitud del clima actual
- Propósito: devuelve las condiciones meteorológicas actuales.
- Endpoint:
https://(eu|na)-data.kameleoon.(eu|io)/weather/weather - Método: GET
Solicitud de pronóstico del clima
- Propósito: devuelve un pronóstico meteorológico de 5 días.
- Endpoint:
https://(eu|na)-data.kameleoon.(eu|io)/weather/forecast - Método: GET
Solicitud de detección del script de Kameleoon
- Propósito: detecta el estado de implementación del script de Kameleoon.
- Endpoint:
https://(eu|na)-data.kameleoon.(eu|io)/active-script/event - Método: POST
Solicitud de Products
- Propósito: recopila eventos de producto para segmentación y recomendaciones.
- Endpoint:
https://(eu|na)-data.kameleoon.(eu|io)/product/events - Método: POST
Solicitud de Kameleoon Conversion Scores
- Propósito: recupera scores predictivos para segmentación.
- Endpoint:
https://(eu|na)-data.kameleoon.(eu|io)/predict/latestPredictionScoreHistograms - Método: GET
¿Están mis datos aislados de los de otros clientes?
¿Están mis datos aislados de los de otros clientes?
¿Cómo controla Kameleoon el acceso de los empleados a mi cuenta?
¿Cómo controla Kameleoon el acceso de los empleados a mi cuenta?