Créer des tests Firebase Remote Config avec A/B Testing

Lorsque vous utilisez Firebase Remote Config pour déployer des paramètres pour une application avec une base d'utilisateurs actifs, vous devez vous assurer de ne pas vous tromper. Vous pouvez utiliser les tests A/B Testing pour déterminer les éléments suivants :

  • La meilleure façon d'implémenter une fonctionnalité pour optimiser l'expérience utilisateur. Trop souvent, les développeurs d'applications ne se rendent pas compte que leurs utilisateurs n'aiment pas une nouvelle fonctionnalité ou une expérience utilisateur mise à jour tant que la note de leur application dans l'App Store n'a pas baissé. A/B Testing peut vous aider à mesurer si vos utilisateurs apprécient les nouvelles variantes de fonctionnalités ou s'ils préfèrent l'application telle qu'elle est. De plus, en conservant la plupart de vos utilisateurs dans un groupe de référence, vous vous assurez que la majorité de votre base d'utilisateurs peut continuer à utiliser votre application sans que son comportement ou son apparence ne changent jusqu'à la fin du test.
  • Le meilleur moyen d'optimiser l'expérience utilisateur pour un objectif commercial. Parfois, vous implémentez des modifications de produit pour maximiser une métrique comme les revenus ou la fidélisation. Avec A/B Testing, vous définissez votre objectif d'entreprise, et Firebase effectue l'analyse statistique pour déterminer si une variante surpasse la référence pour l'objectif que vous avez sélectionné.

Pour effectuer un test A/B des variantes de fonctionnalités avec une référence :

  1. Créez votre test.
  2. Gérez votre test.

Créer un test

