Optimizely

App Optimizely Cover

L’application Optimizely permet aux éditeurs et aux gestionnaires de contenu d’expérimenter sur du contenu structuré de manière simple.

Contentful et Optimizely travaillent de concert pour faciliter l’expérimentation sans avoir besoin d’impliquer des développeurs. Cela signifie qu’une fois configurés, les éditeurs peuvent effectuer des expériences sur le contenu à l’aide de l’application web Contentful et n’ont pas besoin de demander des modifications de code aux clients. Cela permet un flux de travail puissant et flexible pour les éditeurs et les gestionnaires de contenu.

Afin d’intégrer avec succès Optimizely dans votre modèle de contenu, nous aborderons les sujets suivants :

  • ***Prérequis

  • Terminologie

  • Installation et configuration

  • Utilisation

  • Intégration avec votre frontend

  • FAQ et résolution de problèmes

***Prérequis

Les conditions préalables pour exécuter des expériences avec Optimizely et Contentful sont les suivantes :

  • Un compte Contentful avec un espace pour votre site web.

  • Un compte Optimizely avec un projet Full Stack.

  • Un développeur pour intégrer la solution initiale à votre frontend.

Terminologie

Nous commencerons par expliquer les définitions des termes.

Qu’est-ce qu’une variation ?

Une variation est simplement une option ou une variante possible dans un test. Si vous effectuez des tests A/B, vous testerez deux options différentes : l’option A et l’option B. En termes concrets : si vous disposez de deux variantes d’un bouton, vous souhaiterez peut-être savoir laquelle obtient le plus de clics.

Qu’est-ce qu’un champ de référence ?

Un champ de référence est spécifique à Contentful. Il s’agit d’un champ dans un type de contenu qui ne contient pas sa propre valeur, mais pointe plutôt vers une ou plusieurs entrée(s). Dans l’image ci-dessous, nous avons un type de contenu appelé page. La page a un champ de référence appelé « composant ». Le champ de référence « composant » est une liste d’éléments (types de contenu) qui peuvent être trouvés sur une page.

App Optimizely Static Content Model

Qu’est-ce qu’un conteneur de variantes ?

Un conteneur de variantes est un type de contenu créé par l’application Optimizely qui est utilisé à la place d’une valeur dans un champ de référence. Dans l’image ci-dessous, nous avons remplacé notre entrée Call To Action (CTA) par un conteneur de variation qui contient deux CTA différents.

C’est ainsi que l’application Optimizely transforme votre modèle de contenu et le prépare à l’expérimentation. Comme indiqué dans la section « Ce dont vous aurez besoin », vous aurez besoin d’un développeur pour gérer la nouvelle réponse de Contentful.

App Optimizely Experimentable Content Model

Étape 1 : installer l’application

Optimizely vous demandera de vous connecter et d’autoriser l’accès à votre compte afin de le connecter à Contentful.

Apps Optimizely install

Sélectionnez un projet Optimizely Full Stack que vous souhaitez utiliser pour vos expériences.

REMARQUE : si vous ne voyez pas de liste de projets, cela signifie que vous n’avez aucun projet démarré dans Optimizely. Vous devrez commencer un projet et créer une expérience avant de continuer.

Cliquez sur Installer.

Étape 2 : configurer l’application

Maintenant que l’application est installée, il est temps de configurer une expérience. Nous allons parcourir un exemple de configuration où nous exécutons une expérience sur le bouton CTA d’une page.

Nous allons activer l’expérimentation sur le champ de référence du composant en l’activant dans l’application Optimizely. Cliquer sur le bouton « Ajouter un type de contenu » présentera un modal où nous choisirons le type de contenu de la page et activerons « composant ».

Apps Optimizely Variation

Comme vous vous en souviendrez dans notre exemple ci-dessus, « composant » est un champ de référence :

App Optimizely Static Content Model

Dans Contentful, cela ressemble à ceci :

Apps Optimizely Home Page

Maintenant que nous avons installé et configuré l’application pour expérimenter sur « composant », nous allons modifier notre contenu pour utiliser le conteneur de variantes. Encore une fois, le conteneur de variantes est un type de contenu personnalisé qui est installé par l’application Optimizely.

Apps Optimizely New Create Experiment

