Passer au contenu principal
Grace a cette integration, vous pouvez connecter Kameleoon a Segment de maniere transparente pour :
  • Utiliser Kameleoon comme source pour pousser les donnees d’evenement d’exposition aux campagnes (nom de campagne et nom de variation) vers Segment, qui peuvent ensuite etre utilisees par d’autres plateformes disponibles sur la marketplace Segment.
  • Utiliser Kameleoon comme destination pour :
    • importer les evenements Segment, que vous pouvez utiliser dans les experiences Kameleoon et les personnalisations web.
    • importer les personas, traits et groupes Segment, et les utiliser dans notre Segment Builder via les custom data.
Principaux avantages :
  • Envoyer automatiquement toutes les donnees, y compris les KPI, de Segment vers Kameleoon pour creer des campagnes d’optimisation hautement traquees et ciblees.
  • Ameliorer le ciblage et analyser les resultats de vos A/B/n tests avec les donnees d’evenement Segment.
  • Analyser l’effet des campagnes de test sur l’ensemble du parcours client.
  • Atteindre les visiteurs exposes a une campagne en ligne sur d’autres canaux (par exemple, campagnes d’email marketing, applications mobiles) a l’aide des evenements Segment envoyes par Kameleoon.

Pousser les evenements d’exposition Kameleoon vers Segment

Activer l’integration Segment sur Kameleoon

  1. Connectez-vous a l’application Kameleoon.
  2. Cliquez sur Admin > Integrations > Install the tool.
  3. Selectionnez les projets sur lesquels vous souhaitez configurer Segment.
  4. Cliquez sur Validate.
Vous verrez alors un toggle ON a droite de la ligne de l’outil, ainsi que le nombre de projets sur lesquels l’outil est configure.
Assurez-vous que le script Segment (analytics.js) est installe sur vos pages, car Kameleoon enverra les evenements d’exposition aux campagnes vers Segment a l’aide de l’API JavaScript Segment.

Associer Segment comme outil de reporting dans une experience ou une personnalisation Kameleoon

Une fois l’integration activee sur la page Integrations, vous pouvez la selectionner comme outil de reporting dans l’onglet Integrations du panneau de finalisation de l’editeur graphique/code.
Lorsque vous avez active et defini Segment comme outil de reporting dans une campagne, un evenement appele “Experiment viewed” sera automatiquement envoye chaque fois qu’un visiteur voit une variation d’une experience A/B Kameleoon active.
Si vous devez envoyer des evenements d’exposition pour les feature flags, vous devez activer les fonctionnalites Hybrid.

Obtenir le sitecode de votre projet

Vous devrez egalement obtenir votre sitecode dans votre compte Kameleoon. Pour savoir comment trouver votre sitecode, veuillez lire cette documentation.

Saisir ces informations lors de la configuration de Kameleoon comme destination dans votre application Segment

  1. Depuis le Destinations Catalog dans l’application Segment, cliquez sur Add Destination.
  2. Recherchez Kameleoon dans le Destinations Catalog et selectionnez la destination Kameleoon.
  1. Cliquez sur Configure Kameleoon.
  2. Choisissez la Source (par exemple, application ou site web) qui enverra des donnees a la destination Kameleoon.
  3. Saisissez la API Key et le sitecode dans les parametres de la destination Kameleoon dans Segment.

Faire correspondre les utilisateurs entre Kameleoon et Segment

L’integration exige que vous utilisiez le meme systeme d’identifiants pour les deux outils, ce qui signifie que la valeur userId que vous transmettez a Segment doit etre la meme que celle utilisee par Kameleoon pour identifier un “visiteur”. Si vous utilisez Kameleoon Web Experiment, Kameleoon place un cookie qui contient un identifiant unique anonyme, appele visitorCode Kameleoon, attribue aleatoirement a un visiteur. Cet ID est utilise pour identifier de maniere unique un utilisateur dans un navigateur. Plusieurs options s’offrent a vous :
  • Vous pouvez passer notre visitorCode dans la propriete userId de l’appel identify Segment pour vous assurer que Kameleoon peut attribuer toutes les donnees d’evenement recues de Segment au bon visiteur.
  • Vous pouvez passer notre visitorCode dans un appel Segment supplementaire comme suit : analytics.track('Kameleoon identifier', {'k_visitorCode': Kameleoon.API.Visitor.code}). Kameleoon liera automatiquement l’ID utilisateur ou l’ID anonyme Segment a notre propre visitorCode. Assurez-vous de ne l’appeler qu’une seule fois par session. Par exemple, si vous utilisez Kameleoon Web Experimentation ou avez implemente notre fichier d’application Kameleoon (kameleoon.js) pour beneficier des capacites d’experimentation hybride, vous pouvez utiliser l’exemple de code ci-dessous dans la section Global custom script de la propriete du projet Kameleoon.
