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 compte que leurs utilisateurs n'apprécient pas une nouvelle fonctionnalité ou une expérience utilisateur mise à jour que lorsque la note de leur application dans l'App Store baisse. Les tests A/B peuvent vous aider à déterminer 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 ni 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 les tests A/B, vous définissez votre objectif commercial, et Firebase effectue l'analyse statistique pour déterminer si une variante surpasse la référence pour l'objectif sélectionné.
Pour tester différentes variantes d'une fonctionnalité par rapport à une référence, procédez comme suit :
- Créez votre test.
- Validez votre test sur un appareil de test.
- 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.
Connectez-vous à la console Firebase et vérifiez que Google Analytics est activé dans votre projet afin que le test ait accès aux données Analytics.
Si vous n'avez pas activé Google Analytics lors de la création de votre projet, vous pouvez l'activer dans l'onglet Intégrations, auquel vous pouvez accéder en utilisant > Paramètres du projet dans la console Firebase.
Dans la section Engage du menu de navigation de la console Firebase, cliquez sur A/B Testing.
Cliquez sur Créer un test, puis sélectionnez Remote Config lorsque vous êtes invité à choisir le service que vous souhaitez tester.
Saisissez un nom et une description facultative pour votre test, puis cliquez sur Suivant.
Remplissez les champs Ciblage en commençant par choisir l'application qui utilise votre test. Vous pouvez également cibler un sous-ensemble de vos utilisateurs pour qu'ils participent à votre test. Pour ce faire, cliquez sur et, puis sélectionnez des options dans la liste suivante :
- Version : une ou plusieurs versions de votre application
- Numéro de build : code de version de l'application
- 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.
Première ouverture : ciblez les utilisateurs en fonction de la première fois qu'ils ont ouvert votre application.
Le ciblage des utilisateurs par heure de première ouverture est disponible après avoir sélectionné une application Android ou iOS. Il est compatible avec les versions suivantes du SDK Remote Config : SDK pour les plates-formes Apple v9.0.0+ et SDK Android v21.1.1+ (Firebase BoM v30.3.0+).
Analytics doit également avoir été activé sur le client lors du premier événement d'ouverture.
Définissez le pourcentage d'utilisateurs cibles : saisissez le pourcentage de la base d'utilisateurs de votre application correspondant aux critères définis sous Utilisateurs cibles 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,01 % et 100 %. Les utilisateurs sont attribués de manière aléatoire à chaque test, y compris aux tests dupliqués.
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
dynamic_link_first_open
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, par exemple, des objectifs intégrés (achats, revenus, fidélisation, utilisateurs sans plantages, etc.), Analytics événements de conversion et Analytics autres événements. Lorsque vous avez terminé, cliquez sur Suivant.
Dans la section Variantes, choisissez une référence et au moins une variante pour le test. Utilisez la liste Choisir ou créer pour ajouter un ou plusieurs paramètres à tester. Vous pouvez créer un paramètre qui n'a pas été utilisé auparavant dans la console Firebase, mais il doit exister dans votre application pour avoir un effet. Vous pouvez répéter cette étape pour ajouter plusieurs paramètres à votre test.
(Facultatif) Pour ajouter plusieurs variantes à votre test, cliquez sur Ajouter une variante.
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.
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é.
Cliquez sur Vérifier pour enregistrer votre test.
Vous pouvez effectuer jusqu'à 300 tests par projet, dont 24 tests en cours maximum. Les autres peuvent être des brouillons ou des tests terminés.
Valider votre expérience sur un appareil de test
Pour chaque installation Firebase, vous pouvez récupérer le jeton d'authentification d'installation qui y est associé. Vous pouvez utiliser ce jeton pour tester des variantes d'expérience spécifiques sur un appareil de test sur lequel votre application est installée. Pour valider votre test sur un appareil de test, procédez comme suit :
- Obtenez le jeton d'authentification de l'installation comme suit :
Swift
do { let result = try await Installations.installations() .authTokenForcingRefresh(true) print("Installation auth token: \(result.authToken)") } catch { print("Error fetching token: \(error)") }
Objective-C
[[FIRInstallations installations] authTokenForcingRefresh:true completion:^(FIRInstallationsAuthTokenResult *result, NSError *error) { if (error != nil) { NSLog(@"Error fetching Installation token %@", error); return; } NSLog(@"Installation auth token: %@", [result authToken]); }];
Java
FirebaseInstallations.getInstance().getToken(/* forceRefresh */true) .addOnCompleteListener(new OnCompleteListener<InstallationTokenResult>() { @Override public void onComplete(@NonNull Task<InstallationTokenResult> task) { if (task.isSuccessful() && task.getResult() != null) { Log.d("Installations", "Installation auth token: " + task.getResult().getToken()); } else { Log.e("Installations", "Unable to get Installation auth token"); } } });
Kotlin
val forceRefresh = true FirebaseInstallations.getInstance().getToken(forceRefresh) .addOnCompleteListener { task -> if (task.isSuccessful) { Log.d("Installations", "Installation auth token: " + task.result?.token) } else { Log.e("Installations", "Unable to get Installation auth token") } }
C++
firebase::InitResult init_result; auto* installations_object = firebase::installations::Installations::GetInstance( firebase::App::GetInstance(), &init_result); installations_object->GetToken().OnCompletion( [](const firebase::Future<std::string>& future) { if (future.status() == kFutureStatusComplete && future.error() == firebase::installations::kErrorNone) { printf("Installations Auth Token %s\n", future.result()->c_str()); } });
Unity
Firebase.Installations.FirebaseInstallations.DefaultInstance.GetTokenAsync(forceRefresh: true).ContinueWith( task => { if (!(task.IsCanceled || task.IsFaulted) && task.IsCompleted) { UnityEngine.Debug.Log(System.String.Format("Installations token {0}", task.Result)); } });
- Dans la barre de navigation de la console Firebase, cliquez sur Test A/B.
- Cliquez sur Brouillon (et/ou sur En cours d'exécution pour les tests Remote Config), pointez sur votre test, cliquez sur le menu contextuel (more_vert), puis sur Gérer les appareils de test.
- Saisissez le jeton d'authentification d'installation pour un appareil de test, puis choisissez la variante du test à envoyer à cet appareil.
- Exécutez l'application et vérifiez que la variante sélectionnée est reçue sur l'appareil de test.
Pour en savoir plus sur les installations Firebase, consultez Gérer les installations Firebase.
Gérer votre test
Que vous créiez un test avec Remote Config, le compositeur de notifications ou Firebase In-App Messaging, vous pouvez ensuite valider et lancer votre test, le surveiller pendant son exécution et augmenter le nombre d'utilisateurs inclus dans votre 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.
Démarrer un test
- Dans la section Engage du menu de navigation de la console Firebase, cliquez sur A/B Testing.
- Cliquez sur Brouillon, puis sur le titre de votre test.
- Pour vérifier que votre application compte des utilisateurs qui seraient inclus dans votre test, développez les détails du brouillon et recherchez un nombre supérieur à 0 % dans la section Ciblage et distribution (par exemple, 1 % des utilisateurs correspondant aux critères).
- Pour modifier votre test, cliquez sur Modifier.
- Pour commencer le test, cliquez sur Démarrer le test. Vous pouvez effectuer jusqu'à 24 tests par projet à la fois.
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é.
- Dans la section Engage du menu de navigation de la console Firebase, cliquez sur A/B Testing.
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 battre 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".
Une fois votre test exécuté pendant un certain temps (au moins sept jours pour FCM et In-App Messaging, ou 14 jours pour Remote Config), les données de cette page indiquent quelle variante, le cas échéant, est la "variante leader". 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" ou 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.
- Dans la section Engage du menu de navigation de la console Firebase, cliquez sur A/B Testing.
- Cliquez sur Terminé ou En cours d'exécution, puis sur le test que vous souhaitez déployer auprès de tous les utilisateurs. Cliquez ensuite sur le menu contextuel Déployer la variante.
Déployez votre test auprès de tous les utilisateurs en procédant de l'une des manières suivantes :
- Pour un test qui utilise le composeur de notifications, utilisez la boîte de dialogue Message de déploiement pour envoyer le message aux utilisateurs ciblés restants qui ne faisaient pas partie du test.
- Pour un test Remote Config, sélectionnez une variante pour déterminer quelles 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 vérifier les modifications, cliquez sur Publier les modifications pour terminer le déploiement.
- Pour un test In-App Messaging, utilisez la boîte de dialogue pour déterminer quelle variante doit être déployée en tant que campagne In-App Messaging autonome. Une fois sélectionné, vous êtes redirigé vers l'écran de composition FIAM pour apporter les modifications nécessaires (le cas échéant) avant la publication.
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.
- Dans la section Engage du menu de navigation de la console Firebase, cliquez sur A/B Testing.
- Sélectionnez le test en cours que vous souhaitez modifier.
- Dans Présentation du test, cliquez sur le menu contextuel , puis sur Modifier le test en cours d'exécution.
- 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 ou arrêter un test
- Dans la section Engage du menu de navigation de la console Firebase, cliquez sur A/B Testing.
- Cliquez sur Terminé 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.
Ciblage des utilisateurs
Vous pouvez cibler les utilisateurs à inclure dans votre test à l'aide des critères de ciblage des utilisateurs suivants.
Critère de ciblage | Opérateur(s) | Valeur(s) | Remarque | |
---|---|---|---|---|
Version | contient,
ne contient pas, correspond exactement, contient une expression régulière |
Saisissez une valeur pour une ou plusieurs versions d'application que vous souhaitez inclure dans le test. |
Lorsque vous utilisez l'un des opérateurs contient, ne contient pas ou correspond exactement à, vous pouvez fournir une liste de valeurs séparées par des virgules. Lorsque vous utilisez l'opérateur contient (regex), 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. |
|
Audiences d'utilisateurs | inclut tous les éléments de, inclut au moins un des éléments de, n'inclut pas tous les éléments de, n'inclut pas au moins un des éléments de |
Sélectionnez une ou plusieurs audiences Analytics pour cibler les utilisateurs susceptibles d'être inclus dans votre test. |
Certains tests ciblant des audiences Google Analytics peuvent nécessiter quelques jours pour accumuler des données, car ils sont soumis à une latence de traitement des données Analytics.
Ce délai est plus susceptible de se produire avec les nouveaux utilisateurs, qui sont généralement inscrits dans les audiences éligibles 24 à 48 heures après leur création, ou pour les audiences créées récemment.
Pour Remote Config, cela signifie que même si un utilisateur est techniquement éligible à une audience, il ne sera pas inclus dans l'expérience si Analytics ne l'a pas encore ajouté à l'audience lors de l'exécution de `fetchAndActivate()`. |
|
Propriété utilisateur | Pour le texte :
contient, ne contient pas, correspond exactement à, contient l'expression régulière Pour les nombres : <, ≤, =, ≥, > |
Une propriété utilisateur Analytics permet de sélectionner les utilisateurs qui peuvent être inclus dans un test, avec une gamme d'options pour sélectionner les valeurs de propriété utilisateur.
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, le service Remote Config convertit la valeur de la propriété utilisateur correspondante en entier/float. |
Lorsque vous utilisez l'opérateur contient (regex), 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. | |
Pays/Région | N/A | Un ou plusieurs pays ou régions utilisés pour sélectionner les utilisateurs susceptibles d'être inclus dans le test. | ||
Langues | N/A | Une ou plusieurs langues et zones géographiques utilisées pour sélectionner les utilisateurs susceptibles d'être inclus dans le test. | ||
Première ouverture |
Avant Après |
Ciblez les utilisateurs en fonction de la première fois qu'ils ont ouvert votre application :
|
Le ciblage des utilisateurs par première ouverture est disponible après que vous avez sélectionné une application Android ou iOS. Il est actuellement compatible avec les versions suivantes du SDK Remote Config : SDK pour les plates-formes Apple v9.0.0+ et SDK Android v21.1.1+ (Firebase BoM v30.3.0+). Analytics doit également avoir été activé sur le client lors de la première ouverture. |
A/B Testing métriques
Lorsque vous créez un 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 à un objectif dans votre test.
Par exemple, supposons 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. Toutefois, vous souhaitez également suivre la stabilité et la fidélisation 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 l'application et les revenus publicitaires. Ensuite, pour Autres métriques à suivre, vous pouvez ajouter les suivantes :
- Pour suivre la fidélisation de vos utilisateurs au quotidien et à la semaine, ajoutez Fidélisation (2-3 jours) et Fidélisation (4-7 jours).
- Pour comparer la stabilité entre les deux flux de jeu, ajoutez Utilisateurs sans 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 expliquent comment 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. |
Revenus publicitaires estimés | Revenus publicitaires estimés. |
Total des revenus estimés | Valeur combinée des revenus publicitaires estimés et des revenus issus 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 dans 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. |
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 :
- Activez l'exportation BigQuery pour Google Analytics dans la console Firebase.
- Accéder aux données A/B Testing à l'aide de BigQuery
- 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 :
- Ouvrez l'onglet Intégrations, accessible via > Paramètres du projet dans la console Firebase.
- Si vous utilisez déjà BigQuery avec d'autres services Firebase, cliquez sur Gérer. Sinon, cliquez sur Associer.
- Consultez À propos de l'association de Firebase à BigQuery, puis cliquez sur Suivant.
- Dans la section Configurer l'intégration, activez le bouton à bascule Google Analytics.
Sélectionnez une région et choisissez les paramètres d'exportation.
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
ouuser_retention
.
Une fois que vous avez collecté les informations nécessaires pour générer votre requête :
- Ouvrez BigQuery dans la console Google Cloud.
- Sélectionnez votre projet, puis Créer une requête SQL.
- Ajoutez votre requête. Pour obtenir des exemples de requêtes à exécuter, consultez Explorer des exemples de requêtes.
- Cliquez sur Exécuter.
Interroger les données de test à l'aide de la requête générée automatiquement par 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 d'é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 :
- Dans la console Firebase, ouvrez A/B Testing et sélectionnez le test A/B Testing que vous souhaitez interroger pour ouvrir la page Vue d'ensemble du test.
- Dans le menu "Options", sous Intégration BigQuery, sélectionnez Interroger les données de test. Votre projet s'ouvre dans BigQuery dans 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 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.
Explorer 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 d'écart type des achats et des tests de tous les tests
Vous pouvez utiliser les données des résultats de test 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 la somme des revenus totaux 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