El escenario
Supongamos que desea ejecutar tres experimentos mutuamente excluyentes:- Dos experimentos se activan del lado del cliente mediante Kameleoon Web Experimentation (basado en JavaScript).
- Un experimento se activa del lado del servidor mediante Kameleoon Feature Experimentation (por ejemplo, a través de un SDK de backend).
Cómo abordar este caso de uso
Para garantizar la exclusividad mutua entre experimentos del lado del cliente y del servidor, siga estos pasos:1. Comience por el feature experiment
Dado que el feature experiment se activa del lado del servidor y requiere un targeting temprano (antes de la carga de la página), lo mejor es asignarle tráfico en primer lugar.- Cree su Feature Experiment.
- Asigne el 33 % del tráfico total a este experimento (o cualquier otro porcentaje que se ajuste a su plan de pruebas).
2. Cree un grupo mutuamente excluyente para los experimentos web
A continuación, cree un Mutually Exclusive Group para los dos experimentos web. 👉 Siga esta documentación: Evitar el solapamiento de campañas con grupos mutuamente excluyentes. Evitar el solapamiento garantiza que los visitantes solo puedan ver uno de los dos experimentos web, nunca ambos.3. Añada condiciones de targeting para excluir a los participantes del feature experiment
Para asegurarse de que los usuarios asignados al feature experiment no entren en ninguno de los experimentos web, aplique la siguiente condición de targeting a ambos experimentos web:- Condición de targeting:
Campaigns → Feature Flag→ Excluir a los visitantes que hayan sido expuestos a cualquier variación de su «feature_experiment_name».
4. Consideraciones técnicas
De forma predeterminada, Kameleoon Web Experimentation realizará una llamada de sincronización remota en cada carga de página para comprobar si el usuario ha sido expuesto a un Feature Experiment. Esta llamada es la forma en que Kameleoon sabe si debe incluir o excluir a un usuario de un experimento web. Si los tres experimentos se ejecutan en la misma página, esta configuración puede ser complicada, porque el motor web tiene que esperar al estado de exposición del lado del servidor antes de decidir si incluye al usuario en un experimento web, lo que puede provocar flickering o retraso en el contenido.Si el Feature Experiment y los experimentos web se activan en momentos diferentes del recorrido del cliente (por ejemplo, en páginas distintas), también deberá añadir una condición de targeting de exclusión en el Feature Experiment para excluir a los visitantes que ya hayan sido expuestos a uno de los experimentos web.
Solución recomendada
Para eliminar el flickering y garantizar la toma de decisiones en tiempo real, exponga el estado del Feature Experiment del usuario directamente en el front end, sin esperar a una llamada remota.- Utilice el método del SDK:
getEngineTrackingCode(). - Inserte el resultado en el HTML de la página, idealmente en la sección
<head>.
Resumen
Las pruebas mutuamente excluyentes entre experimentos del lado del cliente y del servidor son complejas, pero totalmente compatibles con Kameleoon cuando se implementan correctamente. A continuación, un breve resumen:- Comience por el feature experiment y asigne primero su parte del tráfico.
- Utilice grupos mutuamente excluyentes para gestionar el solapamiento entre los experimentos web.
- Excluya a los participantes del feature experiment del targeting de los experimentos web mediante condiciones de campaña.
- Utilice el método de tracking code para eliminar retrasos y flickering si los experimentos se solapan en la misma página.