Kameleoon.API.Core.runWhenConditionTrue(
     () => window.analytics && window.analytics.track && window.analytics.user,
     () => {
         const kSegmentioIdentifier = window.localStorage.getItem('k_segmentio_identifier');
         if(kSegmentioIdentifier && kSegmentioIdentifier === window.analytics.user().anonymousId()) return;
         window.localStorage.setItem('k_segmentio_identifier', window.analytics.user().anonymousId());
         window.analytics.track('Kameleoon identifier', {'k_visitorCode': Kameleoon.API.Visitor.code})
     }
 );
Si vous utilisez Kameleoon Feature Experimentation, veuillez vous referer a la documentation des SDK Kameleoon, car vous pouvez definir votre propre ID au lieu d’utiliser un code visiteur Kameleoon genere et avoir exactement le meme ID entre Segment et Kameleoon.

Evenements et Personas Segment pris en charge

Kameleoon prend en charge les methodes suivantes : Track, Identify, Page, Screen et Group, comme specifie dans la Spec Segment. Si le nom de l’evenement Segment correspond au nom d’un objectif existant dans votre compte Kameleoon, une conversion pour cet objectif sera associee au visiteur. Si l’objectif n’existe pas, Kameleoon creera un objectif personnalise en utilisant le nom de l’evenement Segment et associera la conversion au visiteur. L’objectif apparaitra dans la page des objectifs Kameleoon avec la convention de nommage SegmentIO [eventType] - [eventName]. Une fois l’objectif cree, vous pouvez les utiliser dans n’importe laquelle de vos campagnes. Les appels track Segment de type Audience Entered, Audience Exited, Identify et Group. Ils sont collectes en tant que custom data Kameleoon. Segment utilise notre endpoint Data API map pour envoyer des donnees a Kameleoon.

Personas, traits et groupes

Kameleoon vous permet de cibler les utilisateurs en fonction de leur persona Segment, groupe ou proprietes specifiques. Pour utiliser les personas, traits et group IDs dans notre Segment Builder, vous devez configurer une custom data dans votre compte Kameleoon pour le projet de votre choix.
Personas
Vous pouvez nommer votre persona (par exemple, SegmentIO personas), et la custom data doit etre de type List of string.
Veuillez suivre les directives ci-dessous pour Web Experimentation uniquement.
Vous pouvez utiliser le code ci-dessous dans la methode d’acquisition de la custom data :
window.k_segmentIO = window.k_segmentIO || {};
 if(!window.k_segmentIO.runtime)
 {
     window.k_segmentIO.runtime = true;
Selon votre configuration, vous devez determiner la logique appropriee pour obtenir l’ID utilisateur. Si vous utilisez un appel track event pour envoyer notre visitor code, utilisez la ligne suivante : const user_id = Kameleoon.API.Visitor.code; Sinon, si vous utilisez notre Visitor Code comme ID utilisateur Segment ou avez besoin de recuperer l’ID utilisateur depuis l’objet analytics de Segment, utilisez le code suivant :
const user_id = window.analytics.user().id() || window.analytics.user().anonymousId();

Kameleoon.API.Data.retrieveDataFromRemoteSource(`COHORTS_${user_id}`, cohorts => {     window.k_segmentIO.cohorts = cohorts && cohorts !== '{}' ? Object.keys(cohorts).filter(key => cohorts[key]) : []; });``
 }
 if(!window.k_segmentIO.cohorts || !window.k_segmentIO.cohorts.length) return;
 return {"value": window.k_segmentIO.cohorts, "overwrite": true};
