Passer au contenu principal
La gestion d’expériences mutuellement exclusives est un besoin courant lorsque plusieurs expériences sont exécutées en parallèle. Mais que se passe-t-il lorsque certaines de ces expériences sont déclenchées côté client (via Kameleoon Web Experimentation) et d’autres côté serveur (via Kameleoon Feature Experimentation) ? Il s’agit d’un cas d’usage plus avancé, mais que Kameleoon prend en charge avec la bonne configuration. Dans cet article, nous vous guiderons à travers la configuration d’un setup mutuellement exclusif qui couvre les deux technologies.

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).
Le défi ici est de s’assurer que les visiteurs ne sont exposés qu’à une seule de ces expériences — même si elles sont activées via différentes technologies et à différents moments du parcours utilisateur.

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).
Les 67 % restants du trafic seront alors disponibles pour les deux expériences Web.

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 ».
Cette étape garantit que l’exclusivité mutuelle est préservée entre les deux technologies.

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>.
De cette façon, Kameleoon sait immédiatement si l’utilisateur a déjà été exposé à la Feature Experiment, permettant un ciblage plus rapide et plus fluide.

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.
Avec cette approche, vous assurerez une expérience de test propre et fiable tout en maintenant l’intégrité de vos données.