Suivi précis des variantes d'expérimentation Optimizely avec GA4

Suivi précis des variantes d'expérimentation Optimizely avec GA4

Valerie Gaudette
Valerie Gaudette
January 7, 2026
Dernière mise à jour : February 15, 2026
January 7, 2026

Faire des tests A/B sans un suivi fiable, c'est comme piloter à l'aveugle. On apporte des modifications, on déclare des gagnants et on espère que les données reflètent la réalité. Mais quand votre plateforme d'expérimentation et votre outil d'analyse ne communiquent pas correctement, vous finissez par prendre des décisions basées sur des données incomplètes ou mal attribuées.

La connexion entre Optimizely et Google Analytics 4 s'est considérablement améliorée au cours des deux dernières années. Optimizely offre maintenant des intégrations GA4 natives qui font le gros du travail, mais les configurer correctement demande encore une attention particulière à la configuration, au timing et au flux de données.

Ce guide explique comment implémenter un suivi précis au niveau des variantes entre Optimizely et GA4. Vous apprendrez les différentes approches d'intégration disponibles, quand utiliser chacune d'elles, et comment vérifier que vos données circulent correctement. Nous nous concentrerons sur l'implémentation pratique plutôt que sur la théorie, avec des étapes de configuration spécifiques et des exemples de code que vous pouvez appliquer directement.

Prérequis

Avant de commencer cette implémentation, assurez-vous d'avoir :

Pour Optimizely Web Experimentation :

  • Un projet Optimizely Web actif avec au moins une expérience prête à être suivie
  • Un accès Administrateur ou Éditeur aux paramètres de votre projet Optimizely
  • L'extrait de code Optimizely installé dans la section <head> de votre site

Pour GA4 :

  • Une propriété GA4 avec la collecte de données activée
  • Un accès administrateur pour créer des dimensions personnalisées et configurer les intégrations
  • Soit gtag.js installé directement, soit GA4 configuré via Google Tag Manager

Pour les configurations GTM (recommandé) :

  • Un conteneur GTM avec accès de publication
  • L'extrait GTM installé correctement (script du conteneur dans <head>, iframe noscript après l'ouverture de <body>)

Connaissances techniques :

  • Compréhension de base du modèle de données événementiel de GA4
  • Familiarité avec les balises, déclencheurs et variables GTM (si vous utilisez GTM)
  • Aisance à lire et modifier du JavaScript

Options d'intégration : Choisir votre approche

Optimizely offre deux chemins principaux pour envoyer les données d'expérimentation vers GA4. Comprendre la différence vous aide à choisir la bonne configuration pour votre situation.

