¿Cuál es la función del SDK web frente al script de la aplicación Kameleoon?
¿Cuál es la función del SDK web frente al script de la aplicación Kameleoon?
¿Cuánto tarda en inicializarse un SDK?
¿Cuánto tarda en inicializarse un SDK?
¿Cómo se sincroniza la configuración del SDK con el servidor?
¿Cómo se sincroniza la configuración del SDK con el servidor?
¿Qué tecnología utiliza el método de streaming?
¿Qué tecnología utiliza el método de streaming?
¿Cuándo proporciona el CDN de Kameleoon una nueva configuración al SDK?
¿Cuándo proporciona el CDN de Kameleoon una nueva configuración al SDK?
¿Cuáles son los dominios de Kameleoon que debo incluir en la lista blanca?
¿Cuáles son los dominios de Kameleoon que debo incluir en la lista blanca?
https://[your-site-code].kameleoon.xx puede variar de un proyecto a otro. Sus proyectos pueden estar alojados en kameleoon.eu o en kameleoon.io según su fecha de creación. Asegúrese de utilizar el dominio que aparece en su proyecto dentro de la aplicación Kameleoon. Sustituya [your-site-code] por el site code de Kameleoon en cada línea en la que aparezca y añádalo a su configuración.¿Cómo configuro el SDK si el servidor tiene varias instancias?
¿Cómo configuro el SDK si el servidor tiene varias instancias?
getRemoteVisitorData.Si el problema está en las diferencias de configuración del SDK, utilice la opción Streaming.¿La asignación de variaciones y la asignación de tráfico se realizan localmente o en un servidor?
¿La asignación de variaciones y la asignación de tráfico se realizan localmente o en un servidor?
¿Cómo garantiza el SDK que los visitantes vean siempre la misma variación?
¿Cómo garantiza el SDK que los visitantes vean siempre la misma variación?
¿Cómo muestro primero una variación específica en una simulación de feature flag?
¿Cómo muestro primero una variación específica en una simulación de feature flag?
Si cambio la distribución o exposición de tráfico, ¿los visitantes seguirán viendo la variación que se les asignó?
Si cambio la distribución o exposición de tráfico, ¿los visitantes seguirán viendo la variación que se les asignó?
¿Por qué no se muestran visitas en la página de resultados?
¿Por qué no se muestran visitas en la página de resultados?
- Espere de 30 a 60 minutos hasta que el servidor de Kameleoon confirme una visita. Cada vez que el mismo visitante accede al sitio web, Kameleoon crea una nueva visita. La visita finaliza en cuanto Kameleoon no recibe nuevos eventos de actividad (por ejemplo, exposición a una campaña, vista de página, scroll, clics) en los últimos 30 minutos. Kameleoon crea una nueva visita tras 30 minutos de inactividad.
- Si ha activado el filtrado de bots en la configuración del proyecto, podría haber un error con el valor de user-agent configurado en el SDK. Consulte este artículo para más detalles.
- El consentimiento legal está configurado como Required en los ajustes del proyecto, pero no se ha invocado el método setLegalConsent del SDK. Consulte esta documentación para más detalles.
- No se ha utilizado ninguno de los métodos del SDK que envían una solicitud de seguimiento a los servidores de Kameleoon.
¿Por qué el número de visitas no coincide con mi tráfico real?
¿Por qué el número de visitas no coincide con mi tráfico real?
¿Por qué la asignación de visitantes en mis informes es incorrecta?
¿Por qué la asignación de visitantes en mis informes es incorrecta?
- Reducción del grupo de visitantes para variaciones específicas: Si primero invoca
getVariations(onlyActive: true, track: false), el SDK solo devuelve los visitantes asignados a las variaciones activas (ON). Si después solo muestra las páginas del experimento e invocagetVariation(track: true)para esos visitantes concretos, Kameleoon solo realiza el seguimiento de la variaciónON, lo que resulta en un informe que muestra una única variación. - Tiempo insuficiente para las solicitudes de seguimiento: Kameleoon envía datos a un intervalo determinado. Si un visitante permanece en una página con un cliente Kameleoon integrado para la variación
ON, pero pasa a una página sin él para la variaciónOFF, es posible que el cliente no tenga tiempo suficiente para enviar la solicitud de seguimiento de la variaciónOFF. - Configuración ausente para variaciones específicas: Es posible que haya omitido el
UserAgentosetLegalConsentpara algunas variaciones. Por ejemplo, si solo proporciona el consentimiento en la página de la variaciónON, Kameleoon no podrá realizar el seguimiento de los visitantes de la variaciónOFF. - Datos del visitante ausentes: El SDK no recopila datos del visitante de forma automática; debe añadirlos explícitamente para que la segmentación y el seguimiento funcionen correctamente.
Compruebe la configuración de su segmentación
Si sospecha que existen problemas de segmentación, siga estos pasos:- Cree una regla sin segmentación con exposición del 100 % y asigne la variación deseada.
- Añada la segmentación y compruebe que el usuario deja de recibir la variación.
- Añada los datos necesarios de Kameleoon.
Cuando utilizo addData(), ¿los datos están disponibles para la segmentación de inmediato?
Cuando utilizo addData(), ¿los datos están disponibles para la segmentación de inmediato?
¿Dónde se almacenan los datos?
¿Dónde se almacenan los datos?
¿Cuándo es buen momento para vaciar los datos?
¿Cuándo es buen momento para vaciar los datos?
¿Cómo utilizo datos recopilados previamente para la segmentación?
¿Cómo utilizo datos recopilados previamente para la segmentación?
getRemoteVisitorData con los parámetros adecuados para obtener los datos enviados a la Data API. Tras la carga, los datos se incluyen en la segmentación del visitante.¿Por qué mi experimento no está recopilando datos?
¿Por qué mi experimento no está recopilando datos?
-
En la aplicación Kameleoon
- La regla se ha creado para el entorno correcto (producción, staging o desarrollo).
- La regla está habilitada (activada).
- La regla se dirige a tráfico que realmente puede estar expuesto.
- Si el filtrado de bots está activado en su proyecto, añada User Agent al filtro.
-
En el SDK
- El KameleoonClient se ha creado con la configuración correcta (siteCode, variable de entorno y, en su caso, networkDomain).
- getVisitorCode se invoca una sola vez y su valor se reutiliza dondequiera que se necesite el visitorCode.
- Si se utiliza el modo híbrido (engine.js en el front), el visitorCode está correctamente sincronizado con el front end.
- Para las reglas de experimento, se invoca setLegalConsent(true) para garantizar que se permite la recopilación de datos.
- Para las reglas de entrega, se invoca isFeatureActive() (o getVariation()) y devuelve true (o la variación esperada).
- Para las reglas de experimento, se invoca getVariation() y devuelve la variación esperada.
-
Consejos de depuración
- Muestre en consola: el valor del consentimiento, el visitorCode y los valores de las variaciones, y compruebe que coinciden con lo que observa en el navegador.
- Active el registro del SDK y compruebe si aparecen errores.
¿Qué datos necesitan consentimiento para ser enviados?
¿Qué datos necesitan consentimiento para ser enviados?
¿Cuándo envía el SDK una solicitud de seguimiento para analítica?
¿Cuándo envía el SDK una solicitud de seguimiento para analítica?
- Periódicamente: De forma predeterminada, se envía una solicitud cada 1000 milisegundos (1 segundo). Puede cambiar este intervalo configurando el valor del intervalo de seguimiento.
- Bajo demanda: Al instante, si se invoca un método como
flush(instant=true)en su código.
getVariation(cuandotrackse establece entrue).getVariations(cuandotrackse establece entrue).isFeatureActive(cuandotrackse establece entrue).trackConversionflush(con o sininstant=true)
¿Qué métodos desencadenan solicitudes HTTP? ¿Son síncronos o asíncronos?
¿Qué métodos desencadenan solicitudes HTTP? ¿Son síncronos o asíncronos?
- isFeatureActive / getFeatureVariationKey / getFeatureVariable / trackConversion / flush
- Estos métodos realizan solicitudes asíncronas a la Data API para almacenar toda la información sobre el visitante (incluidas las variaciones recibidas por el usuario), que se utilizan para mostrar estadísticas en app.kameleoon.com.
- getRemoteData / getRemoteVisitorData / getWarehouseAudience
- Estos métodos realizan solicitudes síncronas a la Data API para obtener información sobre el visitante.
- Además, el SDK realiza solicitudes asíncronas para obtener la configuración necesaria para su funcionamiento interno.
¿Cuándo debo utilizar isFeatureActive o getFeatureVariationKey?
¿Cuándo debo utilizar isFeatureActive o getFeatureVariationKey?
isFeatureActive puede invocarse cuando necesite saber si el flag está activo, pero no necesite conocer la variación exacta recibida por el visitante. Cuando se usan reglas de experimento, es preferible invocar getFeatureVariationKey si dispone de dos o más variaciones además de “off”.¿Puedo utilizar a la vez un SDK del lado del cliente (incluido el archivo de aplicación engine.js) y un SDK del lado del servidor en mi sitio web?
¿Puedo utilizar a la vez un SDK del lado del cliente (incluido el archivo de aplicación engine.js) y un SDK del lado del servidor en mi sitio web?
engine.js) como un SDK del lado del servidor. En esta configuración es imprescindible invocar el método getVisitorCode. Esto garantiza un reconocimiento coherente del visitante entre el navegador y el servidor, y asegura una asignación coherente de variaciones al ejecutar tanto el código del lado del cliente (por ejemplo, el seguimiento de eventos) como el del lado del servidor (como la ejecución de funciones) para un mismo feature flag.¿Necesito invocar getVisitorCode?
¿Necesito invocar getVisitorCode?
getVisitorCode en los casos en los que esté empleando una integración híbrida (sitio web <-> SDK servidor, JS SDK <-> servidor, engine <-> SDK servidor). Al invocar getVisitorCode, se obtendrá el código del visitante y se transmitirá mediante una cookie. Si no utiliza una integración híbrida, no necesita invocar getVisitorCode; aun así, puede invocarlo para generar un código de visitante aleatorio.¿Es obligatorio el dominio para el SDK o para getVisitorCode?
¿Es obligatorio el dominio para el SDK o para getVisitorCode?
getVisitorCode. De lo contrario, podrían asignarse variaciones distintas a un mismo visitante, ya que tendría códigos de visitante diferentes en los distintos subdominios de su sitio.Si utilizo una integración híbrida, ¿debo gestionar el consentimiento dos veces?
Si utilizo una integración híbrida, ¿debo gestionar el consentimiento dos veces?
¿Cómo afectan los bloqueadores de anuncios a Kameleoon?
¿Cómo afectan los bloqueadores de anuncios a Kameleoon?
engine.js) y a los SDKs del lado del cliente, que dependen de código JavaScript cargado en su sitio web. Los SDKs del lado del servidor, sin embargo, operan dentro de sus servidores y no se ven afectados por los bloqueadores de anuncios.Si desea que los usuarios con bloqueadores de anuncios se incluyan en sus experimentos, Kameleoon ofrece una opción premium que le permite utilizar un dominio personalizado en lugar del dominio predeterminado de Kameleoon. Los dominios personalizados impiden que los bloqueadores de anuncios detecten y bloqueen Kameleoon. Una vez configurado, Kameleoon utilizará su dominio personalizado para todas las solicitudes de red salientes hacia nuestros servidores, ya sea con fines de seguimiento o para obtener actualizaciones de configuración del SDK.Utilizar un dominio personalizado no es lo mismo que el self-hosting. Cuando utiliza un dominio personalizado, la infraestructura de Kameleoon sigue alojando y sirviendo todo el contenido (por ejemplo, engine.js, la configuración del SDK, las llamadas de seguimiento). La diferencia es que estas solicitudes se enrutan a través de un dominio que usted controla, como experiments.mydomain.com.Para habilitar esta opción, póngase en contacto con su Technical Account Manager. Debe proporcionar un dominio completo (por ejemplo, experiments-mydomain.com), no un subdominio (por ejemplo, experiments.mydomain.com). El nombre de dominio no puede contener la subcadena kameleoon.- Para Web Experimentation, sustituya las referencias al dominio predeterminado de Kameleoon (
kameleoon.) por su dominio personalizado.- Ejemplo:
//SITE_CODE.{your-domain}/engine.js
- Ejemplo:
- Para los SDKs del lado del cliente, utilice el parámetro
networkDomainen la inicialización del SDK.