Catégorie : Test AB
Cette intégration est uniquement disponible pour les projets web.
À quoi s'attendre
Avec l'intégration de Dynamic Yield avec Contentsquare, vous pouvez analyser les principaux facteurs de motivation qui déterminent le comportement des utilisateurs sur vos propriétés numériques plus en profondeur. Grâce aux cartes thermiques par zones de Données de zones et à l'analyse de parcours de Parcours de navigation de Contentsquare, vous pourrez mieux comprendre pourquoi chaque expérience et variation de Dynamic Yield a obtenu les résultats enregistrés, quel a été l'impact sur les parcours de vos clients, ainsi qu'obtenir des informations supplémentaires sur la façon d'itérer et de mettre à jour vos efforts de personnalisation pour chaque segment de clientèle. Tirez parti de l'intégration de Dynamic Yield avec Contentsquare pour :
- accéder aux cartes thermiques des zones de votre site afin d'attribuer correctement les conversions et les revenus aux éléments de vos campagnes de personnalisation qui en sont à l'origine.
- obtenir des mesures comportementales exclusives pour chaque élément de la page afin de mettre en lumière la portée moyenne du scroll de la page et les niveaux d'engagement des différents éléments.
- utiliser les tunnels de conversion et le module Parcours de navigation pour voir comment chaque expérience a impacté les parcours de vos utilisateurs sur vos plateformes numériques.
Ce que nous collectons
Variables dynamiques
Key | Value | Type de données |
AB_DY_{Campaign Name} | Variation : 1 | Texte |
AB_DY_{Audience ID} | true | Texte |
Implémentation
Étapes d'implémentation
Il existe 2 méthodes d'implémentation pour cette intégration : choisissez celle qui vous convient le mieux. La première est côté client, l'autre est côté serveur.
Veuillez vous référer à la section correspondant à la méthode choisie ci-dessous.
Solution côté client
Enregistrer des campagnes
Notez que si vous avez déjà installé une version précédente du code d'intégration de Contentsquare, vous devrez la désactiver. Sinon, passez cette partie.
Pour désactiver l'ancienne version, rendez-vous dans l'onglet "Extensions" et désactivez l'intégration de la plateforme analytique OU, si vous avez besoin de certaines parties de cette plateforme pour votre bon fonctionnement, modifiez-la et supprimez le code d'intégration de Contentsquare.
Enregistrer des audiences
- N'hésitez pas à modifier le code selon vos besoins en termes de timing pour vous assurer que la fonction DY.ServerUtil.getUserAudiences est disponible avant que le code ne s'exécute. Il est recommandé d'injecter ce code après Dynamic Yield.
- Ne modifiez pas la variable tvp : il s'agit d'un préfixe obligatoire qui doit rester tel quel.
- La limite dans le code est fixée à 20 et il n'est pas recommandé d'augmenter cette limite. En effet, il y a une limite sur le nombre de variables dynamiques qui peuvent être envoyées à Contentsquare par page vue et vous pourriez atteindre cette limite plus rapidement si vous avez d'autres intégrations activées qui utilisent également des variables dynamiques.
- Il est recommandé de modifier le code pour permettre à certains ID d'audience de nous être envoyés, ceux qui vous intéressent principalement. Vous pouvez y parvenir en ajoutant les ID d'audience au tableau allowList dans le code. Vous trouverez ces identifiants dans l'URL de votre interface utilisateur Dynamic Yield où vous avez créé les audiences.
Ajoutez-les sous forme de nombres séparés par des virgules.
Par exemple : var allowList = [1323949, 894638, 738182];
/* *Name: Dynamic Yield Audience ID CS Integration *Version: 1.0.0 */ var tvp = "AB_DY_"; function sendToCS(csKey, csValue) { csKey = tvp + csKey; _uxa.push([ "trackDynamicVariable", { key: csKey, value: csValue, }, ]); } var counter = 0; var limit = 20; //Add your Audience IDs to the array below with comma separated number values. You can find these values in the URL of your Dynamic Yield UI. var allowList = []; function csCallback() { if (!disableCallback) { disableCallback = true; setTimeout(function () { if (window.DY && DY.ServerUtil && typeof DY.ServerUtil.getUserAudiences === "function") { var getAudiences = DY.ServerUtil.getUserAudiences(); for (var i = 0; i < getAudiences.length; i++) { if (allowList.includes(getAudiences[i])) { var audienceID = "Audience ID : " + getAudiences[i]; var value = "true"; counter++; if (counter <= limit) { sendToCS(audienceID, value); } } } } }, 500); } } window._uxa = window._uxa || []; var disableCallback = false; _uxa.push(["afterPageView", csCallback]); // Dynamic Yield Audience ID CS Integration End
Solution côté serveur
Ajoutez et modifiez le code suivant dans le code côté serveur de votre serveur web qui contient la réponse d'API du serveur de Dynamic Yield.
Notez que, dans le code ci-dessous, la seule partie que vous devez modifier est la section [DY_RESPONSE_OBJECT] qui n'est pas un objet réel. Elle doit être remplacée par la réponse de l'objet réel renvoyée par l'API de Dynamic Yield. Ce code est entièrement en JavaScript et doit être rendu dans la réponse du serveur à votre site à chaque vue de page et pour chaque test. Veuillez ne pas modifier d'autre logique de code au-dessus de cela.
/* *Name: Dynamic Yield CS Integration - Server Side *Version: 1.0.0 */ var version = "1.0.0"; var tvp = "AB_DY_SS_"; window._uxa = window._uxa || []; function sendToCS(csKey, csValue) { csKey = tvp + csKey; _uxa.push([ "trackDynamicVariable", { key: csKey, value: csValue, }, ]); } //Replace [DY_RESPONSE_OBJECT] with the actual response from DY which contains the required properties var choices = [DY_RESPONSE_OBJECT].choices; if (choices) { for (var i = 0; i < choices.length; i++) { var variations = choices[i].variations; var analyticsMetadata = variations[0] && variations[0].analyticsMetadata; if (analyticsMetadata) { var campaignName = analyticsMetadata.campaignName; var variationName = analyticsMetadata.variationName; if (campaignName && variationName) { sendToCS(campaignName, variationName); } } } } function callback() { if (!disableCallback) { disableCallback = true; if (window.CS_CONF) { CS_CONF.integrations = CS_CONF.integrations || []; CS_CONF.integrations.push("Dynamic Yield Server Side - v" + version); } } } var disableCallback = false; _uxa.push(["afterPageView", callback]); //Dynamic Yield CS Integration End
Vérifier que ça fonctionne
Vous pouvez utiliser l'extension Chrome pour vérifier que les résultats sont bien envoyés à Contentsquare.