Dans le flux ci-dessus, nous procédons comme suit :

  1. Ajoutez un conteneur de variantes à notre « composant ».

  2. Choisissez l’expérience du CTA dans le menu déroulant de l’interface de l’application Optimizely.

  3. Choisissez le CTA « Acheter maintenant ! » existant pour notre groupe de contrôle.

  4. Créez une nouvelle entrée de CTA avec la valeur « 20 % de réduction ! » et utilisez-la comme variante.

  5. Publiez la nouvelle entrée de CTA.

  6. Publiez le conteneur de variantes.

  7. Supprimez l’ancien bloc du CTA.

  8. Publiez notre page.

Les éditeurs peuvent facilement échanger des valeurs et les transformer en conteneurs de variation comme dans l’exemple ci-dessus. Cela permet de prendre facilement n’importe quel champ de référence utilisé pour afficher du contenu et de le transformer en un conteneur de variantes qui affiche du contenu basé sur une expérience.

Les conteneurs de variantes sont un nouveau type de contenu introduit dans la réponse Contentful. Ce sont des conteneurs qui pointent vers deux ou plusieurs valeurs réelles que nous aimerions tester. Nous devons maintenant intégrer notre frontend avec Optimizely et les conteneurs de variation. À ce stade, nous avons besoin de l’aide d’un développeur pour modifier le fonctionnement de notre frontend afin d’accepter et de gérer par programme les conteneurs de variantes.

À partir de là, nous devons nous plonger de manière plus technique dans la configuration du client et son intégration avec Optimizely. Le guide ci-dessous utilise le même exemple de CTA que nous avons suivi jusqu’à présent. Il est utile pour les développeurs de se familiariser avec le contenu que nous avons décrit ci-dessus avant de passer au guide technique ci-dessous.

Les objectifs de la configuration sont les suivants :

  • Activer l’expérimentation côté serveur sans pousser de nouveau code par expérience.

  • Séparer les préoccupations : contrôler le contenu dans Contentful et les expériences dans Optimizely.

  • Vitesse : sélection côté serveur des variations pour une livraison rapide et pour éviter le « flash de contenu ».

Comment l’application Optimizely modifie la réponse de l’API Contentful

Comme mentionné ci-dessus, l’application Optimizely crée un nouveau type de contenu : le conteneur de variantes. Examinons à nouveau l’exemple de CTA qui dit « Acheter maintenant ! » :

App Optimizely Static Content Model

En utilisant l’application Optimizely, le même modèle de contenu est transformé. Alors que nous avons reçu à l’origine le CTA « Acheter maintenant ! », nous recevons maintenant un conteneur de variantes contenant tous les différents CTA possibles :

App Optimizely Experimentable Content Model

Le conteneur de variantes est simplement un type de contenu qui imbrique les valeurs possibles pour le CTA et contient des métadonnées sur l’expérience Optimizely et les noms de variantes.

Utiliser Optimizely pour choisir la bonne variante

Nous allons créer un pseudo-backend qui prend la réponse de l’API Contentful et utilise le SDK Optimizely pour déterminer quelle variation montrer à l’utilisateur.

Commençons par examiner la réponse JSON du conteneur de variantes renvoyée par Contentful. Notez que le type de contenu expose une propriété metavariations et  experimentKey.

Optimizely variation container JSON response

Avant de pouvoir choisir quelle entrée choisir dans notre conteneur de variantes, nous devons voir comment obtenir la bonne variante d’Optimizely. Vous trouverez ci-dessous un exemple avec un test codé en dur pour obtenir une variante pour un utilisateur.

Optimizely variation test

Dans le code ci-dessus, Optimizely a déterminé que cet utilisateur devrait voir l’option de variation. Il s’agit d’une valeur que nous pouvons obtenir à partir du champ meta du conteneur de variantes.

Maintenant, nous allons mettre à jour notre code pour inclure l’extraction du conteneur de variantes lui-même et l’utilisation de ses valeurs pour renseigner l’expérience Optimizely.

Optimizely pull variation container

Nous avons maintenant l’entryId du bloc de contenu CTA que nous voulons afficher ! Cela signifie que le contenu que nous devrions afficher est le CTA « 20 % de réduction ! » de la figure 1.2 ci-dessus. À partir de là, vous devriez être en mesure d’apporter des modifications minimales à votre logique d’affichage afin d’afficher la bonne entrée.

Remarques importantes sur cet exemple

Dans cet exemple, nous avons utilisé userId. Optimizely exige que vous identifiiez l’utilisateur actuel afin qu’il puisse déterminer dans quel groupe d’expérience le placer. Cet identifiant doit rester avec l’utilisateur et l’identifier correctement au cours des différentes sessions. Si vous utilisez un nombre aléatoire comme identifiant, votre test A/B ne fonctionnera pas correctement et les résultats n’auront aucun sens.