Un test Remote Config vous permet d'évaluer plusieurs variantes pour un ou plusieurs paramètres Remote Config.

  1. Vérifiez que Google Analytics est activé dans votre projet afin que l'expérience ait accès aux données Analytics.

    Si vous n'avez pas activé Google Analytics lorsque vous avez créé votre projet, vous pouvez l'activer dans l'onglet Intégrations > Paramètres de la console Firebase.

  2. Dans la console Firebase, accédez à DevOps et engagement > A/B Testing.

  3. Cliquez sur Créer un test, puis sélectionnez Remote Config lorsque vous êtes invité à choisir le service que vous souhaitez tester.

  4. Dans la section Variantes, choisissez une référence et au moins une variante pour le test. Vous pouvez ajouter un ou plusieurs paramètres à tester. Vous pouvez répéter cette étape pour ajouter plusieurs paramètres à votre test.

  5. (Facultatif) Pour ajouter plusieurs variantes à votre test, cliquez sur Ajouter une variante.

  6. Modifiez un ou plusieurs paramètres pour des variantes spécifiques. Les paramètres qui n'ont pas été modifiés sont les mêmes pour les utilisateurs non inclus dans le test.

  7. Développez Pondérations des variantes pour afficher ou modifier la pondération des variantes pour le test. Par défaut, chaque variante est pondérée de la même manière. Notez qu'une pondération inégale peut augmenter la durée de collecte des données. Par ailleurs, vous ne pourrez plus modifier la pondération une fois que le test aura commencé.

  8. Définissez les critères de ciblage de votre test à l'aide des conditions Remote Config :

    • Réutiliser une condition existante : si une condition existante dans votre modèle Remote Config correspond déjà à votre audience cible, sélectionnez-la dans la liste.

    • Vérifiez l'ordre d'évaluation des conditions : assurez-vous que les conditions de la page Conditions sont organisées dans le bon ordre de priorité. Étant donné que Remote Config évalue les conditions de manière séquentielle de haut en bas, d'autres conditions de priorité plus élevée peuvent empêcher un nombre suffisant d'utilisateurs d'atteindre la condition associée à votre test.

    • Créer une condition : si aucune condition existante ne répond à vos exigences de ciblage ou si vous préférez dupliquer une condition existante (par exemple, si vous préférez ne pas utiliser une condition déjà utilisée par d'autres paramètres), créez une condition en choisissant d'abord l'application qui utilise votre test. Si vous créez une condition distincte ou dupliquée pour un test, assurez-vous que la nouvelle condition est plus prioritaire que la condition existante. Sinon, les utilisateurs correspondront d'abord à la condition existante et aucun utilisateur ne sera inclus dans le test.

      Vous pouvez ensuite cibler un sous-ensemble spécifique d'utilisateurs en cliquant sur et, puis en sélectionnant une ou plusieurs options dans la liste suivante :

      • Version : une ou plusieurs versions de votre application
      • Numéro de build : numéro de build (Apple) ou code de version (Android) de votre application
      • Plate-forme : une ou plusieurs plates-formes (iOS, Android ou Web) à cibler
      • Système d'exploitation : ciblez les utilisateurs de votre application Web en fonction de leur système d'exploitation et de sa version.
      • Navigateur : ciblez les utilisateurs d'applications Web en fonction de leur navigateur Web et de sa version.
      • Catégorie d'appareil : ciblez les utilisateurs d'applications Web en fonction du type d'appareil qu'ils utilisent (mobile ou non).
      • Langues : une ou plusieurs langues et zones géographiques utilisées pour sélectionner les utilisateurs susceptibles d'être inclus dans le test
      • Pays/Région : un ou plusieurs pays ou régions pour sélectionner les utilisateurs à inclure dans le test
      • Audience utilisateur : audiences Analytics utilisées pour cibler les utilisateurs susceptibles d'être inclus dans le test
      • Propriété utilisateur : une ou plusieurs propriétés utilisateur Analytics permettant de sélectionner les utilisateurs susceptibles d'être inclus dans le test.
      • Utilisateur d'un pourcentage aléatoire : ciblez un pourcentage d'utilisateurs sélectionnés de manière aléatoire dans une plage de centiles définie.
      • Segment importé : ciblez les utilisateurs qui appartiennent à des segments personnalisés importés dans votre projet.
      • Date/Heure : ciblez les utilisateurs en fonction d'une période de date et d'heure spécifique.
      • Première ouverture : ciblez les utilisateurs en fonction de la première fois qu'ils ont ouvert votre application.
      • ID d'installation : ciblez des appareils de test ou des instances client spécifiques à l'aide de leurs ID d'installation Firebase (FIDs).
      • L'utilisateur existe : ciblez tous les utilisateurs de toutes les applications du projet.
      • Signal personnalisé : ciblez les utilisateurs en fonction de signaux personnalisés côté client de type clé-valeur transmis au moment de l'exécution.
  9. Définissez l'exposition : saisissez le pourcentage de la base d'utilisateurs de votre application correspondant aux critères définis sous Cibler les utilisateurs que vous souhaitez répartir de manière égale entre la référence et une ou plusieurs variantes de votre test. Il peut s'agir de n'importe quel pourcentage compris entre 0% et 100%. Les utilisateurs sont attribués de manière aléatoire à chaque test, y compris aux tests dupliqués.

  10. Vous pouvez également définir un événement d'activation pour vous assurer que seules les données des utilisateurs ayant d'abord déclenché un événement Analytics sont comptabilisées dans votre test. Notez que tous les utilisateurs correspondant à vos paramètres de ciblage recevront des valeurs expérimentales Remote Config, mais seuls ceux qui déclenchent un événement d'activation seront inclus dans les résultats de votre test.

    Pour que votre test soit valide, assurez-vous que l'événement que vous choisissez se produit après l'activation des valeurs de configuration récupérées par votre application. De plus, les événements suivants ne peuvent pas être utilisés, car ils se produisent toujours avant l'activation des valeurs récupérées :

    • app_install
    • app_remove
    • app_update

    L'événement Analytics que vous sélectionnez comme événement d'activation ne doit pas être utilisé comme métrique principale (ou comme métrique supplémentaire) dans le même test. Cela déclenchera une erreur de validation dans la console Firebase et empêchera le lancement de votre test.

  11. Pour les objectifs du test, sélectionnez la métrique principale à suivre, puis ajoutez les métriques supplémentaires que vous souhaitez suivre dans la liste. Il s'agit, entre autres, des objectifs intégrés (achats, revenus, fidélisation, utilisateurs sans plantages, etc.), des événements de conversion Analytics et d'autres événements Analytics. Lorsque vous avez terminé, cliquez sur Suivant.

  12. Cliquez sur Enregistrer pour enregistrer votre test. Vous devez publier le modèle pour commencer à exécuter votre test.

Vous pouvez effectuer jusqu'à 300 tests par projet (y compris les déploiements). Parmi ceux-ci, 24 tests et déploiements peuvent être en cours d'exécution, et les autres doivent être terminés.

Gérer votre test

Lorsque vous créez un test avec Remote Config, vous pouvez le lancer, le surveiller pendant son exécution et augmenter le nombre d'utilisateurs inclus dans le test en cours.

Une fois votre test terminé, vous pouvez noter les paramètres utilisés par la variante gagnante, puis les déployer pour tous les utilisateurs. Vous pouvez également exécuter un autre test.

Modifier un test

  1. Dans la section DevOps et engagement du menu de navigation de la console Firebase, cliquez sur Remote Config.
  2. Cliquez sur l'onglet Tests A/B.
  3. Cliquez sur En cours d'exécution, puis sur le test que vous souhaitez modifier.
  4. Cliquez sur le menu contextuel (), puis sur Modifier le test en cours d'exécution.
  5. Pour vérifier que votre application compte des utilisateurs qui seraient inclus dans votre test, développez les détails et recherchez un nombre supérieur à 0% dans la section Ciblage et distribution (par exemple, 1% des utilisateurs correspondant aux critères).

Surveiller un test

Une fois qu'un test est en cours depuis un certain temps, vous pouvez vérifier sa progression et consulter les résultats obtenus jusqu'à présent auprès des utilisateurs qui y ont participé.

  1. Dans la section DevOps et engagement du menu de navigation de la console Firebase, cliquez sur Remote Config.
  2. Cliquez sur l'onglet Tests A/B.
  3. Cliquez sur En cours d'exécution, puis cliquez sur le titre de votre test ou recherchez-le. Sur cette page, vous pouvez consulter diverses statistiques observées et modélisées sur votre test en cours, y compris les suivantes :

    • Différence par rapport à la référence (%) : mesure de l'amélioration d'une métrique pour une variante donnée par rapport à la référence. Calculée en comparant la plage de valeurs de la variante à celle de la référence.
    • Probabilité de surpasser la référence : probabilité estimée qu'une variante donnée surpasse la référence pour la métrique sélectionnée.
    • observed_metric par utilisateur : d'après les résultats du test, il s'agit de la plage de valeurs dans laquelle la métrique devrait se situer au fil du temps.
    • Total observed_metric : valeur cumulative observée pour la référence ou la variante. Cette valeur permet de mesurer les performances de chaque variante de test et de calculer l'amélioration, la plage de valeurs, la probabilité de surpasser la référence et la probabilité d'être la meilleure variante. Selon la métrique mesurée, cette colonne peut être intitulée "Durée par utilisateur", "Revenus par utilisateur", "Taux de fidélisation" ou "Taux de conversion".
  4. Une fois votre test exécuté pendant un certain temps (14 jours pour Remote Config), les données de cette page indiquent la variante la plus performante, le cas échéant. Certaines mesures sont accompagnées d'un graphique à barres qui présente les données sous forme visuelle.

Déployer un test auprès de tous les utilisateurs

Une fois qu'un test a été exécuté suffisamment longtemps pour que vous disposiez d'une variante "optimale" (gagnante) pour votre métrique d'objectif, vous pouvez le déployer auprès de la totalité des utilisateurs. Cela vous permet de sélectionner une variante qui sera désormais présentée à tous les utilisateurs. Même si votre test n'a pas permis de déterminer clairement un gagnant, vous pouvez tout de même choisir de déployer une variante auprès de tous vos utilisateurs.

  1. Dans la section DevOps et engagement du menu de navigation de la console Firebase, cliquez sur Remote Config.
  2. Cliquez sur l'onglet Tests A/B.
  3. Cliquez sur Terminé ou En cours d'exécution, puis sur l'expérience que vous souhaitez déployer auprès de tous les utilisateurs. Cliquez ensuite sur le menu contextuel (Déployer la variante.
  4. Déployez votre test auprès de tous les utilisateurs en procédant comme suit :
    • Pour un test Remote Config, sélectionnez une variante pour déterminer les valeurs de paramètre Remote Config à modifier. Les critères de ciblage définis lorsque vous avez créé le test sont ajoutés en tant que nouvelle condition dans votre modèle afin que seuls les utilisateurs ciblés par le test soient concernés par le déploiement. Après avoir cliqué sur Vérifier dans Remote Config pour examiner les modifications, cliquez sur Publier les modifications pour terminer le déploiement.

Développer un test

Si vous constatez qu'un test n'attire pas suffisamment d'utilisateurs pour que A/B Testing puisse désigner un leader, vous pouvez augmenter la distribution de votre test pour toucher un pourcentage plus important de la base d'utilisateurs de l'application.

  1. Dans la section DevOps et engagement du menu de navigation de la console Firebase, cliquez sur Remote Config.
  2. Cliquez sur l'onglet Tests A/B.
  3. Sélectionnez le test en cours que vous souhaitez modifier.
  4. Dans Présentation du test, cliquez sur le menu contextuel (), puis sur Modifier le test en cours d'exécution.
  5. La boîte de dialogue Ciblage affiche une option permettant d'augmenter le pourcentage d'utilisateurs participant au test en cours. Sélectionnez un nombre supérieur au pourcentage actuel, puis cliquez sur Publier. Le test sera déployé auprès du pourcentage d'utilisateurs que vous avez spécifié.

Dupliquer un test

  1. Dans la section DevOps et engagement du menu de navigation de la console Firebase, cliquez sur Remote Config.
  2. Cliquez sur l'onglet Tests A/B.
  3. Sélectionnez le test en cours ou terminé que vous souhaitez arrêter.
  4. Cliquez sur Terminés ou En cours d'exécution, pointez sur votre test, cliquez sur le menu contextuel , puis sur Dupliquer le test ou Arrêter le test.

Arrêter un test

  1. Dans la section DevOps et engagement du menu de navigation de la console Firebase, cliquez sur Remote Config.
  2. Cliquez sur l'onglet Tests A/B.
  3. Sélectionnez le test en cours ou terminé que vous souhaitez arrêter.
  4. Cliquez sur Terminés ou En cours d'exécution, pointez sur votre test, cliquez sur le menu contextuel (), puis sur Arrêter le test.

Identification du client Web et persistance des tests

Lorsqu'un utilisateur lance une application Web à l'aide de Firebase A/B Testing dans un navigateur pour la première fois, un ID d'installation unique Firebase (FID) est généré. Cet FID est stocké de manière persistante dans l'IndexedDB du navigateur pour identifier l'instance de l'application au cours des sessions.

Firebase A/B Testing utilise le FID pour attribuer des utilisateurs à des variantes de test, et Google Analytics l'utilise pour l'agrégation d'événements afin de mesurer et d'analyser le comportement des utilisateurs dans chaque variante.

Étant donné que le FID est stocké dans IndexedDB, Firebase A/B Testing considère un utilisateur comme un nouvel utilisateur s'il accède à votre application depuis un autre navigateur ou dans une fenêtre de navigation privée, ou s'il vide l'IndexedDB de son navigateur. Cela signifie qu'un utilisateur peut être inclus dans différentes variantes de test lorsqu'il utilise différents navigateurs ou sessions de navigation.

Ciblage des utilisateurs

Vous pouvez cibler les utilisateurs à inclure dans votre test à l'aide des critères de ciblage des utilisateurs suivants.

Les types de règles suivants sont acceptés dans la console Firebase. Des fonctionnalités équivalentes sont disponibles dans l'API REST Remote Config, comme indiqué dans la documentation de référence sur les expressions conditionnelles.

Type de règle Opérateur(s) Valeur(s) Remarque
Application == Sélectionnez un ID d'application dans la liste des applications associées à votre projet Firebase. Lorsque vous ajoutez une application à Firebase, vous saisissez un ID de bundle ou un nom de package Android qui définit un attribut exposé en tant qu'ID d'application dans les règles Remote Config.

Utilisez cet attribut comme suit :
  • Pour les plates-formes Apple : utilisez l'CFBundleIdentifier de l'application. Dans Xcode, votre identifiant de bundle se trouve dans l'onglet Général pour la cible principale de votre application.
  • Pour Android : utilisez l'applicationId de l'application. Vous trouverez applicationId dans le fichier build.gradle(.kts) au niveau de l'application.
Version de l'application Pour les valeurs de chaîne :
correspond exactement,
contient,
ne contient pas,
contient l'expression régulière

Pour les valeurs numériques :
<, <=, =, !=, >, >=

Spécifiez la ou les versions de votre application à cibler.

Avant d'utiliser cette règle, vous devez utiliser une règle ID d'application pour sélectionner une application Android/Apple associée à votre projet Firebase.

Pour les plates-formes Apple : utilisez CFBundleShortVersionString de l'application.

Remarque : Assurez-vous que votre application Apple utilise la version 6.24.0 ou ultérieure du SDK Firebase Apple Platforms, car CFBundleShortVersionString n'est pas envoyé dans les versions antérieures (consultez les notes de version).

Pour Android : utilisez le versionName de l'application.

Les comparaisons de chaînes pour cette règle sont sensibles à la casse. Lorsque vous utilisez les opérateurs correspond exactement à, contient, ne contient pas ou contient l'expression régulière, vous pouvez sélectionner plusieurs valeurs.

Lorsque vous utilisez l'opérateur contient l'expression régulière, vous pouvez créer des expressions régulières au format RE2. Votre expression régulière peut correspondre à tout ou partie de la chaîne de version cible. Vous pouvez également utiliser les ancres ^ et $ pour faire correspondre le début, la fin ou l'intégralité d'une chaîne cible.

Numéro de build Pour les valeurs de chaîne :
correspond exactement,
contient,
ne contient pas,
expression régulière

Pour les valeurs numériques :
=, ≠, >, ≥, <, ≤

Spécifiez la ou les versions de votre application à cibler.

Avant d'utiliser cette règle, vous devez utiliser une règle ID d'application pour sélectionner une application Apple ou une application Android associée à votre projet Firebase.

Cet opérateur n'est disponible que pour les applications Apple et Android. Il correspond à CFBundleVersion pour Apple et à versionCode pour Android. Les comparaisons de chaînes pour cette règle sont sensibles à la casse.

Lorsque vous utilisez les opérateurs correspond exactement à, contient, ne contient pas ou contient l'expression régulière, vous pouvez sélectionner plusieurs valeurs.

Lorsque vous utilisez l'opérateur contient l'expression régulière, vous pouvez créer des expressions régulières au format RE2. Votre expression régulière peut correspondre à tout ou partie de la chaîne de version cible. Vous pouvez également utiliser les ancres ^ et $ pour faire correspondre le début, la fin ou l'intégralité d'une chaîne cible.

Plate-forme == iOS
Android
Web
 
Système d'exploitation ==

Spécifiez le ou les systèmes d'exploitation à cibler.

Avant d'utiliser cette règle, vous devez utiliser une règle ID d'application pour sélectionner une application Web associée à votre projet Firebase.

Cette règle renvoie true pour une instance d'application Web donnée si le système d'exploitation et sa version correspondent à une valeur cible dans la liste spécifiée.
Navigateur ==

Spécifiez le ou les navigateurs à cibler.

Avant d'utiliser cette règle, vous devez utiliser une règle ID d'application pour sélectionner une application Web associée à votre projet Firebase.

Cette règle renvoie true pour une instance d'application Web donnée si le navigateur et sa version correspondent à une valeur cible dans la liste spécifiée.
Catégorie d'appareil est, n'est pas mobile Cette règle évalue si l'appareil accédant à votre application Web est mobile ou non (ordinateur ou console). Ce type de règle n'est disponible que pour les applications Web.
Langues est dans Sélectionnez une ou plusieurs langues. Cette règle renvoie true pour une instance d'application donnée si cette instance d'application est installée sur un appareil qui utilise l'une des langues listées.
Pays/Région est dans Sélectionnez une ou plusieurs régions ou pays. Cette règle renvoie true pour une instance d'application donnée si l'instance se trouve dans l'une des régions ou l'un des pays listés. Le code pays de l'appareil est déterminé à l'aide de l'adresse IP de l'appareil dans la requête ou du code pays déterminé par Firebase Analytics (si les données Analytics sont partagées avec Firebase).
Audiences d'utilisateurs Inclut au moins un des éléments Sélectionnez une ou plusieurs audiences Google Analytics que vous avez configurées pour votre projet.

Cette règle nécessite une règle d'ID d'application pour sélectionner une application associée à votre projet Firebase.

Remarque : Étant donné que de nombreuses audiences Analytics sont définies par des événements ou des propriétés utilisateur, qui peuvent être basés sur les actions des utilisateurs de l'application, il peut s'écouler un certain temps avant qu'une règle Utilisateur dans l'audience ne prenne effet pour une instance d'application donnée. Cela signifie que même si un utilisateur est techniquement éligible à une audience, s'il n'y a pas encore été ajouté par Analytics au moment de l'exécution de fetchAndActivate(), il ne correspondra pas à la condition.

Propriété utilisateur Pour les valeurs de chaîne :
contient,
ne contient pas,
correspond exactement à,
contient l'expression régulière

Pour les valeurs numériques :
=, ≠, >, ≥, <, ≤

Remarque : Sur le client, vous ne pouvez définir que des valeurs de chaîne pour les propriétés utilisateur. Pour les conditions qui utilisent des opérateurs numériques, Remote Config convertit la valeur de la propriété utilisateur correspondante en entier/float.
Sélectionnez une propriété utilisateur Google Analytics dans la liste des propriétés disponibles. Pour découvrir comment utiliser les propriétés utilisateur afin de personnaliser votre application pour des segments très spécifiques de votre base d'utilisateurs, consultez Remote Config et les propriétés utilisateur.

Pour en savoir plus sur les propriétés utilisateur, consultez les guides suivants :

Lorsque vous utilisez les opérateurs correspond exactement à, contient, ne contient pas ou contient l'expression régulière, vous pouvez sélectionner plusieurs valeurs.

Lorsque vous utilisez l'opérateur contient l'expression régulière, vous pouvez créer des expressions régulières au format RE2. Votre expression régulière peut correspondre à tout ou partie de la chaîne de version cible. Vous pouvez également utiliser les ancres ^ et $ pour faire correspondre le début, la fin ou l'intégralité d'une chaîne cible.

Remarque : Les propriétés utilisateur collectées automatiquement ne sont pas disponibles lorsque vous créez des conditions Remote Config.
Utilisateur d'un pourcentage aléatoire Curseur (dans la console Firebase). L'API REST utilise les opérateurs <=, > et between. 0–100

Utilisez ce champ pour appliquer une modification à un échantillon aléatoire d'instances d'application (avec des tailles d'échantillon aussi petites que 0,0001%). Utilisez le widget de curseur pour segmenter les utilisateurs (instances d'application) mélangés de manière aléatoire en groupes.

Chaque instance d'application est mappée de manière persistante à un nombre entier ou fractionnaire aléatoire, selon une valeur initiale définie dans ce projet.

Une règle utilisera la clé par défaut (affichée sous la forme Modifier le seed dans la console Firebase), sauf si vous modifiez la valeur du seed. Pour rétablir la clé par défaut d'une règle, effacez le champ Seed.

Pour cibler de manière cohérente les mêmes instances d'application dans des plages de pourcentage données, utilisez la même valeur source dans toutes les conditions. Vous pouvez également sélectionner un nouveau groupe d'instances d'application attribué de manière aléatoire pour une plage de pourcentage donnée en spécifiant un nouveau seed.

Par exemple, pour créer deux conditions associées qui s'appliquent chacune à 5% des utilisateurs d'une application (sans chevauchement), vous pouvez configurer une condition pour qu'elle corresponde à un pourcentage compris entre 0% et 5 %, et une autre condition pour qu'elle corresponde à une plage comprise entre 5% et 10%. Pour autoriser certains utilisateurs à apparaître de manière aléatoire dans les deux groupes, utilisez des valeurs de départ différentes pour les règles de chaque condition.

Segment importé est dans Sélectionnez un ou plusieurs segments importés. Cette règle nécessite la configuration de segments importés personnalisés.
Date/Heure Avant, Après Une date et une heure spécifiques, soit dans le fuseau horaire de l'appareil, soit dans un fuseau horaire spécifique tel que "(GMT+11) Heure de Sydney". Compare l'heure actuelle à l'heure de récupération des données de l'appareil.
Première ouverture Avant, Après

Ciblez les utilisateurs en fonction de la première fois qu'ils ont ouvert votre application :

  • Sélectionnez Nouveaux utilisateurs pour cibler les utilisateurs qui effectueront leur première ouverture de l'application après une date et une heure futures spécifiques.
  • Sélectionnez Période pour cibler les utilisateurs qui effectuent la première ouverture de votre application dans la période avant ou après la date et l'heure que vous spécifiez. Combinez les conditions Avant et Après pour cibler les utilisateurs dans une plage de temps spécifique.

Le ciblage des utilisateurs par première ouverture est disponible après avoir sélectionné une application Android, iOS ou Web.

Nécessite les SDK suivants :

  • SDK Firebase pour Google Analytics
  • SDK pour les plates-formes Apple version 9.0.0+ ou SDK Android version 21.1.1+ (Firebase BoM version 30.3.0+) et SDK JavaScript version 12.8.0+.

Analytics doit également avoir été activé sur le client lors de la première ouverture.

ID d’installation est dans Spécifiez un ou plusieurs ID d'installation (jusqu'à 50) à cibler. Cette règle renvoie true pour une installation donnée si l'ID de cette installation figure dans la liste des valeurs séparées par une virgule.

Pour savoir comment obtenir des ID d'installation, consultez Récupérer les identifiants client.
L'utilisateur existe (aucun opérateur) Cible tous les utilisateurs de toutes les applications du projet actuel.

Utilisez cette règle de condition pour faire correspondre tous les utilisateurs du projet, quelle que soit l'application ou la plate-forme.

Signal personnalisé Pour les valeurs de chaîne :
contient,
ne contient pas,
correspond exactement à,
contient l'expression régulière

Pour les valeurs numériques :
=, ≠, >, ≥, <, ≤

Pour les valeurs de version :
=, ≠, >, ≥, <, ≤

Les comparaisons de chaînes pour cette règle sont sensibles à la casse. Lorsque vous utilisez les opérateurs "correspond exactement à", "contient", "ne contient pas" ou "contient l'expression régulière", vous pouvez sélectionner plusieurs valeurs. Lorsque vous utilisez l'opérateur d'expression régulière "contient", vous pouvez créer des expressions régulières au format RE2. Votre expression régulière peut correspondre à tout ou partie de la chaîne de version cible. Vous pouvez également utiliser les ancres ^ et $ pour faire correspondre le début, la fin ou l'intégralité d'une chaîne cible.

Les types de données suivants sont acceptés pour les environnements client :
  • iOS : int, double
  • Android : int, long, double
  • Web : nombre

Chiffre représentant le ou les numéros de version à faire correspondre (par exemple, 2.1.0).

Pour en savoir plus sur les conditions de signaux personnalisées et les expressions conditionnelles à utiliser, consultez Conditions de signaux personnalisées et Éléments utilisés pour créer des conditions.

A/B Testing métriques

Lorsque vous créez votre test, vous choisissez une métrique principale ou d'objectif qui est utilisée pour déterminer la variante gagnante. Vous devez également suivre d'autres métriques pour mieux comprendre les performances de chaque variante de test et suivre les tendances importantes qui peuvent différer pour chaque variante, comme la rétention des utilisateurs, la stabilité de l'application et les revenus générés par les achats via l'application. Vous pouvez suivre jusqu'à cinq métriques non liées à l'objectif dans votre test.

Par exemple, imaginons que vous utilisiez Remote Config pour lancer deux flux de jeu différents dans votre application et que vous souhaitiez optimiser les achats via l'application et les revenus publicitaires, mais que vous souhaitiez également suivre la stabilité et la rétention des utilisateurs de chaque variante. Dans ce cas, vous pouvez choisir Revenu total estimé comme métrique d'objectif, car elle inclut les revenus des achats via une application et les revenus publicitaires. Ensuite, pour Autres métriques à suivre, vous pouvez ajouter les suivantes :

  • Pour suivre la rétention des utilisateurs au quotidien et à la semaine, ajoutez Rétention (2 à 3 jours) et Rétention (4 à 7 jours).
  • Pour comparer la stabilité entre les deux flux de jeu, ajoutez Utilisateurs n'ayant pas subi de plantage.
  • Pour afficher des vues plus détaillées de chaque type de revenu, ajoutez Revenus générés par les achats et Revenus publicitaires estimés.

Les tableaux suivants fournissent des informations sur la façon dont les métriques d'objectif et les autres métriques sont calculées.

Statistiques "Objectif"

Métrique Description
Utilisateurs n'ayant pas subi de plantage Pourcentage d'utilisateurs n'ayant pas rencontré d'erreurs dans votre application, détectées par le SDK Firebase Crashlytics pendant le test.

Remarque : Firebase Crashlytics n'est pas compatible avec les applications Web.

Revenus publicitaires estimés Revenus publicitaires estimés.
Total des revenus estimés Valeur combinée des revenus publicitaires estimés et des achats.
Revenus issus des achats Valeur combinée de tous les événements purchase et in_app_purchase.
Fidélisation (1 jour) Nombre d'utilisateurs qui reviennent sur votre application chaque jour.
Rétention (2 à 3 jours) Nombre d'utilisateurs qui reviennent sur votre application dans un délai de deux à trois jours.
Rétention (4 à 7 jours) Nombre d'utilisateurs qui reviennent dans votre application au bout de quatre à sept jours.
Rétention (8-14 jours) Nombre d'utilisateurs qui reviennent sur votre application dans un délai de 8 à 14 jours.
Fidélisation (plus de 15 jours) Nombre d'utilisateurs qui reviennent sur votre application 15 jours ou plus après leur dernière utilisation.
first_open Un événement Analytics qui se déclenche lorsqu'un utilisateur ouvre une application pour la première fois après l'avoir installée ou réinstallée. Utilisé dans un entonnoir de conversion.

Autres métriques

Métrique Description
notification_dismiss Événement Analytics qui se déclenche lorsqu'une notification envoyée par le compositeur de notifications est ignorée (Android uniquement).
notification_receive Événement Analytics qui se déclenche lorsqu'une notification envoyée par le compositeur de notifications est reçue alors que l'application est en arrière-plan (Android uniquement).
os_update Événement Analytics qui suit la mise à jour du système d'exploitation de l'appareil vers une nouvelle version.Pour en savoir plus, consultez Événements collectés automatiquement.

Cette métrique n'est pas disponible pour les applications Web.

screen_view Événement Analytics qui suit les écrans consultés dans votre application. Pour en savoir plus, consultez Suivre les vues d'écran.
session_start Événement Analytics qui comptabilise les sessions utilisateur dans votre application. Pour en savoir plus, consultez Événements collectés automatiquement.

Exportation de données BigQuery

En plus d'afficher les données des tests A/B Testing dans la console Firebase, vous pouvez les inspecter et les analyser dans BigQuery. Bien que A/B Testing ne dispose pas d'une table BigQuery distincte, les appartenances aux tests et aux variantes sont stockées dans chaque événement Google Analytics des tables d'événements Analytics.

Les propriétés utilisateur qui contiennent des informations sur les tests sont au format userProperty.key like "firebase_exp_%" ou userProperty.key = "firebase_exp_01", où 01 correspond à l'ID du test et userProperty.value.string_value contient l'index (basé sur zéro) de la variante du test.

Vous pouvez utiliser ces propriétés utilisateur d'expérimentation pour extraire les données d'expérimentation. Vous pouvez ainsi segmenter les résultats de vos tests de différentes manières et vérifier indépendamment les résultats de A/B Testing.

Pour commencer, effectuez les opérations suivantes décrites dans ce guide :

  1. Activez l'exportation BigQuery pour Google Analytics dans la console Firebase.
  2. Accéder aux données A/B Testing à l'aide de BigQuery
  3. Explorer des exemples de requêtes

Activer l'exportation BigQuery pour Google Analytics dans la console Firebase

Si vous disposez du forfait Spark, vous pouvez utiliser le bac à sable BigQuery pour accéder à BigQuery sans frais, sous réserve des limites du bac à sable. Pour en savoir plus, consultez Tarifs et bac à sable BigQuery.

Tout d'abord, assurez-vous d'exporter vos données Analytics vers BigQuery :

  1. Dans la consoleFirebase, accédez à l'onglet Intégrations  Paramètres.

  2. Dans la fiche BigQuery, cliquez sur Gérer et vérifiez que votre projet exporte les données Analytics vers BigQuery.

    Si la fiche indique Associer, vous devez configurer l'exportation (passez à l'étape suivante).

  3. Si vous devez configurer l'exportation :

    1. Consultez À propos de l'association de Firebase à BigQuery, puis cliquez sur Suivant.

    2. Dans la section Configurer l'intégration, activez Google Analytics.

    3. Sélectionnez une région et choisissez les paramètres d'exportation.

    4. Cliquez sur Associer à BigQuery.

