Skip to main content
Cet article explique comment configurer un dispositif mutuellement exclusif couvrant à la fois Kameleoon Web Experimentation (client-side) et Kameleoon Feature Experimentation (server-side), lorsque certaines de vos expériences mutuellement exclusives s’exécutent sur une technologie et d’autres sur l’autre.
Pour la théorie derrière les groupes mutuellement exclusifs, notamment le moment où Kameleoon assigne les visiteurs à un groupe et les compromis à évaluer au préalable, consultez Groupes mutuellement exclusifs.

Le scénario

Supposons que vous souhaitiez exécuter trois expériences mutuellement exclusives :
  • Deux expériences s’exécutent côté client via Kameleoon Web Experimentation (basé sur JavaScript).
  • Une expérience s’exécute côté serveur via Kameleoon Feature Experimentation (par exemple, via un SDK backend).
Vous devez vous assurer que les visiteurs ne sont exposés qu’à une seule de ces expériences, même si des technologies différentes les activent à des étapes différentes du parcours utilisateur.

Configurer l’exclusion mutuelle entre les deux technologies

1. Commencez par l’expérience de feature

L’expérience de feature s’exécute côté serveur et nécessite un ciblage précoce, avant le chargement de la page. Allouez-lui donc le trafic en premier.
  1. Créez votre expérience de feature.
  2. Allouez 33 % du trafic total à cette expérience, ou tout autre pourcentage correspondant à votre plan de test.
Les 67 % restants du trafic sont alors disponibles pour les deux expériences web.

2. Créez un groupe mutuellement exclusif pour les expériences web

Créez un groupe mutuellement exclusif pour les deux expériences web en suivant Créer un groupe mutuellement exclusif pour les expériences web. Cette configuration garantit que les visiteurs ne voient que l’une des deux expériences web, jamais les deux.

3. Excluez les participants à l’expérience de feature des expériences web

Pour que les visiteurs répartis dans l’expérience de feature ne soient inclus dans aucune des deux expériences web, appliquez la condition de ciblage suivante aux deux expériences web :
  • Condition de ciblage : Campaigns → Feature flag → excluez les visiteurs qui ont été exposés à une variation quelconque de votre feature_experiment_name.
Cette condition préserve l’exclusion mutuelle entre les deux technologies.

4. Tenez compte du délai de synchronisation

Par défaut, Kameleoon Web Experimentation effectue un appel de synchronisation à distance à chaque chargement de page pour vérifier si le visiteur a déjà été exposé à une expérience de feature. Kameleoon utilise cet appel pour décider d’inclure ou d’exclure le visiteur d’une expérience web. Si les trois expériences s’exécutent sur la même page, cette configuration devient délicate : le moteur web doit attendre le statut d’exposition côté serveur avant de décider d’inclure le visiteur dans une expérience web, ce qui peut provoquer un flickering ou un contenu retardé.
Si l’expérience de feature et les expériences web se déclenchent à des moments différents du parcours client, par exemple sur des pages différentes, ajoutez également une condition de ciblage d’exclusion à l’expérience de feature pour exclure les visiteurs déjà exposés à l’une des expériences web.

Solution recommandée

Pour éliminer le flickering et décider en temps réel, exposez le statut de l’expérience de feature du visiteur directement sur le front end, sans attendre un appel à distance.
  1. Utilisez la méthode SDK getEngineTrackingCode().
  2. Insérez la sortie dans le HTML de la page, idéalement dans la section <head>.
Ainsi, Kameleoon sait immédiatement si le visiteur a déjà été exposé à l’expérience de feature, ce qui permet un ciblage plus rapide et plus fluide.