File de commandes Kameleoon
La manière la plus efficace d’interagir avec l’API Kameleoon — que ce soit pour convertir des objectifs, définir des données personnalisées ou déclencher des événements — consiste à exploiter les déclencheurs existants de votre Tag Manager (par exemple, Google Tag Manager) en combinaison avec la file de commandes Kameleoon. Cela devrait être votre approche principale lors de l’ajout de JavaScript à Kameleoon. Au lieu d’écrire du code JavaScript long directement dans Kameleoon, vous pouvez obtenir les mêmes résultats avec seulement deux lignes de code dans votre Tag Manager.Exemples
- Convertir un objectif de chiffre d’affaires Dans votre Tag Manager, créez un déclencheur sur la page de confirmation pour capturer le chiffre d’affaires, puis ajoutez le code suivant :kameleoonQueue ne peut pas être utilisé, veuillez vous référer aux recommandations spécifiques pour chaque script disponible détaillées ci-dessous.
Script global et scripts de variation
Optimiser l’exécution JavaScript avec l’API d’activation
Utilisez l’API d’activation de Kameleoon pour appliquer les variations au moment approprié. Cette approche permet d’éviter les problèmes de performance et garantit une expérience fluide pour les visiteurs. Voici quelques fonctions essentielles de l’API d’activation pouvant être utilisées pour améliorer l’expérience des visiteurs :runWhenConditionTrue: Exécute le code lorsqu’une condition spécifique est remplie. Par défaut, il s’exécute toutes les 200 millisecondes. Cependant, soyez prudent avec les conditions qui pourraient ne jamais se résoudre, car cela peut entraîner des boucles inutiles. Notez que la boucle continuera à s’exécuter jusqu’à ce que la fonction renvoie explicitementtrue. Renvoyerfalseouundefinedn’arrêtera pas la boucle ni ne déclenchera le rappel.
true sur toutes les pages autres que la page produit, ce qui fera tourner la boucle indéfiniment :
Il est préférable de récupérer les informations en utilisant l’URL ou les cookies/localStorage plutôt que de dépendre de
runWhenConditionTrue pour attendre le dataLayer ou d’autres objets à chargement tardif, comme lors de la tentative d’obtention d’informations sur le type de page. Cette approche garantit une exécution plus rapide et de meilleures performances.runWhenElementPresent: Cette méthode garantit que votre code s’exécute uniquement lorsqu’un élément spécifique est présent dans le DOM, évitant les retards inutiles causés par des éléments chargés dynamiquement.
Points clés à considérer
- Utilise les Mutation Observers par défaut (recommandé pour la performance).
- Si les Mutation Observers sont désactivés sur votre site, vous pouvez spécifier un intervalle d’interrogation comme 3e argument de cette méthode.
- Si l’élément est inséré dynamiquement dans le DOM, définissez
isDynamicElementsurtruecomme 4e argument de cette méthode :
Définissez la portée de votre code pour des pages spécifiques
Pour optimiser la performance, assurez-vous que votre code s’exécute uniquement sur les pages pertinentes. Cela est particulièrement important lors de l’utilisation de méthodes basées sur des boucles commerunWhenConditionTrue et runWhenElementPresent, car l’exécution de ces méthodes sur l’ensemble du site peut entraîner des exécutions inutiles et affecter les performances. Par exemple, si vous attendez des informations de chiffre d’affaires dans le dataLayer, encapsulez votre code dans une condition qui vérifie si l’URL correspond à la page de confirmation. Cette approche garantit que le code ne s’exécute que sur la page de confirmation au lieu d’être déclenché sur tout le site.
Exemple : Cibler une page de confirmation spécifique avant d’exécuter une boucle
3. Préférez le CSS pour les modifications visuelles plutôt que JavaScript, notamment lorsque vous traitez des variations dans des scripts
Utiliser le CSS au lieu du JavaScript se traduit par un rendu plus rapide et plus fluide. Le CSS peut être utilisé pour masquer ou modifier des éléments, échanger des blocs et changer des styles ou du texte.Gestion des Single Page Applications (SPA)
Si une expérience s’exécute sur une application monopage (SPA) ou une page mise à jour dynamiquement, des étapes d’implémentation spécifiques sont requises. Contrairement aux sites web traditionnels, les SPA ne rechargent pas les pages entières, donc Kameleoon doit identifier le moment où les mises à jour de contenu se produisent. Veuillez consulter le guide sur la mise en place d’une expérience sur une application monopage pour les meilleures pratiques.Segments / Déclencheurs
La première bonne pratique consiste à baser le ciblage sur des données immédiatement disponibles lors du chargement de la page. Cela comprend des informations telles que l’URL de la page, le type de navigateur, le type d’appareil et toutes les données stockées dans les cookies ou le stockage local. Si votre ciblage nécessite des données qui ne sont pas immédiatement accessibles, suivez ces directives pour assurer une exécution efficace et éviter les retards inutiles.1. Condition JavaScript personnalisée
Cette condition vous permet d’utiliser du JavaScript personnalisé pour cibler les visiteurs. Deux options principales sont disponibles : ####- a. Vérifier la condition immédiatement Ce script s’exécute toutes les 75 millisecondes avant que le DOM ne soit entièrement chargé, puis toutes les 250 millisecondes par la suite. Par défaut, il renvoieundefined, ce qui fait que le script continue de s’exécuter en boucle jusqu’à ce qu’il renvoie explicitement true (pour inclure le visiteur) ou false (pour l’exclure). Assurez-vous toujours que votre condition finisse par se résoudre en true ou false pour éviter des boucles inutiles. Voici un exemple optimisé :
- Si vous voulez cibler un élément spécifique, utilisez plutôt la condition native “Élément sur la page”.
- Si vous voulez attendre des informations sur la page, utilisez l’option “vérifier la condition immédiatement” ci-dessus.
2. Événement personnalisé
L’utilisation d’événements personnalisés est un moyen efficace et passif de cibler les visiteurs. Plutôt que de surveiller continuellement les conditions, cette méthode écoute un événement personnalisé spécifique que vous définissez et déclenche le ciblage lorsque cet événement se produit. Cette approche est particulièrement utile dans deux scénarios clés :Scénario 1 : Lorsque la logique de ciblage est complexe
Il est préférable d’éviter d’intégrer toute la logique directement dans une condition JavaScript au sein du ciblage. À la place, vous pouvez définir un événement personnalisé dans le script global. Par exemple, si vous voulez cibler les visiteurs sur la page panier qui ont au moins trois produits dans leur panier et un montant total supérieur à 30 $, vous devriez déclencher un événement dans le script global une fois ces conditions remplies, plutôt que d’écrire toute la logique dans la condition de segment JavaScript.Scénario 2 : Lorsque plusieurs segments partagent une logique similaire
Si plusieurs segments nécessitent la même variation ou des variations légèrement différentes de la même condition, l’utilisation d’un événement personnalisé évite le code redondant et améliore la maintenabilité. Exemple : Vous devez cibler les visiteurs selon différents montants de panier. Au lieu de dupliquer la logique dans plusieurs segments, vous définissez un script unique dans le script global et déclenchez différents événements personnalisés pour chaque segment :Données personnalisées
Les données personnalisées, comme les événements personnalisés, permettent d’éviter le code en double en vous permettant de stocker et de réutiliser des valeurs. Vous pouvez définir des données personnalisées dans le script global ou dans d’autres scripts, puis les utiliser au sein des segments. Cependant, les données personnalisées diffèrent des événements personnalisés sur deux points clés :a. Par les options de portée : “Page”, “Visite” ou “Visiteur”
Contrairement aux événements personnalisés, qui ne s’appliquent qu’à la page en cours, les données personnalisées peuvent persister sur plusieurs pages et sessions :- Portée Visite : Conserve la valeur pendant toute la session d’un visiteur.
- Portée Visiteur : Stocke la valeur jusqu’à 365 jours, selon la politique relative aux cookies.