Selon la façon dont vous avez choisi d'exporter les données, il peut s'écouler jusqu'à un jour avant que les tables ne soient disponibles. Pour en savoir plus sur l'exportation des données de projet vers BigQuery, consultez Exporter les données de projet vers BigQuery.

Accéder aux données A/B Testing dans BigQuery

Avant d'interroger les données d'un test spécifique, vous devez obtenir tout ou partie des éléments suivants à utiliser dans votre requête :

  • ID du test : vous pouvez l'obtenir à partir de l'URL de la page Présentation du test. Par exemple, si votre URL ressemble à https://console.firebase.google.com/project/my_firebase_project/config/experiment/results/25, l'ID de l'expérience est 25.
  • ID de propriété Google Analytics : il s'agit de l'ID de propriété Google Analytics à neuf chiffres. Vous trouverez cette information dans Google Analytics. Elle apparaît également dans BigQuery lorsque vous développez le nom de votre projet pour afficher le nom de votre table d'événements Google Analytics (project_name.analytics_000000000.events).
  • Date de l'expérience : pour composer une requête plus rapide et plus efficace, il est recommandé de limiter vos requêtes aux partitions de table d'événements quotidiens Google Analytics qui contiennent vos données d'expérience (tables identifiées par le suffixe YYYYMMDD). Par exemple, si votre test s'est déroulé du 2 février 2024 au 2 mai 2024, vous devez spécifier _TABLE_SUFFIX between '20240202' AND '20240502'. Pour obtenir un exemple, consultez Sélectionner les valeurs d'un test spécifique.
  • Noms d'événements : ils correspondent généralement aux métriques d'objectif que vous avez configurées dans le test. Par exemple, les événements in_app_purchase, ad_impression ou user_retention.
