Le scénario
Supposons que vous souhaitiez exécuter trois expériences mutuellement exclusives :- Deux expériences sont déclenchées côté client à l’aide de Kameleoon Web Experimentation (basé sur JavaScript).
- Une expérience est déclenchée côté serveur à l’aide de Kameleoon Feature Experimentation (par exemple, via un SDK backend).
Gérer ce cas d’usage
Pour assurer l’exclusivité mutuelle entre les expériences client-side et server-side, suivez ces étapes :1. Commencez par la feature experiment
Étant donné que la feature experiment est déclenchée côté serveur et nécessite un ciblage précoce (avant le chargement de la page), il est préférable de lui allouer le trafic en premier.- Créez votre Feature Experiment.
- Allouez 33 % du trafic total à cette expérience (ou tout autre pourcentage correspondant à votre plan de test).
2. Créez un groupe mutuellement exclusif pour les expériences web
Ensuite, créez un Mutually Exclusive Group pour les deux expériences Web. 👉 Suivez cette documentation : Empêcher le chevauchement des campagnes avec des Mutually Exclusive Groups. Empêcher le chevauchement garantit que les visiteurs ne peuvent voir qu’une des deux expériences Web — jamais les deux.3. Ajoutez des conditions de ciblage pour exclure les participants à la feature experiment
Pour vous assurer que les utilisateurs bucketés dans la Feature Experiment n’entrent dans aucune des expériences Web, appliquez la condition de ciblage suivante aux deux expériences Web :- Condition de ciblage :
Campaigns → Feature Flag→ Exclure les visiteurs qui ont été exposés à une variation quelconque de votre « feature_experiment_name ».
4. Considérations techniques
Par défaut, Kameleoon Web Experimentation effectuera un appel de synchronisation à distance à chaque chargement de page pour vérifier si l’utilisateur a été exposé à une Feature Experiment. Cet appel permet à Kameleoon de savoir s’il faut inclure ou exclure un utilisateur d’une expérience Web. Si les trois expériences sont exécutées sur la même page, cette configuration peut s’avérer délicate, car le moteur Web doit attendre le statut d’exposition côté serveur avant de décider d’inclure l’utilisateur dans une expérience Web, ce qui peut entraîner un flickering ou un contenu retardé.Si la Feature Experiment et les Web Experiments sont déclenchées à différents moments du parcours client (par exemple, sur des pages différentes), vous devrez également ajouter une condition de ciblage d’exclusion dans la Feature Experiment afin d’exclure les visiteurs qui ont déjà été exposés à l’une des Web Experiments.
Solution recommandée
Pour éliminer le flickering et garantir une prise de décision en temps réel, exposez le statut Feature Experiment de l’utilisateur directement sur le front end, sans attendre un appel à distance.- Utilisez la méthode SDK :
getEngineTrackingCode(). - Insérez la sortie dans le HTML de la page, idéalement dans la section
<head>.
Résumé
Les tests mutuellement exclusifs entre les expériences client-side et server-side sont complexes — mais entièrement pris en charge par Kameleoon lorsqu’ils sont correctement mis en œuvre. Voici un récapitulatif rapide :- Commencez par la feature experiment et allouez d’abord sa part de trafic.
- Utilisez des groupes mutuellement exclusifs pour gérer le chevauchement entre les expériences Web.
- Excluez les participants à la feature experiment du ciblage des expériences Web en utilisant les conditions de campagne.
- Utilisez la méthode du code de suivi pour éliminer les délais et le flicker si les expériences se chevauchent sur la même page.