Pour utiliser les personas Segment dans des experiences cote serveur ou des feature flags, vous pouvez consulter les directives decrites dans la documentation de chaque SDK.Nos SDK utilisent la methode getRemoteData(). Cette methode recupere les donnees stockees par Segment sur nos serveurs et les rend accessibles dans votre code backend.La valeur “key” a utiliser comme premier parametre doit suivre ce format : COHORTS_{user_id}.
Recuperer les noms de Persona Segment dans Kameleoon
Cliquez sur Next et activez l’option Save the values for the targeting condition associated with the custom data point. Ajoutez le code JS ci-dessous et remplacez XXXXXXXXX par le Sitecode Kameleoon. Pour le trouver, veuillez suivre cette documentation.
var xhr = new XMLHttpRequest();
xhr.open("GET", '[https://api-data.kameleoon.com/data?key=common&siteCode=XXXXXXXXX](https://api-data.kameleoon.com/data?key=common&siteCode=XXXXXXXXX)', false);
var SegmentIOPersonas = [];
xhr.onreadystatechange = function() { 
   if(this.readyState === 4) {
     var segmentIOcohorts = JSON.parse(xhr.response);
	  if (segmentIOcohorts && segmentIOcohorts.cohorts) {
		  segmentIOcohorts.cohorts.forEach(persona => SegmentIOPersonas.push({value: persona, label: persona}) );

	   }
   }
}
xhr.send();
return SegmentIOPersonas;
Cliquez sur Validate pour creer la Custom Data. C’est fait ! Vous pouvez maintenant utiliser les Personas Segment dans notre Segment Builder. La liste des personas disponibles est accessible lorsque vous choisissez l’operateur is among the values.
Traits
Pour utiliser les traits dans notre segment builder, vous devez creer une custom data par type de trait. Disons que vous souhaitez cibler les utilisateurs en fonction du plan auquel ils ont souscrit sur votre site web, et que vous avez trois plans differents : freemium, scale et enterprise. Vous devez configurer une custom data appelee “Subscribed Plan”, et la custom data doit etre de type “string”.
Veuillez suivre les directives ci-dessous pour Web Experimentation uniquement.
Vous pouvez utiliser le code ci-dessous dans la methode d’acquisition de la custom data :
window.k_segmentIO = window.k_segmentIO || {};
 if(!window.k_segmentIO.runtime)
 {
     window.k_segmentIO.runtime = true;
Selon votre configuration, vous devrez determiner la logique appropriee pour obtenir l’ID utilisateur. Si vous utilisez un appel track event pour envoyer notre visitor code, utilisez la ligne suivante : const user_id = Kameleoon.API.Visitor.code; Sinon, si vous utilisez notre Visitor Code comme ID utilisateur Segment ou avez besoin de recuperer l’ID utilisateur depuis l’objet analytics de Segment, utilisez la ligne suivante :
const user_id = window.analytics.user().id() || window.analytics.user().anonymousId(); 
   
  Kameleoon.API.Data.retrieveDataFromRemoteSource(`IDENTIFY_${user_id}`, segment_identify_properties => {
         if(segment_identify_properties && segment_identify_properties.traits && segment_identify_properties.traits.plan){
             window.k_segmentIO.plan = segment_identify_properties.traits.plan;
         }
     });
 }
 if(!window.k_segmentIO.plan) return;
 return {"value": window.k_segmentIO.plan, "overwrite": true};
Pour utiliser les traits dans des experiences cote serveur ou des feature flags, vous pouvez consulter les directives decrites dans la documentation de chaque SDK.Nos SDK utilisent la methode getRemoteData(). Cette methode recupere les donnees stockees par Segment sur nos serveurs et les rend accessibles dans votre code backend.La valeur “key” a utiliser comme premier parametre doit suivre ce format : IDENTIFY_{user_id}.
Vous pouvez suivre les memes directives pour chaque propriete de trait que vous souhaitez utiliser dans le Segment Builder de Kameleoon.
Group IDs
Pour utiliser les group IDs dans notre Segment Builder afin de cibler vos campagnes, vous devez configurer une custom data appelee “Group ID”, et la custom data doit etre de type string.
Veuillez suivre les directives ci-dessous pour Web Experimentation uniquement.
Vous pouvez utiliser le code ci-dessous dans la methode d’acquisition de la custom data :
window.k_segmentIO = window.k_segmentIO || {};
 if(!window.k_segmentIO.runtime)
 {
     window.k_segmentIO.runtime = true;
Selon votre configuration, vous devrez determiner la logique appropriee pour obtenir l’ID utilisateur. Si vous utilisez un appel track event pour envoyer notre visitor code, utilisez la ligne suivante : const user_id = Kameleoon.API.Visitor.code; Sinon, si vous utilisez notre Visitor Code comme ID utilisateur Segment ou avez besoin de recuperer l’ID utilisateur depuis l’objet analytics de Segment, utilisez la ligne suivante :
const user_id = window.analytics.user().id() || window.analytics.user().anonymousId(); 
  
   Kameleoon.API.Data.retrieveDataFromRemoteSource(`IDENTIFY_${user_id}`, segment_identify_properties => {
         if(segment_identify_properties && segment_identify_properties.groupId){
             window.k_segmentIO.groupId = segment_identify_properties.groupId;
         }
     });
 }
 if(!window.k_segmentIO.groupId) return;
 return {"value": window.k_segmentIO.groupId, "overwrite": true};
Pour utiliser les traits dans des experiences cote serveur ou des feature flags, vous pouvez consulter les directives decrites dans la documentation de chaque SDK.Nos SDK utilisent la methode getRemoteData(). Cette methode recupere les donnees stockees par Segment sur nos serveurs et les rend accessibles dans votre code backend.La valeur “key” a utiliser comme premier parametre doit suivre ce format : IDENTIFY_{user_id}.