.

Une fois que vous avez collecté les informations nécessaires pour générer votre requête :

  1. Dans la consoleGoogle Cloud, accédez à BigQuery.
  2. Sélectionnez votre projet, puis Créer une requête SQL.
  3. Ajoutez votre requête. Pour obtenir des exemples de requêtes à exécuter, consultez Explorer des exemples de requêtes.
  4. Cliquez sur Exécuter.

Interroger les données de test à l'aide de la requête générée automatiquement dans la console Firebase

Si vous utilisez le forfait Blaze, la page Présentation des tests fournit un exemple de requête qui renvoie le nom du test, les variantes, les noms des événements et le nombre d'événements pour le test que vous consultez.

Pour obtenir et exécuter la requête générée automatiquement :

  1. Dans la console Firebase, accédez à DevOps et engagement > A/B Testing.
  2. Sélectionnez le test A/B Testing pour lequel vous souhaitez exécuter une requête afin d'ouvrir la page Présentation du test.
  3. Dans le menu d'options, sous Intégration BigQuery, sélectionnez Interroger les données de test. Votre projet s'ouvre dans BigQuery au sein de la console Google Cloud et fournit une requête de base que vous pouvez utiliser pour interroger les données de votre test.

L'exemple suivant montre une requête générée pour un test comportant trois variantes (y compris la variante de référence) nommé "Test d'accueil hivernal". Elle renvoie le nom du test actif, le nom de la variante, l'événement unique et le nombre d'événements pour chaque événement. Notez que le générateur de requêtes ne spécifie pas le nom de votre projet dans le nom de la table, car il s'ouvre directement dans votre projet.

  /*
    This query is auto-generated by Firebase A/B Testing for your
    experiment "Winter welcome experiment".
    It demonstrates how you can get event counts for all Analytics
    events logged by each variant of this experiment's population.
  */
  SELECT
    'Winter welcome experiment' AS experimentName,
    CASE userProperty.value.string_value
      WHEN '0' THEN 'Baseline'
      WHEN '1' THEN 'Welcome message (1)'
      WHEN '2' THEN 'Welcome message (2)'
      END AS experimentVariant,
    event_name AS eventName,
    COUNT(*) AS count
  FROM
    `analytics_000000000.events_*`,
    UNNEST(user_properties) AS userProperty
  WHERE
    (_TABLE_SUFFIX BETWEEN '20240202' AND '20240502')
    AND userProperty.key = 'firebase_exp_25'
  GROUP BY
    experimentVariant, eventName

