Gérer l'affectation d’une variante en fonction de critères spécifiques

Par défaut, Kameleoon affecte une variante à un visiteur de façon aléatoire. La fonction utilisée par Kameleoon est la suivante. Elle prend en entrée un objet experiment et retourne un identifiant de variante.

function (experiment)
{
  var variationId;
  var deviationRandom = Math.random();
  var total = 0.0;

  for (var i = 0, l = experiment.variations.length; i < l; ++i)
  {
    total += experiment.variations[i].deviation;
    if (deviationRandom <= total)
    {
       variationId = experiment.variations[i].id;
       break;
    }
  }
  return (variationId ? variationId : "none");
} 

Cette fonction peut cependant être surchargée de façon à modifier la façon dont une variante est selectionnée et affichée à un utilisateur. Il peut être interessant par exemple d'explicitement choisir une variante en fonction de la valeur d'une variable JavaScript. Ci-dessous un exemple :

function(experiment)
{
    if(experiment.id == "ID TEST"){ //le code ci-dessous n'est exécuté que pour un test donné.
 
        if(typeof versionTest != "undefined") { //Test de la présence de la variable
            if(versionTest == 1)
                return 81103; //Identifiant de la version 1 à afficher
            else if(versionTest == 2)
                return 81104; //Identifiant de la version 2 à afficher
            else if(versionTest == 3)
                return 81105; //Identifiant de la version 3 à afficher
            else if(versionTest == 4)
                return 81106; //Identifiant de la version 4 à afficher
        }
     }
     else{ //Sinon le comportement par défaut est exécuté pour tous les autres tests en cours
          var deviationRandom = Math.random();
          var chosenVariationId;
          var total = 0.0;
          for (var i = 0, l = experiment.variations.length; i < l; ++i)
          {
              total += experiment.variations[i].deviation;
              if (deviationRandom <= total)
              {
                  chosenVariationId = experiment.variations[i].id;
                  break;
              }
          }
          chosenVariationId = chosenVariationId ? chosenVariationId : "none";
          return chosenVariationId;
        }
   }

Il est nécessaire de positionner ce code dans les options avancées de votre compte Kameleoon. Pour cela connectez-vous à votre espace personnel.

Utilisez ensuite le menu de gauche pour accéder à la page « Sites configurés » qui regroupe tous vos sites web configurés avec votre compte Kameleoon.

Pour le site web de votre choix, cliquez sur le bouton « Configuration avancée ».

Vous arrivez alors sur la page des options avancées, comme c'est indiqué dans l'onglet de gauche.

Ajoutez le script ci-dessus dans la partie « Script de sélection de variante ».

Vous avez d’autres questions ? Envoyer une demande
Réalisé par Zendesk