Lorsque vous contactez vos utilisateurs ou lancez une nouvelle campagne marketing, vous voulez vous assurer de faire les choses correctement. Les tests A/B peuvent vous aider à trouver la formulation et la présentation optimales en testant des variantes de messages sur des segments sélectionnés de votre base d'utilisateurs. Que votre objectif soit d'améliorer la rétention ou la conversion sur une offre, les tests A/B peuvent effectuer une analyse statistique pour déterminer si une variante de message est plus performante que la référence pour l'objectif sélectionné.
Pour effectuer un test A/B sur des variantes de caractéristiques avec une référence, procédez comme suit :
- Créez votre test.
- Validez votre test sur un appareil de test.
- Gérer votre test.
Créer un test
Un test qui utilise l'outil de création de notifications vous permet d'évaluer plusieurs variantes d'un même message de notification.
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
Paramètres > Intégrations de la console Firebase.Dans la console Firebase, accédez à DevOps et engagement > Tests A/B.
Cliquez sur Créer un test, puis sélectionnez Notifications 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.
Renseignez les champs Ciblage, en commençant par sélectionner l'application qui utilise votre test. Vous pouvez également cibler un sous-ensemble d'utilisateurs pour participer à votre test en choisissant des options telles que les suivantes :
- Version : une ou plusieurs versions de votre application
- Audience d'utilisateurs : 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 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 susceptibles d'être inclus dans le test.
- Langue de l'appareil : une ou plusieurs langues et paramètres régionaux utilisés pour 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.
- Dernier engagement avec l'application : ciblez les utilisateurs en fonction de la dernière fois qu'ils ont interagi avec votre application.
Définissez le pourcentage d'utilisateurs cibles : sélectionnez 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 uniforme 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 pourcentages sont réattribués de manière aléatoire aux utilisateurs pour chaque test, y compris les tests dupliqués.
Dans la section Variantes, saisissez un message à envoyer au groupe de référence dans le champ Saisissez le texte du message. Pour n'envoyer aucun message au groupe de référence, laissez ce champ vide.
(Facultatif) Pour ajouter plusieurs variantes à votre test, cliquez sur Ajouter une variante. Par défaut, les tests comportent une référence et une variante.
(Facultatif) Saisissez un nom pour chaque variante de votre test afin de remplacer les noms Variante A, Variante B, etc.
Définissez une métrique d'objectif que votre test utilisera pour évaluer les variantes, ainsi que les métriques supplémentaires de votre choix dans la liste déroulante. Ces métriques incluent des objectifs intégrés (engagement, achats, revenus, fidélisation, etc.), des événements de conversion Analytics et d'autres événements Analytics.
Choisissez les options de votre message :
- Date de diffusion : sélectionnez Envoyer maintenant pour lancer votre test immédiatement après l'avoir enregistré, ou Planifié pour spécifier une date et une heure de lancement ultérieures.
- Options avancées : pour choisir des options avancées pour toutes les notifications incluses dans votre test, développez Options avancées, puis modifiez l'une des options de message listées.
Cliquez sur Vérifier pour enregistrer votre test.
Vous pouvez effectuer jusqu'à 300 tests par projet (y compris les déploiements), dont 24 tests et déploiements en cours, les autres étant des tests terminés.
Valider votre test sur un appareil de test
Pour chaque installation Firebase, vous pouvez récupérer le jeton d'enregistrement FCM qui lui est associé. Vous pouvez utiliser ce jeton pour tester des variantes de test 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'enregistrement FCM comme suit :
Swift
Messaging.messaging().token { token, error in if let error = error { print("Error fetching remote FCM registration token: \(error)") } else if let token = token { print("Remote instance ID token: \(token)") } }
Objective-C
[[FIRMessaging messaging] tokenWithCompletion:^(NSString * _Nullable token, NSError * _Nullable error) { if (error != nil) { NSLog(@"Error fetching the remote FCM registration token: %@", error); } else { NSLog(@"Remote FCM registration token: %@", token); NSString* message = [NSString stringWithFormat:@"FCM registration token: %@", token]; // display message NSLog(@"%@", message); } }];
Java
FirebaseMessaging.getInstance().getToken() .addOnCompleteListener(new OnCompleteListener<String>() { @Override public void onComplete(@NonNull Task<String> task) { if (!task.isSuccessful()) { Log.w(TAG, "Fetching FCM registration token failed", task.getException()); return; } // Get new FCM registration token String token = task.getResult(); // Log and toast String msg = getString(R.string.msg_token_fmt, token); Log.d(TAG, msg); Toast.makeText(MainActivity.this, msg, Toast.LENGTH_SHORT).show(); } });
Kotlin
FirebaseMessaging.getInstance().token.addOnCompleteListener(OnCompleteListener { task -> if (!task.isSuccessful) { Log.w(TAG, "Fetching FCM registration token failed", task.exception) return@OnCompleteListener } // Get new FCM registration token val token = task.result // Log and toast val msg = getString(R.string.msg_token_fmt, token) Log.d(TAG, msg) Toast.makeText(baseContext, msg, Toast.LENGTH_SHORT).show() })
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.Messaging.FirebaseMessaging.DefaultInstance.GetTokenAsync().ContinueWith( task => { if (!(task.IsCanceled || task.IsFaulted) && task.IsCompleted) { UnityEngine.Debug.Log(System.String.Format("FCM registration token {0}", task.Result)); } });
- Dans la console Firebase, accédez à DevOps et engagement > Tests A/B.
- Cliquez sur Brouillon, pointez sur votre test, cliquez sur le menu contextuel (more_vert), puis sur Gérer les appareils de test.
- Saisissez le jeton FCM d'un appareil de test, puis choisissez la variante de 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.
Gérer votre test
Que vous créiez un test avec Remote Config, l'outil de création 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 le test en cours.
Une fois le 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 console Firebase, accédez à DevOps et engagement > Tests A/B.
- 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 vérifiez qu'un nombre supérieur à 0 % est indiqué dans la section Ciblage et distribution (par exemple, 1 % des utilisateurs correspondant aux critères).
- Pour modifier votre test, cliquez sur Modifier.
- Pour lancer votre test, cliquez sur Démarrer le test. Vous pouvez exécuter 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 voir les résultats obtenus pour les utilisateurs qui y ont participé jusqu'à présent.
- Dans la console Firebase, accédez à DevOps et engagement > Tests A/B.
Cliquez sur En cours, puis cliquez sur le titre de votre test ou recherchez-le. Sur cette page, vous pouvez consulter différentes statistiques observées et modélisées sur votre test en cours, y compris les suivantes :
- Différence en % 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é 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 prévue dans laquelle la valeur de la métrique se situera au fil du temps.
- Total observed_metric : valeur cumulée 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 rétention" ou "Taux de conversion".
Une fois que votre test a été exécuté pendant un certain temps (au moins 7 jours pour FCM et In-App Messaging, ou 14 jours pour Remote Config), les données de cette page indiquent quelle variante est la plus performante, le cas échéant. Certaines mesures sont accompagnées d'un graphique à barres qui présente les données dans un format visuel.
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 déployer le test 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 déployer une variante auprès de tous vos utilisateurs.
- Dans la console Firebase, accédez à DevOps et engagement > Tests A/B.
- Cliquez sur Terminé ou En cours, 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 effectuant l'une des opérations suivantes :
- Pour un test qui utilise l'outil de création de notifications, utilisez la boîte de dialogue Déployer le message pour envoyer le message aux autres utilisateurs ciblés qui ne faisaient pas partie du test.
- Pour un test Remote Config, sélectionnez une variante pour déterminer les valeurs de paramètre Remote Config à mettre à jour. 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.
- 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 rédaction de FIAM pour apporter des modifications (si nécessaire) 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éclarer un gagnant, vous pouvez augmenter la distribution de votre test pour toucher un pourcentage plus élevé de la base d'utilisateurs de l'application.
- Dans la console Firebase, accédez à DevOps et engagement > Tests A/B.
- Sélectionnez le test en cours que vous souhaitez modifier.
- Dans la vue d'ensemble du test, cliquez sur le menu contextuel (), puis sur Modifier le test en cours.
- La boîte de dialogue Ciblage affiche une option permettant d'augmenter le pourcentage d'utilisateurs inclus dans le 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 console Firebase, accédez à DevOps et engagement > Tests A/B.
- Cliquez sur Terminé ou En cours, 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 d'utilisateurs suivants.
| Critère de ciblage | Opérateur(s) | Valeur(s) | Remarque |
|---|---|---|---|
| Version | contient,
ne contient pas, correspond exactement, contient l'expression régulière (regex) |
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 une virgule. 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 la 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,
inclut au moins un des éléments, n'inclut pas tous les éléments, n'inclut pas au moins un des éléments |
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 à un Analyticsdélai de traitement des données. Vous êtes plus susceptible de rencontrer ce délai 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 récemment créées. |
| Propriété utilisateur | Pour le texte :
contient, ne contient pas, correspond exactement, contient une expression régulière (regex) Pour les nombres : <, ≤, =, ≥, > |
Une propriété utilisateur Analytics permet de sélectionner les utilisateurs susceptibles d'être inclus dans un test, avec un éventail d'options pour sélectionner les valeurs de la 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 un entier/float. |
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 la 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 paramètres régionaux utilisés pour sélectionner les utilisateurs susceptibles d'être inclus dans le test. | |
| Première ouverture |
Supérieur à
Inférieur à Entre |
Ciblez les utilisateurs en fonction de la première fois qu'ils ont ouvert votre application, en jours. | |
| Dernier engagement avec une application |
Supérieur à
Inférieur à Entre |
Ciblez les utilisateurs en fonction de la dernière fois qu'ils ont interagi avec votre application, en jours. |
A/B Testing métriques
Lorsque vous créez votre test, vous choisissez une métrique principale ou métrique 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 qui ne sont pas des objectifs dans votre test.
Par exemple, supposons que vous ayez ajouté de nouveaux achats via une application à votre application et que vous souhaitiez comparer l'efficacité de deux messages d'incitation différents. Dans ce cas, vous pouvez décider de définir Revenus des achats comme métrique d'objectif, car vous souhaitez que la variante gagnante représente la notification qui a généré les revenus d'achats via l'application les plus élevés. Comme vous souhaitez également savoir quelle variante a généré le plus de conversions futures et d'utilisateurs fidélisés, vous pouvez ajouter les éléments suivants dans Autres métriques à suivre :
- Revenu total estimé pour voir comment vos revenus combinés issus des achats via l'application et des annonces diffèrent entre les deux variantes.
- Rétention (1 jour), Rétention (2-3 jours), Rétention (4-7 jours) pour suivre la rétention des utilisateurs quotidienne ou hebdomadaire.
Les tableaux suivants expliquent comment les métriques d'objectif et d'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. |
| Revenu total estimé | Valeur combinée des revenus issus des achats et des revenus publicitaires estimés. |
| 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 chaque jour sur votre application. |
| 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 sur votre application dans un délai de quatre à sept jours. |
| Fidélisation (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 au moins 15 jours après l'avoir utilisée pour la dernière fois. |
| first_open | É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 le cadre d'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 l'outil de création de notifications est ignorée (Android uniquement). |
| notification_receive | Un événement Analytics qui se déclenche lorsqu'une notification envoyée par l'outil de création de notifications est reçue alors que l'application est exécutée en arrière-plan (Android uniquement). |
| os_update | Un é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 | Un é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 de test A/B Testing dans la console Firebase, vous pouvez inspecter et analyser les données de test 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 sur chaque événement Google Analytics dans les tables d'événements Analytics.
Les propriétés utilisateur contenant des informations sur le test 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 de test pour extraire des données de test. Vous pouvez ainsi segmenter les résultats de votre test de différentes manières et vérifier indépendamment les résultats de A/B Testing.
Pour commencer, procédez comme suit, comme décrit dans ce guide :
- Activer l'exportation BigQuery pour Google Analytics dans la console Firebase
- Accéder aux données A/B Testing à l'aide de BigQuery
- Découvrir des exemples de requêtes
Activez l'exportation BigQuery pour Google Analytics dans la console Firebase.
Si vous utilisez le 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 :
Dans la consoleFirebase, accédez à l'onglet
Paramètres > Intégrations.Sur 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).
Si vous devez configurer l'exportation :
Consultez À propos de l'association de Firebase à BigQuery, puis cliquez sur Suivant.
Dans la section Configurer l'intégration, activez Google Analytics.
Sélectionnez une région et choisissez les paramètres d'exportation.
Cliquez sur Associer à BigQuery.
Selon la méthode d'exportation choisie, les tables peuvent mettre jusqu'à un jour avant d'être disponibles. Pour en savoir plus sur l'exportation de données de projet vers BigQuery, consultez Exporter des 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 Aperçu du test. Par exemple, si votre URL se présente sous la forme
https://console.firebase.google.com/project/my_firebase_project/config/experiment/results/25, l'ID du test est 25. - ID de propriété Google Analytics : il s'agit de votre ID de propriété Google Analytics à neuf chiffres. Vous pouvez le trouver dans Google Analytics. Il 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 du test : pour composer une requête plus rapide et plus efficace, il est recommandé de limiter vos requêtes aux partitions de la table d'événements quotidiens Google Analytics qui contiennent les données de votre test (tables identifiées par un suffixe
YYYYMMDD). Par exemple, si votre test s'est déroulé du 2 février 2026 au 2 mai 2026, vous devez spécifier_TABLE_SUFFIX between '20260202' AND '20260502'. Pour obtenir un exemple, consultez Sélectionner les valeurs d'un test spécifique. - Noms des é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_impressionouuser_retention.
Après avoir rassemblé les informations nécessaires pour générer votre requête :
- Dans la console Google Cloud, accédez à BigQuery.
- 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 du test 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 :
- Dans la console Firebase, accédez à DevOps et engagement > Tests A/B.
- Sélectionnez le test A/B Testing que vous souhaitez interroger pour ouvrir la page Présentation du test.
- Dans le menu d'options, sous Intégration de BigQuery, sélectionnez Interroger les données de test. Votre projet s'ouvre alors dans BigQuery dans la console Google Cloud et une requête de base vous est proposée 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 de bienvenue d'hiver". Il 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 '20260202' AND '20260502')
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 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 Firebase A/B Testing résultats. L'instruction SQL BigQuery suivante extrait les variantes de test, le nombre d'utilisateurs uniques dans chaque variante, et additionne les 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 pertinence 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 du test, les noms des variantes (y compris la 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