Pour obtenir d'autres exemples de requêtes, consultez Explorer des exemples de requêtes.

Découvrir des exemples de requêtes

Les sections suivantes fournissent des exemples de requêtes que vous pouvez utiliser pour extraire les données de test A/B Testing à partir des tables d'événements Google Analytics.

Extraire les valeurs de l'écart type des achats et des tests de tous les tests

Vous pouvez utiliser les données des résultats des tests pour vérifier indépendamment les résultats de Firebase A/B Testing. L'instruction SQL BigQuery suivante extrait les variantes de test, le nombre d'utilisateurs uniques dans chaque variante, et additionne le revenu total des événements in_app_purchase et ecommerce_purchase, ainsi que les écarts types pour tous les tests au cours de la période spécifiée comme dates de début et de fin _TABLE_SUFFIX. Vous pouvez utiliser les données obtenues à partir de cette requête avec un générateur de signification statistique pour les tests t unilatéraux afin de vérifier que les résultats fournis par Firebase correspondent à votre propre analyse.

Pour en savoir plus sur la façon dont A/B Testing calcule l'inférence, consultez Interpréter les résultats des tests.

  /*
    This query returns all experiment variants, number of unique users,
    the average USD spent per user, and the standard deviation for all
    experiments within the date range specified for _TABLE_SUFFIX.
  */
  SELECT
    experimentNumber,
    experimentVariant,
    COUNT(*) AS unique_users,
    AVG(usd_value) AS usd_value_per_user,
    STDDEV(usd_value) AS std_dev
  FROM
    (
      SELECT
        userProperty.key AS experimentNumber,
        userProperty.value.string_value AS experimentVariant,
        user_pseudo_id,
        SUM(
          CASE
            WHEN event_name IN ('in_app_purchase', 'ecommerce_purchase')
              THEN event_value_in_usd
            ELSE 0
            END) AS usd_value
      FROM `PROJECT_NAME.analytics_ANALYTICS_ID.events_*`
      CROSS JOIN UNNEST(user_properties) AS userProperty
      WHERE
        userProperty.key LIKE 'firebase_exp_%'
        AND event_name IN ('in_app_purchase', 'ecommerce_purchase')
        AND (_TABLE_SUFFIX BETWEEN 'YYYYMMDD' AND 'YYYMMDD')
      GROUP BY 1, 2, 3
    )
  GROUP BY 1, 2
  ORDER BY 1, 2;

Sélectionner les valeurs d'un test spécifique

L'exemple de requête suivant montre comment obtenir des données pour un test spécifique dans BigQuery. Cet exemple de requête renvoie le nom de l'expérience, les noms des variantes (y compris la variante de référence), les noms des événements et le nombre d'événements.

  SELECT
    'EXPERIMENT_NAME' AS experimentName,
    CASE userProperty.value.string_value
      WHEN '0' THEN 'Baseline'
      WHEN '1' THEN 'VARIANT_1_NAME'
      WHEN '2' THEN 'VARIANT_2_NAME'
      END AS experimentVariant,
    event_name AS eventName,
    COUNT(*) AS count
  FROM
    `analytics_ANALYTICS_PROPERTY.events_*`,
    UNNEST(user_properties) AS userProperty
  WHERE
    (_TABLE_SUFFIX BETWEEN 'YYYMMDD' AND 'YYYMMDD')
    AND userProperty.key = 'firebase_exp_EXPERIMENT_NUMBER'
  GROUP BY
    experimentVariant, eventName