Option 1 : Intégration Analytics (Export d'événements)

Cette intégration envoie les affectations d'expérience vers GA4 sous forme d'événements. Quand un visiteur entre dans une expérience, Optimizely déclenche des événements comme optimizely_decision ou experience_impression qui transportent les informations d'expérience et de variante comme paramètres.

Idéal pour :

  • Les équipes qui veulent des données granulaires au niveau des événements
  • Les configurations où vous devez corréler l'exposition aux variantes avec des actions utilisateur spécifiques
  • Les situations nécessitant une analyse personnalisée dans les Explorations GA4

Option 2 : Génération de rapports (Synchronisation d'audiences)

Cette intégration crée des audiences GA4 correspondant à chaque variation d'expérience. Au lieu de suivre des événements individuels, les visiteurs sont automatiquement ajoutés aux audiences en fonction de leur affectation de variante.

Idéal pour :

  • Les équipes qui analysent principalement les expériences par comparaison d'audiences
  • Les configurations où vous voulez utiliser des segments d'expérience dans Google Ads ou d'autres produits Google
  • Les situations où vous préférez travailler avec des audiences plutôt que des dimensions personnalisées

Vous pouvez activer les deux intégrations simultanément. Plusieurs équipes utilisent l'Export d'événements pour une analyse détaillée et la Génération de rapports pour une segmentation et un reciblage faciles.

Implémentation étape par étape

Étape 1 : Activer l'intégration GA4 dans Optimizely

Commencez dans les paramètres de votre projet Optimizely Web.

  • Naviguez vers Paramètres → Intégrations
  • Trouvez Google Analytics 4 dans la liste des intégrations
  • Cliquez sur Configurer ou Activer
  • Entrez votre ID de mesure GA4 (format : G-XXXXXXXXXX)
  • Choisissez votre type d'intégration : Activez Intégration Analytics pour le suivi basé sur les événements, ou activez Génération de rapports pour le suivi basé sur les audiences
  • Sauvegardez votre configuration

Si vous utilisez la Génération de rapports, vous devrez aussi :

  • Aller à l'expérience spécifique que vous voulez suivre
  • Dans les paramètres de l'expérience, la marquer comme Suivie
  • Cela indique à Optimizely de synchroniser les variations de cette expérience comme audiences GA4

Étape 2 : Configurer les dimensions personnalisées GA4

Pour que l'Intégration Analytics soit utile, vous avez besoin de dimensions personnalisées GA4 pour capturer les données d'expérimentation.

  • Dans GA4, allez à Admin → Définitions personnalisées → Dimensions personnalisées
  • Créez les dimensions suivantes à portée événementielle :

Nom de la dimension : ID d'expérience | Paramètre d'événement : experiment_id | Portée : Événement

Nom de la dimension : ID de variation | Paramètre d'événement : variation_id | Portée : Événement

Nom de la dimension : Nom d'expérience | Paramètre d'événement : experiment_name | Portée : Événement

Nom de la dimension : Nom de variation | Paramètre d'événement : variation_name | Portée : Événement

Note : GA4 fournit aussi une dimension intégrée « Experience – variant ID » qui fonctionne avec l'événement experience_impression, ce qui peut réduire le travail de configuration pour un suivi de base.

Étape 3 : Configurer GTM pour un flux de données fiable (Recommandé)

Notre expérience montre que les implémentations basées sur GTM sont plus fiables que les appels gtag directs, surtout sur les sites avec plusieurs outils d'analyse ou des séquences de déclenchement de balises complexes. Voici comment le configurer :

Créer des variables de couche de données dans GTM :

  • Allez à Variables → Variables définies par l'utilisateur → Nouveau
  • Créez ces variables de couche de données :

Nom de variable : DLV - ID Expérience | Nom de variable de couche de données : optimizely.experimentId

Nom de variable : DLV - ID Variation | Nom de variable de couche de données : optimizely.variationId

Nom de variable : DLV - Nom Expérience | Nom de variable de couche de données : optimizely.experimentName

Nom de variable : DLV - Nom Variation | Nom de variable de couche de données : optimizely.variationName

Créer un déclencheur d'événement personnalisé :

  • Allez à Déclencheurs → Nouveau
  • Choisissez Événement personnalisé
  • Nom de l'événement : optimizely_decision
  • Nommez-le « Événement Décision Optimizely »

Créer la balise d'événement GA4 :

  • Allez à Balises → Nouveau
  • Choisissez Google Analytics : Événement GA4
  • Configurez : Balise de configuration : Sélectionnez votre balise de configuration GA4; Nom de l'événement : optimizely_experiment
  • Paramètres d'événement : experiment_id : {{DLV - ID Expérience}}, variation_id : {{DLV - ID Variation}}, experiment_name : {{DLV - Nom Expérience}}, variation_name : {{DLV - Nom Variation}}
  • Déclencheur : Sélectionnez votre déclencheur « Événement Décision Optimizely »
  • Sauvegardez et nommez-la « GA4 - Événement Expérience Optimizely »

Étape 4 : Pousser les données d'expérimentation vers la couche de données

Si l'intégration GTM intégrée d'Optimizely ne pousse pas automatiquement les données dont vous avez besoin, vous pouvez utiliser un extrait de code personnalisé. Ajoutez ceci à votre site après l'extrait Optimizely :

// Attendre qu'Optimizely soit prêt
window.optimizely = window.optimizely || [];
window.optimizely.push({
  type: "addListener",
  filter: {
    type: "lifecycle",
    name: "campaignDecided"
  },
  handler: function(event) {
    var campaign = event.data.campaign;
    var variation = event.data.decision.variationId;
    
    // Obtenir le nom de la variation depuis l'objet campaign
    var variationName = '';
    if (campaign.variations && campaign.variations[variation]) {
      variationName = campaign.variations[variation].name;
    }
    
    // Pousser vers dataLayer pour GTM
    window.dataLayer = window.dataLayer || [];
    window.dataLayer.push({
      event: 'optimizely_decision',
      optimizely: {
        experimentId: campaign.id,
        experimentName: campaign.name,
        variationId: variation,
        variationName: variationName
      }
    });
  }
});

Cet écouteur se déclenche chaque fois qu'Optimizely décide quelle variation montrer à un visiteur. Il capture à la fois les identifiants et les noms lisibles, puis pousse le tout vers le dataLayer où GTM peut le récupérer.

Étape 5 : Gérer l'expérimentation de fonctionnalités (côté serveur)

Si vous utilisez Optimizely Feature Experimentation pour des expériences côté serveur, l'approche diffère légèrement. Vous utiliserez des écouteurs de notification dans le code de votre SDK.

Exemple SDK JavaScript :

const optimizelyClient = require('@optimizely/optimizely-sdk');

const client = optimizelyClient.createInstance({
  sdkKey: 'VOTRE_CLE_SDK'
});

// Ajouter un écouteur de notification de décision
client.notificationCenter.addNotificationListener(
  optimizelyClient.enums.NOTIFICATION_TYPES.DECISION,
  (decisionObject) => {
    const { type, userId, attributes, decisionInfo } = decisionObject;
    
    if (type === 'feature' || type === 'ab-test') {
      // Pousser vers dataLayer (côté client)
      if (typeof window !== 'undefined' && window.dataLayer) {
        window.dataLayer.push({
          event: 'optimizely-decision-fs',
          flagKey: decisionInfo.flagKey,
          ruleKey: decisionInfo.ruleKey,
          variationKey: decisionInfo.variationKey,
          enabled: decisionInfo.enabled
        });
      }
    }
  }
);

Pour les scénarios côté serveur où vous ne pouvez pas accéder directement au dataLayer du navigateur, vous avez deux options :

  • Passer les données d'affectation d'expérience à votre frontend et pousser vers le dataLayer au chargement de la page
  • Utiliser le Measurement Protocol de GA4 pour envoyer des événements serveur à serveur

La première option est plus simple et fonctionne bien pour la plupart des cas. Intégrez les données d'affectation dans la réponse de votre page, puis faites en sorte que le code côté client les pousse vers le dataLayer.

Étape 6 : Configurer les paramètres de confidentialité

Décidez si GA4 doit recevoir les noms lisibles des expériences et variations ou uniquement les identifiants.

Dans Optimizely :

  • Allez à Paramètres → Confidentialité
  • Cherchez « Masquer les noms descriptifs dans le code du projet et les intégrations tierces »
  • Activez cette option si vous ne voulez pas que les noms d'expériences soient visibles dans GA4

Cela importe pour :

  • Les expériences avec des noms internes sensibles (ex. : « Test prix T1 - rabais agressif »)
  • Les exigences de conformité qui restreignent le partage de métadonnées d'expérience avec des tiers
  • Les équipes qui préfèrent garder les détails d'expérience en interne

Erreurs courantes à éviter

Déclencher plusieurs événements d'affectation par visiteur

Chaque visiteur devrait générer exactement un événement d'affectation par expérience par session. Si votre implémentation personnalisée se déclenche à chaque chargement de page, vous gonflerez vos données d'expérimentation et fausserez l'analyse. Utilisez le stockage de session ou une variable indicateur pour suivre si vous avez déjà déclenché pour une expérience donnée.

// Vérifier si nous avons déjà suivi cette expérience dans cette session
var trackedKey = 'optly_tracked_'   campaign.id;
if (!sessionStorage.getItem(trackedKey)) {
  sessionStorage.setItem(trackedKey, 'true');
  // Pousser vers dataLayer une seule fois
  window.dataLayer.push({...});
}

Problèmes d'ordre des scripts

GTM et Optimizely doivent se charger dans le bon ordre. Nous recommandons de placer les deux dans le <head> avec Optimizely en premier :

<head>
  <!-- Extrait Optimizely en premier -->
  <script src="https://cdn.optimizely.com/js/VOTRE_ID_PROJET.js"></script>
  
  <!-- Extrait GTM en second -->
  <script>(function(w,d,s,l,i){...})(window,document,'script','dataLayer','GTM-XXXX');</script>
</head>

Ignorer les exigences de consentement

Les événements Optimizely et GA4 devraient respecter les préférences de consentement des utilisateurs. Si votre plateforme de gestion du consentement bloque les analyses, assurez-vous que votre suivi d'expérimentation se met aussi en pause. Sinon, vous aurez des événements d'affectation sans données de comportement correspondantes, rendant l'analyse impossible.

S'attendre à des données en temps réel dans GA4

GA4 peut prendre jusqu'à 48 heures pour traiter les données pour les rapports standards. Les mises à jour d'audiences depuis Optimizely se synchronisent quotidiennement. Ne paniquez pas si vous ne voyez pas de données immédiatement après le lancement d'une expérience.

Connexions de propriétés mal assorties

Vous ne pouvez connecter qu'une seule propriété GA4 par projet Optimizely pour la Génération de rapports. Si vous avez des propriétés GA4 séparées pour différents environnements (dev, préproduction, production), assurez-vous de connecter la propriété de production dans votre projet Optimizely de production.

Tests et vérification

Utiliser GA4 DebugView

  • Installez l'extension Chrome Google Analytics Debugger
  • Activez le mode débogage pour votre site
  • Allez à GA4 → Admin → DebugView
  • Déclenchez une expérience sur votre site
  • Surveillez votre événement optimizely_experiment ou optimizely_decision
  • Cliquez sur l'événement pour vérifier que tous les paramètres sont correctement remplis

Vérifier le mode Aperçu de GTM

  • Ouvrez GTM et cliquez sur Aperçu
  • Entrez l'URL de votre site
  • Naviguez vers une page avec une expérience active
  • Dans le panneau d'aperçu, vérifiez : Votre déclencheur d'événement personnalisé s'est activé, votre balise GA4 s'est déclenchée avec les bons paramètres, et les variables de couche de données contiennent les valeurs attendues

Comparer les comptages entre les plateformes

Les équipes avec lesquelles nous travaillons rapportent que les comptages Optimizely et GA4 correspondent rarement exactement — et c'est normal. Les différences surviennent à cause de :

  • Les bloqueurs de publicités empêchant GA4 de se charger
  • Les utilisateurs refusant le consentement aux analyses
  • L'échantillonnage GA4 sur les sites à fort trafic
  • Les différences de timing dans la façon dont chaque plateforme compte les sessions

Un écart de 5-15 % est généralement acceptable. Des écarts plus importants suggèrent un problème de configuration qui mérite d'être investigué.

Créer une expérience de test

Avant de lancer des expériences importantes, créez un simple test « canari » :

  • Configurez une expérience à faible enjeu (ex. : changement de couleur de bouton)
  • Faites-la tourner pendant 24-48 heures
  • Comparez les données dans les Résultats Optimizely vs les rapports GA4
  • Vérifiez que vous pouvez segmenter les données GA4 par variation
  • Confirmez que les chiffres sont directionnellement similaires

Cela détecte les problèmes d'intégration avant qu'ils n'affectent de vrais tests commerciaux.

Vérifier la création d'audiences (Génération de rapports)

Si vous utilisez la Génération de rapports :

  • Marquez une expérience de test comme « Suivie » dans Optimizely
  • Exposez-vous à l'expérience
  • Attendez 24-48 heures
  • Dans GA4, allez à Admin → Audiences
  • Cherchez les audiences correspondant aux variations de votre expérience
  • Vérifiez que l'audience a au moins un utilisateur (vous)

Conclusion

Obtenir un suivi précis au niveau des variantes entre Optimizely et GA4 demande une attention aux détails de configuration, mais les intégrations natives disponibles en 2025 gèrent la majeure partie de la complexité. Les décisions clés sont de choisir entre le suivi basé sur les événements et le suivi basé sur les audiences (ou les deux), de configurer GTM correctement pour un flux de données fiable, et de vérifier votre implémentation avant de lancer des expériences importantes.

Les étapes couvertes ici — activer l'intégration, configurer les dimensions personnalisées, mettre en place GTM, gérer les paramètres de confidentialité et valider les données — vous donnent une base solide pour une analyse d'expérimentation fiable dans GA4.

Mettre en place un suivi d'expérimentation auquel vous pouvez vraiment faire confiance demande une configuration soignée à travers plusieurs plateformes. Si vous prévoyez d'implémenter Optimizely avec GA4 ou de dépanner une configuration existante qui ne produit pas de données fiables, nous pouvons vous aider à identifier les lacunes de configuration et à bâtir une implémentation de suivi qui vous donne confiance dans vos résultats d'expérimentation.

Share this article