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

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. 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 à personnaliser selon votre cas d'usage. L'idéal etant de stocker dans une variable JavaScript "member_id" l'identifiant de connexion du visiteur. ATTENTION, cette variable doit se trouver dans la page avant le script Kameleoon.

  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 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