Un datafile a été utilisé dans l’exemple ci-dessus pour créer le client Optimizely. Il est fourni par Optimizely et sera unique à votre projet. Vous pouvez en savoir plus sur le fichier de données ici.

Seul le contenu publié sur Contentful sera exposé dans le conteneur de variantes. En utilisant un environnement Contentful, vous pouvez tester le fonctionnement d’un conteneur de variantes avant de promouvoir votre expérience en production.

Full Stack Experimentation vs Feature Experimentation

Pour savoir ce dont il faut tenir compte lors de la migration de projets depuis Optimizely Full Stack Experimentation vers Feature Experimentation, consultez le guide de migration d’Optimizely.

Comment l’application Optimizely affecte-t-elle mon environnement ?

L’application doit créer un nouveau type de contenu appelé conteneur de variantes. Le conteneur de variantes est un type personnalisé qui utilise une interface d’éditeur personnalisée à l’intérieur de l’application web et rassemble les données d’Optimizely et de Contentful.

Où puis-je activer mes expériences ?

Dans Optimizely. Nous voulons maintenir une séparation claire des préoccupations. Cela signifie que Contentful contrôle le contenu et Optimizely contrôle l’expérience. L’application Optimizely fournit des liens profonds sur la barre latérale dans les tableaux de bord Optimizely pour un accès facile à vos expériences où vous pouvez configurer et lancer des expériences.

Pourquoi la configuration de mon application n’est-elle pas enregistrée ?

Vous devez vous rappeler de cliquer sur « Enregistrer » en haut à droite de l’application Optimizely afin d’enregistrer la configuration complète.

Pourquoi une ou plusieurs de mes variantes n’apparaissent-elles pas ?

Lorsque vous choisissez des variantes à l’intérieur d’un conteneur de variantes, vous devez vous assurer qu’elles sont publiées et qu’il ne s’agit pas de brouillons. En outre, vous devrez vous assurer que votre conteneur de variantes lui-même est publié pour qu’il apparaisse dans la réponse de l’API.

Comment puis-je définir une valeur fallback ou par défaut pour mon expérience ?

C’est à vous de décider. Cependant, une valeur par défaut ou fallback est généralement le groupe de contrôle. Si vous avez un certain public auquel vous ne voulez pas exposer l’expérience, vous devrez vous assurer que votre frontend peut gérer le scénario de fallback vers votre groupe de contrôle.

Comment cibler une certaine audience (segment d’utilisateurs) ?

Vous pouvez le faire dans Optimizely. Vous devrez fournir une valeur unique (généralement un ID d’utilisateur) pour permettre à Optimizely de savoir qui voit actuellement une expérience. Si vous avez besoin d’une solution personnalisée, vous devrez fournir plus de points de données afin de cibler correctement votre audience (segment d’utilisateurs). Dans le cas de l’exclusion d’une audience (segment d’utilisateurs), voir ci-dessus pour définir une valeur par défaut ou fallback.

Que dois-je faire après la fin d’une expérience ?

Il y a quelques options disponibles. Actuellement, Optimizely offre la possibilité de commencer automatiquement à afficher la variante gagnante une fois que votre expérience a rassemblé un ensemble de données significatif. Cela signifie que vous laisseriez votre conteneur de variantes en place et permettriez à Optimizely de toujours choisir la gagnante.

Une autre option consiste à supprimer manuellement le conteneur de variantes et à le remplacer par la valeur qui a remporté l’expérience. Cela peut être bénéfique car vous n’aurez plus besoin de compter sur Optimizely pour diffuser le bon contenu.

La désinstallation de l’application Optimizely interrompt-elle mes expériences ?

Vos expériences existantes continueront de fonctionner. Nous ne disons jamais à Optimizely quoi faire avec vos expériences, nous lisons simplement les noms des expériences, les groupes de variantes et les données de trafic des expériences. Cependant, l’expérience de l’éditeur lors de la gestion d’expériences dans l’application web Contentful se trouvera fortement dégradée. Les conteneurs de variantes existeront toujours, mais l’éditeur personnalisé qu’ils utilisent sera désinstallé.

Pourquoi le conteneur de variantes n’apparaît-il pas comme une option dans mon champ de référence ?

Votre champ de référence peut avoir des validations spécifiques activées. Cela signifie que vous devrez activer le conteneur de variantes en tant que type de contenu valide possible pour ce champ. Cela peut être fait dans l’application ou en trouvant le type de contenu spécifique et en modifiant les validations pour inclure le conteneur de variantes.