Wenn Sie sich an Ihre Nutzer wenden oder eine neue Marketingkampagne starten, sollten Sie alles richtig machen. Mit A/B-Tests können Sie die optimale Formulierung und Präsentation finden, indem Sie Varianten der Mitteilung an ausgewählten Teilen Ihrer Nutzerbasis testen. Unabhängig davon, ob Sie die Bindung verbessern oder mehr Conversions mit einem Angebot erzielen möchten, können Sie mit A/B-Tests statistische Analysen durchführen, um festzustellen, ob eine Nachrichtenvariante die Baseline für das ausgewählte Zielvorhaben übertrifft.
So führen Sie einen A/B-Test für Funktionsvarianten mit einer Baseline durch:
- Erstellen Sie den Test.
- Test auf einem Testgerät prüfen
- Verwalten Sie den Test.
Test erstellen
Bei einem Test mit dem Benachrichtigungs-Editor können Sie mehrere Varianten einer einzelnen Benachrichtigung bewerten.
Melden Sie sich in der Firebase Console an und prüfen Sie, ob Google Analytics in Ihrem Projekt aktiviert ist, damit der Test Zugriff auf Analytics-Daten hat.
Wenn Sie Google Analytics beim Erstellen Ihres Projekts nicht aktiviert haben, können Sie dies auf dem Tab Integrationen tun. Diesen Tab erreichen Sie in der Firebase Console über > Projekteinstellungen.
Klicken Sie in der Navigationsleiste der Firebase Console im Bereich Engage auf A/B Testing.
Klicken Sie auf Test erstellen und wählen Sie dann Benachrichtigungen aus, wenn Sie nach dem Dienst gefragt werden, mit dem Sie den Test durchführen möchten.
Geben Sie einen Namen und optional eine Beschreibung für den Test ein und klicken Sie auf Weiter.
Füllen Sie die Felder Ausrichtung aus und wählen Sie zuerst die App aus, in der Sie den Test verwenden möchten. Sie können auch eine Teilmenge Ihrer Nutzer für die Teilnahme am Test auswählen. Dazu stehen Ihnen folgende Optionen zur Verfügung:
- Version: Eine oder mehrere Versionen Ihrer App
- Nutzergruppe: Analytics Zielgruppen, die auf Nutzer ausgerichtet sind, die möglicherweise am Test teilnehmen
- Nutzereigenschaft: Eine oder mehrere Analytics-Nutzereigenschaften, mit denen Nutzer ausgewählt werden, die am Test teilnehmen könnten
- Land/Region: Mindestens ein Land oder eine Region, um Nutzer auszuwählen, die in den Test einbezogen werden sollen
- Gerätesprache:Eine oder mehrere Sprachen und Gebietsschemas zur Auswahl der Nutzer, die am Test teilnehmen können
- Erstes Öffnen: Ausrichtung auf Nutzer, die Ihre App zum ersten Mal geöffnet haben
- Letztes App-Engagement:Richten Sie Ihre Anzeigen auf Nutzer basierend auf dem Zeitpunkt aus, an dem sie das letzte Mal mit Ihrer App interagiert haben.
Legen Sie den Prozentsatz der Zielnutzer fest: Wählen Sie den Prozentsatz der Nutzer Ihrer App aus, die die unter Zielnutzer festgelegten Kriterien erfüllen und die Sie gleichmäßig auf die Kontrollgruppe und eine oder mehrere Varianten in Ihrem Test verteilen möchten. Dies kann ein beliebiger Prozentsatz zwischen 0,01 % und 100 % sein. Die Prozentsätze werden Nutzern für jeden Test nach dem Zufallsprinzip neu zugewiesen, auch bei duplizierten Tests.
Geben Sie im Bereich Varianten im Feld Nachrichtentext eingeben eine Nachricht ein, die an die Kontrollgruppe gesendet werden soll. Lassen Sie dieses Feld leer, wenn keine Nachricht an die Baseline-Gruppe gesendet werden soll.
Optional: Wenn Sie Ihrem Test mehrere Varianten hinzufügen möchten, klicken Sie auf Variante hinzufügen. Standardmäßig haben Tests eine Baseline und eine Variante.
Optional: Geben Sie einen Namen für jede Variante in Ihrem Test ein, um die Namen Variante A, Variante B usw. zu ersetzen.
Legen Sie einen Zielmesswert für den Test fest, der beim Bewerten von Testvarianten sowie ggf. zusätzliche Messwerte aus der Drop-down-Liste verwendet werden soll. Dazu gehören integrierte Zielvorhaben wie „Interaktionen“, „Käufe“, „Umsatz“ und „Bindung“. Analytics-Conversion-Ereignisse und andere Analytics-Ereignisse.
Wählen Sie die Optionen für Ihre Mitteilung aus:
- Datum der Auslieferung: Wählen Sie entweder Jetzt senden aus, um den Test sofort nach dem Speichern zu starten, oder Geplant, um einen Zeitpunkt für den Start des Tests in der Zukunft festzulegen.
- Erweiterte Optionen: Wenn Sie erweiterte Optionen für alle Benachrichtigungen auswählen möchten, die in Ihrem Test enthalten sind, maximieren Sie Erweiterte Optionen und ändern Sie dann eine der aufgeführten Nachrichtenoptionen.
Klicken Sie auf Überprüfen, um den Test zu speichern.
Pro Projekt sind bis zu 300 Tests zulässig. Davon können bis zu 24 Tests aktiv sein, der Rest als Entwurf oder abgeschlossen.
Test auf einem Testgerät validieren
Sie können für jede Firebase-Installation das zugehörige FCM-Registrierungstoken abrufen. Mit diesem Token können Sie bestimmte Testvarianten auf einem Testgerät mit Ihrer App testen. So validieren Sie Ihren Test auf einem Testgerät:
- So rufen Sie das FCM-Registrierungstoken ab:
Swift
Messaging.messaging().token { token, error in if let error = error { print("Error fetching FCM registration token: \(error)") } else if let token = token { print("FCM registration token: \(token)") self.fcmRegTokenMessage.text = "Remote FCM registration token: \(token)" } }
Objective-C
[[FIRMessaging messaging] tokenWithCompletion:^(NSString *token, NSError *error) { if (error != nil) { NSLog(@"Error getting FCM registration token: %@", error); } else { NSLog(@"FCM registration token: %@", token); self.fcmRegTokenMessage.text = token; } }];
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+KTX
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()); } });
Einheit
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)); } });
- Klicken Sie in der Navigationsleiste der Firebase Console auf A/B-Tests.
- Klicken Sie auf Entwurf, bewegen Sie den Mauszeiger auf den Test, klicken Sie auf das Kontextmenü (more_vert) und dann auf Testgeräte verwalten.
- Geben Sie das FCM-Token für ein Testgerät ein und wählen Sie die Testvariante aus, die an dieses Testgerät gesendet werden soll.
- Führen Sie die App aus und prüfen Sie, ob die ausgewählte Variante auf dem Testgerät empfangen wird.
Test verwalten
Unabhängig davon, ob Sie einen Test mit Remote Config, dem Benachrichtigungs-Editor oder Firebase In-App Messaging erstellen, können Sie ihn validieren und starten, während des Tests beobachten und die Anzahl der Nutzer erhöhen, die am laufenden Test teilnehmen.
Nach Abschluss des Tests können Sie sich die Einstellungen der erfolgreichen Variante notieren und diese dann für alle Nutzer einführen. Alternativ können Sie einen weiteren Test durchführen.
Test starten
- Klicken Sie im Navigationsmenü der Firebase Console im Bereich Engage auf A/B Testing.
- Klicken Sie auf Entwurf und dann auf den Titel des Tests.
- Wenn Sie prüfen möchten, ob Ihre App Nutzer enthält, die in den Test einbezogen werden, maximieren Sie die Entwurfsdetails und suchen Sie im Bereich Targeting und Verteilung nach einer Zahl größer als 0% (z. B. 1% der Nutzer entspricht den Kriterien).
- Wenn Sie den Test ändern möchten, klicken Sie auf Bearbeiten.
- Klicken Sie auf Test starten, um den Test zu starten. Pro Projekt können bis zu 24 Tests gleichzeitig durchgeführt werden.
Einen Test überwachen
Sobald ein Test eine Weile läuft, können Sie den Fortschritt prüfen und sich ansehen, wie die Ergebnisse für die Nutzer aussehen, die bisher am Test teilgenommen haben.
- Klicken Sie im Navigationsmenü der Firebase Console im Bereich Engage auf A/B Testing.
Klicken Sie auf Aktiv und klicken Sie dann auf den Titel des Tests oder suchen Sie danach. Auf dieser Seite finden Sie verschiedene beobachtete und modellierte Statistiken zu Ihrem laufenden Test, darunter:
- % Differenz zur Referenz: Ein Maß für die Verbesserung eines Messwerts für eine bestimmte Variante im Vergleich zur Referenz. Wird berechnet, indem der Wertebereich der Variante mit dem Wertebereich der Kontrollgruppe verglichen wird.
- Wahrscheinlichkeit, die ursprüngliche Variante zu übertreffen: Die geschätzte Wahrscheinlichkeit, dass eine bestimmte Variante die Baseline für den ausgewählten Messwert übertrifft.
- observed_metric pro Nutzer: Basierend auf den Testergebnissen ist dies der prognostizierte Bereich, in dem sich der Messwert im Laufe der Zeit bewegen wird.
- Summe observed_metric: Der beobachtete kumulative Wert für die Kontrollgruppe oder Variante. Mit diesem Wert wird die Leistung der einzelnen Testvarianten gemessen und die Werte Verbesserung, Wertbereich, Wahrscheinlichkeit, die Baseline zu übertreffen und Wahrscheinlichkeit, die beste Variante zu sein berechnet. Je nach Messwert wird diese Spalte möglicherweise als „Dauer pro Nutzer“, „Umsatz pro Nutzer“, „Bindungsrate“ oder „Conversion-Rate“ bezeichnet.
Nachdem der Test eine Weile gelaufen ist (mindestens 7 Tage für FCM und In-App Messaging oder 14 Tage für Remote Config), geben die Daten auf dieser Seite an, welche Variante gegebenenfalls die beste Variante ist. Einige Messungen werden von einem Balkendiagramm begleitet, das die Daten in einem visuellen Format darstellt.
Test für alle Nutzer einführen
Wenn der Test lange genug gelaufen ist, sodass für den Zielmesswert eine Variante mit der besten Leistung ermittelt wurde, können Sie den Test für alle Nutzer freigeben. So können Sie eine Variante auswählen, die ab sofort für alle Nutzer veröffentlicht wird. Auch wenn Ihr Test keinen eindeutigen Gewinner ermittelt hat, können Sie eine Variante für alle Nutzer freigeben.
- Klicken Sie im Navigationsmenü der Firebase Console im Bereich Engage auf A/B Testing.
- Klicken Sie auf Abgeschlossen oder Wird ausgeführt, dann auf einen Test, den Sie für alle Nutzer freigeben möchten, und anschließend auf das Kontextmenü ( ) Variante einführen.
Führen Sie den Test für alle Nutzer ein. Gehen Sie dazu so vor:
- Wenn für einen Test der Benachrichtigungs-Editor verwendet wird, können Sie die Nachricht über das Dialogfeld Roll-out-Nachricht an die übrigen Zielnutzer senden, die nicht am Test teilgenommen haben.
- Wählen Sie für einen Remote Config-Test eine Variante aus, um zu bestimmen, welche Remote Config-Parameterwerte aktualisiert werden sollen. Die beim Erstellen des Tests definierten Targeting-Kriterien werden als neue Bedingung in Ihre Vorlage eingefügt, sodass die Variante nur für die Nutzer bereitgestellt wird, auf die der Test ausgerichtet ist. Klicken Sie auf In Remote Config überprüfen, um die Änderungen zu sehen. Klicken Sie zum Abschluss auf Änderungen veröffentlichen.
- Legen Sie im Dialogfeld für einen In-App Messaging-Test fest, welche Variante als eigenständige In-App Messaging-Kampagne eingeführt werden soll. Nach der Auswahl werden Sie zum FIAM-Erstellungsbildschirm weitergeleitet, um bei Bedarf vor der Veröffentlichung Änderungen vorzunehmen.
Test erweitern
Wenn ein Test nicht genügend Nutzer erreicht, um mit A/B Testing einen Gewinner zu ermitteln, können Sie die Auslieferung des Tests erhöhen, um einen größeren Prozentsatz der Nutzerbasis der App zu erreichen.
- Klicken Sie im Navigationsmenü der Firebase Console im Bereich Engage auf A/B Testing.
- Wählen Sie den laufenden Test aus, den Sie bearbeiten möchten.
- Klicken Sie in der Testübersicht auf das Kontextmenü und dann auf Aktuellen Test bearbeiten.
- Im Dialogfeld Targeting können Sie den Prozentsatz der Nutzer erhöhen, die am laufenden Test teilnehmen. Wählen Sie eine Zahl aus, die größer als der aktuelle Prozentsatz ist, und klicken Sie auf Veröffentlichen. Der Test wird für den von Ihnen angegebenen Prozentsatz der Nutzer eingeführt.
Test duplizieren oder beenden
- Klicken Sie im Navigationsmenü der Firebase Console im Bereich Engage auf A/B Testing.
- Klicken Sie auf Abgeschlossen oder Laufend, bewegen Sie den Mauszeiger auf den Test, klicken Sie auf das Kontextmenü ( ) und dann auf Test duplizieren oder Test beenden.
Nutzer-Targeting
Sie können die Nutzer, die in Ihren Test einbezogen werden sollen, anhand der folgenden Kriterien für das Nutzer-Targeting auswählen.
Targeting-Kriterium | Betreiber | Wert(e) | Hinweis |
---|---|---|---|
Version | enthält, enthält nicht, stimmt genau überein, enthält Regex |
Geben Sie einen Wert für eine oder mehrere App-Versionen ein, die Sie in den Test einbeziehen möchten. |
Wenn Sie einen der Operatoren enthält, enthält nicht oder stimmt genau überein verwenden, können Sie eine durch Kommas getrennte Liste von Werten angeben. Wenn Sie den Operator enthält regulären Ausdruck verwenden, können Sie reguläre Ausdrücke im RE2-Format erstellen. Ihr regulärer Ausdruck kann mit dem gesamten oder einem Teil des Zielversionsstrings übereinstimmen. Sie können auch die Anker ^ und $ verwenden, um den Anfang, das Ende oder den gesamten Zielstring abzugleichen. |
Nutzerzielgruppe(n) | enthält alle,
enthält mindestens eines von, enthält nicht alle, enthält nicht mindestens eines von |
Wählen Sie eine oder mehrere Analytics-Zielgruppen aus, um Nutzer anzusprechen, die möglicherweise in Ihren Test einbezogen werden. | Bei einigen Tests, die auf Google Analytics-Zielgruppen ausgerichtet sind, kann es einige Tage dauern, bis genügend Daten erfasst wurden. Das liegt daran, dass bei diesen Tests eine Analytics-Verzögerung bei der Datenverarbeitung auftritt. Diese Verzögerung tritt am ehesten bei neuen Nutzern auf, die in der Regel 24 bis 48 Stunden nach der Erstellung in Zielgruppen aufgenommen werden, die die Kriterien erfüllen. Das gilt auch für kürzlich erstellte Zielgruppen. |
Nutzereigenschaft | Für Text:
enthält, enthält nicht, stimmt genau überein, enthält regulären Ausdruck Für Zahlen: <, ≤, =, ≥, > |
Mit einer Analytics-Nutzereigenschaft können Nutzer ausgewählt werden, die in einen Test aufgenommen werden sollen. Es gibt verschiedene Optionen, um Werte für Nutzereigenschaften auszuwählen.
Auf dem Client können Sie nur Stringwerte für Nutzereigenschaften festlegen. Bei Bedingungen mit numerischen Operatoren wandelt der Remote Config-Dienst den Wert der entsprechenden Nutzereigenschaft in eine Ganzzahl/Fließkommazahl um. |
Wenn Sie den Operator enthält regulären Ausdruck verwenden, können Sie reguläre Ausdrücke im RE2-Format erstellen. Der reguläre Ausdruck kann ganz oder teilweise mit dem String der Zielversion übereinstimmen. Sie können auch die Anker ^ und $ verwenden, um den Anfang, das Ende oder den gesamten Zielstring abzugleichen. |
Land/Region | – | Ein oder mehrere Länder oder Regionen, anhand derer Nutzer ausgewählt werden, die am Test teilnehmen könnten. | |
Sprachen | – | Eine oder mehrere Sprachen und Regionen zur Auswahl von Nutzern, die am Test teilnehmen könnten. | |
Erstes Öffnen |
Mehr als
Weniger als Zwischen |
Ausrichtung auf Nutzer, die Ihre App zum ersten Mal geöffnet haben, angegeben in Tagen. | |
Letztes Engagement mit der App |
Mehr als
Weniger als zwischen |
Targeting auf Nutzer basierend auf der letzten Interaktion mit Ihrer App, angegeben in Tagen. |
A/B Testing Messwerte
Beim Erstellen des Tests wählen Sie einen primären Messwert, also einen Zielmesswert, anhand dessen die beste Variante ermittelt wird. Sie sollten auch andere Messwerte erfassen, um die Leistung der einzelnen Testvarianten besser nachvollziehen und wichtige Trends verfolgen zu können, die sich je nach Variante unterscheiden können, z. B. Nutzerbindung, App-Stabilität und Umsatz aus In-App-Käufen. Sie können bis zu fünf Messwerte erfassen, die nicht zu Zielvorhaben gehören.
Angenommen, Sie haben Ihrer App neue In-App-Käufe hinzugefügt und möchten die Effektivität von zwei verschiedenen Aufforderungen vergleichen. In diesem Fall können Sie Umsatz aus Käufen als Zielmesswert festlegen, da die Gewinnervariante die Benachrichtigung darstellen soll, die zu den höchsten In-App-Umsätzen geführt hat. Da Sie auch nachverfolgen möchten, welche Variante zu mehr Conversions und mehr aktiven Nutzern geführt hat, können Sie unter Weitere Messwerte Folgendes hinzufügen:- Geschätzter Gesamtumsatz, um zu sehen, wie sich die kombinierten In-App-Kauf- und Werbeumsätze zwischen den beiden Varianten unterscheiden
- Bindung (1 Tag), Bindung (2–3 Tage) und Bindung (4–7 Tage), um die tägliche/wöchentliche Nutzerbindung zu erfassen
In den folgenden Tabellen finden Sie Details zur Berechnung von Zielvorhaben- und anderen Messwerten.
Messwerte zu Zielvorhaben
Messwert | Beschreibung |
---|---|
Nutzer ohne Abstürze | Der Prozentsatz der Nutzer, bei denen während des Tests keine Fehler in Ihrer App aufgetreten sind, die vom Firebase Crashlytics SDK erkannt wurden. |
Geschätzter Werbeumsatz | Geschätzte Werbeeinnahmen. |
Geschätzter Gesamtumsatz | Kombinierter Wert für Käufe und geschätzte Werbeeinnahmen. |
Umsatz aus Käufen | Gesamtwert für alle purchase - und in_app_purchase -Ereignisse.
|
Nutzerbindung (1 Tag) | Die Anzahl der Nutzer, die Ihre App täglich verwenden. |
Nutzerbindung (2–3 Tage) | Die Anzahl der Nutzer, die innerhalb von 2 bis 3 Tagen zu Ihrer App zurückkehren. |
Nutzerbindung (4–7 Tage) | Die Anzahl der Nutzer, die innerhalb von 4 bis 7 Tagen wieder Ihre App verwenden. |
Bindung (8–14 Tage) | Die Anzahl der Nutzer, die innerhalb von 8 bis 14 Tagen zu Ihrer App zurückkehren. |
Nutzerbindung (15+ Tage) | Die Anzahl der Nutzer, die deine App 15 Tage oder länger nach der letzten Verwendung zurückkehren. |
first_open | Ein Analytics-Ereignis, das ausgelöst wird, wenn ein Nutzer eine App zum ersten Mal öffnet, nachdem er sie installiert oder neu installiert hat. Wird als Teil eines Conversion-Trichters verwendet. |
Weitere Messwerte
Messwert | Beschreibung |
---|---|
notification_dismiss | Ein Analytics-Ereignis, das ausgelöst wird, wenn eine vom Notifications Composer gesendete Benachrichtigung geschlossen wird (nur Android). |
notification_receive | Ein Analytics-Ereignis, das ausgelöst wird, wenn eine vom Benachrichtigungs-Composer gesendete Benachrichtigung empfangen wird, während die App im Hintergrund ausgeführt wird (nur Android). |
os_update | Ein Analytics-Ereignis, das erfasst, wenn das Betriebssystem des Geräts auf eine neue Version aktualisiert wird. Weitere Informationen finden Sie unter Automatisch erfasste Ereignisse. |
screen_view | Ein Analytics-Ereignis, mit dem Bildschirme erfasst werden, die in Ihrer App aufgerufen werden. Weitere Informationen finden Sie unter Bildschirmaufrufe erfassen. |
session_start | Ein Analytics-Ereignis, mit dem Nutzersitzungen in Ihrer App gezählt werden. Weitere Informationen finden Sie unter Automatisch erfasste Ereignisse. |
BigQuery-Datenexport
Sie können Testdaten von A/B Testing nicht nur in der Firebase-Konsole aufrufen, sondern auch in BigQuery Testdaten prüfen und analysieren. Für A/B Testing gibt es keine separate BigQuery-Tabelle. Die Zugehörigkeit zu Tests und Varianten wird jedoch für jedes Google Analytics-Ereignis in den Analytics-Ereignistabellen gespeichert.
Die Nutzereigenschaften, die Testinformationen enthalten, haben das Format userProperty.key like "firebase_exp_%"
oder userProperty.key =
"firebase_exp_01"
, wobei 01
die Test-ID ist und userProperty.value.string_value
den (nullbasierten) Index der Testvariante enthält.
Mit diesen Nutzereigenschaften für Tests können Sie Testdaten extrahieren. So können Sie die Testergebnisse auf viele verschiedene Arten unterteilen und die Ergebnisse von A/B Testing unabhängig überprüfen.
Führen Sie als Erstes die folgenden Schritte aus, wie in diesem Leitfaden beschrieben:
- Aktivieren Sie in der Firebase Console den BigQuery-Export für Google Analytics.
- Über BigQuery auf A/B Testing-Daten zugreifen
- Beispielabfragen ansehen
BigQuery-Export für Google Analytics in der Firebase Console aktivieren
Wenn Sie den Tarif „Spark“ nutzen, können Sie die BigQuery-Sandbox verwenden, um kostenlos auf BigQuery zuzugreifen. Dabei gelten die Limits für die Sandbox. Weitere Informationen finden Sie unter Preise und die BigQuery-Sandbox.
Prüfen Sie zuerst, ob Sie Ihre Analytics-Daten in BigQuery exportieren:
- Öffnen Sie den Tab Integrationen, auf den Sie über > Projekteinstellungen in der Firebase-Konsole zugreifen können.
- Wenn Sie BigQuery bereits mit anderen Firebase-Diensten verwenden, klicken Sie auf Verwalten. Klicken Sie andernfalls auf Verknüpfen.
- Lesen Sie den Artikel Firebase mit BigQuery verknüpfen und klicken Sie dann auf Weiter.
- Aktivieren Sie im Abschnitt Integration konfigurieren die Ein/Aus-Schaltfläche Google Analytics.
Wählen Sie eine Region und die Exporteinstellungen aus.
Klicken Sie auf Mit BigQuery verknüpfen.
Je nachdem, wie Sie die Daten exportiert haben, kann es bis zu einem Tag dauern, bis die Tabellen verfügbar sind. Weitere Informationen zum Exportieren von Projektdaten nach BigQuery finden Sie unter Projektdaten nach BigQuery exportieren.
Auf A/B Testing-Daten in BigQuery zugreifen
Bevor Sie Daten für einen bestimmten Test abfragen, sollten Sie einige oder alle der folgenden Informationen für Ihre Abfrage bereitstellen:
- Test-ID: Sie finden sie in der URL der Seite Testübersicht. Wenn Ihre URL beispielsweise
https://console.firebase.google.com/project/my_firebase_project/config/experiment/results/25
lautet, ist die Test-ID 25. - Property-ID von Google Analytics: Ihre 9-stellige Property-ID von Google Analytics. Sie finden sie unter Google Analytics. Sie wird auch in BigQuery angezeigt, wenn Sie den Projektnamen maximieren, um den Namen der Google Analytics-Ereignistabelle (
project_name.analytics_000000000.events
) zu sehen. - Testdatum: Um eine schnellere und effizientere Abfrage zu erstellen, sollten Sie Ihre Abfragen auf die Google Analytics-Tagespartitionen der Ereignistabelle beschränken, die Ihre Testdaten enthalten. Diese Tabellen sind mit dem Suffix
YYYYMMDD
gekennzeichnet. Wenn Ihr Test also vom 2. Februar 2024 bis zum 2. Mai 2024 durchgeführt wurde, geben Sie_TABLE_SUFFIX between '20240202' AND '20240502'
an. Ein Beispiel finden Sie unter Werte eines bestimmten Tests auswählen. - Ereignisnamen: Diese entsprechen in der Regel den Zielvorhaben-Messwerten, die Sie im Test konfiguriert haben. Beispiel:
in_app_purchase
-,ad_impression
- oderuser_retention
-Ereignisse.
Nachdem Sie die Informationen gesammelt haben, die Sie zum Generieren Ihrer Abfrage benötigen:
- Öffnen Sie BigQuery in der Google Cloud-Konsole.
- Wählen Sie Ihr Projekt und dann SQL-Abfrage erstellen aus.
- Fügen Sie Ihre Suchanfrage hinzu. Beispiele für auszuführende Abfragen finden Sie unter Beispielabfragen ansehen.
- Klicken Sie auf Ausführen.
Testdaten mit einer automatisch von der Firebase Console generierten Abfrage abfragen
Wenn Sie den Tarif „Blaze“ verwenden, finden Sie auf der Seite Testübersicht eine Beispielabfrage, die den Testnamen, die Varianten, die Ereignisnamen und die Anzahl der Ereignisse für den angezeigten Test zurückgibt.
So rufen Sie die automatisch generierte Abfrage ab und führen sie aus:
- Öffnen Sie in der Firebase-Konsole A/B Testing und wählen Sie den A/B Testing-Test aus, den Sie abfragen möchten, um die Testübersicht zu öffnen.
- Wählen Sie im Optionsmenü unter BigQuery Integration die Option Testdaten abfragen aus. Dadurch wird Ihr Projekt in BigQuery in der Google Cloud-Konsole geöffnet und eine einfache Abfrage angezeigt, mit der Sie Ihre Testdaten abfragen können.
Das folgende Beispiel zeigt eine generierte Abfrage für einen Test mit drei Varianten (einschließlich der Kontrollgruppe) mit dem Namen „Test zur Winter-Willkommensseite“. Es werden der Name des aktiven Tests, der Name der Variante, das eindeutige Ereignis und die Ereignisanzahl für jedes Ereignis zurückgegeben. Im Query Builder wird der Projektname nicht im Tabellennamen angegeben, da er direkt in Ihrem Projekt geöffnet wird.
/*
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
Weitere Abfragebeispiele finden Sie unter Beispielabfragen ansehen.
Beispielabfragen ansehen
In den folgenden Abschnitten finden Sie Beispiele für Abfragen, mit denen Sie A/B Testing-Testdaten aus Google Analytics-Ereignistabellen extrahieren können.
Werte für die Standardabweichung von Käufen und Tests aus allen Tests extrahieren
Sie können die Testergebnisdaten verwenden, um die Firebase A/B Testing-Ergebnisse unabhängig zu überprüfen. Mit der folgenden BigQuery-SQL-Anweisung werden Testvarianten und die Anzahl der einzelnen Nutzer in jeder Variante extrahiert und der Gesamtumsatz aus in_app_purchase
- und ecommerce_purchase
-Ereignissen sowie Standardabweichungen für alle Tests innerhalb des für _TABLE_SUFFIX
festgelegten Start- und Enddatums addiert. Sie können die Daten aus dieser Abfrage mit einem Generator für statistische Signifikanz für einseitige T-Tests verwenden, um zu prüfen, ob die von Firebase bereitgestellten Ergebnisse mit Ihrer eigenen Analyse übereinstimmen.
Weitere Informationen dazu, wie A/B Testing die Inferenz berechnet, finden Sie unter Testergebnisse interpretieren.
/*
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;
Werte für einen bestimmten Test auswählen
In der folgenden Beispielabfrage wird gezeigt, wie Sie Daten für einen bestimmten Test in BigQuery abrufen. Diese Beispielabfrage gibt den Testnamen, die Variantennamen (einschließlich Baseline), die Ereignisnamen und die Ereignisanzahl zurück.
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