Gérer l’affectation d’une variante en fonction d’un identifiant de connexion utilisateur

3

min

quiz

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 registeredVariationId;
  var deviationRandom = experiment.obtainVariationAssignmentRandomNumber();
  var total = 0.0;
  for (var i = 0, l = experiment.variations.length; i < l; ++i)
  {
      total += experiment.variations[i].deviation;
      if (deviationRandom <= total)
      {
          registeredVariationId = experiment.variations[i].id;
          break;
      }
  }
  return registeredVariationId ? registeredVariationId : "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. Dans le cas par exemple d’un site web nécessitant toujours une connexion sécurisée de la part du visiteur, il peut être interessant de toujours afficher la même variante à un visiteur connecté, peu importe le navigateur web ou l’appareil qu’il utilise (mobile, tablette ou ordinateur) :

function(experiment)
{
 var memberId = window.member_id.toString(); //CODE to update with your variable that contains the unique identifier. It has to be available before calling the Kameleoon snippet
 memberId = memberId + experiment.id.toString();
 var hash = 0;
 for (i = 0; i < memberId.length; ++i)
 {
 char = memberId.charCodeAt(i);
 hash = ((hash << 5) - hash) + char;
 hash = hash & hash;
 }
 hash = (Math.abs(hash) * 9301 + 49297) % 233280;
 var deviationRandom = hash / 233280;
 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 indiqué dans l’onglet de gauche.

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