Wenn Sie Firebase Remote Config zum Bereitstellen von Einstellungen für eine Anwendung mit einer aktiven Nutzerbasis verwenden, sollten Sie darauf achten, dass alles richtig funktioniert. Mit A/B Testing-Tests lässt sich Folgendes am besten ermitteln:
- Die beste Möglichkeit, eine Funktion zur Optimierung der Nutzerfreundlichkeit zu implementieren. Zu oft erfahren App-Entwickler erst, wenn die Bewertung ihrer App im App-Shop sinkt, dass ihren Nutzern eine neue Funktion oder eine aktualisierte Nutzeroberfläche nicht gefällt. Mit A/B-Tests kannst du messen, ob den Nutzern neue Varianten von Funktionen gefallen oder ob die App in der vorliegenden Form vorgezogen wird. Wenn Sie außerdem die meisten Nutzer in einer Baseline-Gruppe verbleiben, kann der Großteil Ihrer Nutzer Ihre App weiter verwenden, ohne Änderungen am Verhalten oder Erscheinungsbild zu bemerken, bis der Test abgeschlossen ist.
- Die beste Möglichkeit, die Nutzerfreundlichkeit für ein Geschäftsziel zu optimieren. Manchmal implementieren Sie Produktänderungen, um einen Messwert wie Umsatz oder Bindung zu maximieren. Bei A/B-Tests legen Sie Ihr Geschäftsziel fest und Firebase führt die statistische Analyse durch, um festzustellen, ob eine Variante 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.
- Testen Sie den Test auf einem Testgerät.
- Test verwalten
Test erstellen
Bei einem Remote Config-Test können Sie mehrere Varianten für einen oder mehrere Remote Config-Parameter bewerten.
Melden Sie sich in der Firebase-Konsole 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 des 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 im Navigationsmenü der Firebase-Konsole im Bereich Interagieren auf A/B Testing.
Klicken Sie auf Test erstellen und wählen Sie Remote Config aus, wenn Sie für den Dienst, den Sie testen möchten, dazu aufgefordert werden.
Geben Sie einen Namen und optional eine Beschreibung für den Test ein und klicken Sie auf Weiter.
Füllen Sie die Felder unter Targeting aus. Wählen Sie zuerst die App aus, in der der Test verwendet werden soll. Sie können auch eine Teilmenge Ihrer Nutzer für die Teilnahme am Test auswählen. Klicken Sie dazu auf und und wählen Sie dann Optionen aus der folgenden Liste aus:
- Version: Eine oder mehrere Versionen Ihrer App
- Build-Nummer:Der Versionscode der App
- Sprachen: Eine oder mehrere Sprachen und Gebietsschemas, anhand derer Nutzer ausgewählt werden, die am Test teilnehmen könnten
- Land/Region: Mindestens ein Land oder eine Region, um Nutzer auszuwählen, die am Test teilnehmen sollen
- Nutzergruppe: Analytics Zielgruppen, die für das Targeting auf Nutzer verwendet werden, die möglicherweise am Test teilnehmen
- Nutzereigenschaft: Eine oder mehrere Analytics-Nutzereigenschaften, mit denen Nutzer ausgewählt werden, die am Test teilnehmen könnten
Erstes Öffnen: Ausrichtung auf Nutzer, die Ihre App zum ersten Mal geöffnet haben
Das Nutzer-Targeting nach dem Zeitpunkt des ersten Öffnens ist verfügbar, nachdem Sie eine Android- oder iOS-App ausgewählt haben. Es wird von den folgenden Remote Config SDK-Versionen unterstützt: Apple-Plattformen SDK 9.0.0 oder höher und Android SDK 21.1.1 oder höher (Firebase BoM Version 30.3.0 oder höher).
Außerdem muss Analytics beim ersten Öffnen-Ereignis auf dem Client aktiviert gewesen sein.
Legen Sie den Prozentsatz der Zielnutzer fest: Geben Sie den Prozentsatz der Nutzer Ihrer App ein, 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. Nutzer werden jedem Test zufällig zugewiesen, einschließlich duplizierten Tests.
Legen Sie optional ein Aktivierungsereignis fest, damit in Ihrem Test nur die Daten von Nutzern gezählt werden, die zuerst ein Analytics-Ereignis ausgelöst haben. Alle Nutzer, die Ihren Targeting-Parametern entsprechen, erhalten Remote Config-Testwerte. In die Testergebnisse werden jedoch nur diejenigen einbezogen, die ein Aktivierungsereignis auslösen.
Damit der Test gültig ist, muss das ausgewählte Ereignis nach der Aktivierung der abgerufenen Konfigurationswerte in Ihrer App auftreten. Außerdem können die folgenden Ereignisse nicht verwendet werden, da sie immer vor der Aktivierung der abgerufenen Werte auftreten:
app_install
app_remove
app_update
dynamic_link_first_open
Wählen Sie unter Zielvorhaben den primären Messwert aus, der erfasst werden soll, und fügen Sie aus der Liste weitere Messwerte hinzu, die Sie erfassen möchten. Dazu gehören integrierte Ziele (Käufe, Umsatz, Kundenbindung, Nutzer ohne Abstürze usw.), Analytics-Conversion-Ereignisse und andere Analytics-Ereignisse. Klicken Sie auf Weiter, wenn Sie fertig sind.
Wählen Sie im Bereich Varianten eine Baseline und mindestens eine Variante für den Test aus. Verwenden Sie die Liste Auswählen oder neu erstellen, um einen oder mehrere Parameter hinzuzufügen, mit denen Sie experimentieren möchten. Sie können einen Parameter erstellen, der noch nicht in der Firebase-Konsole verwendet wurde. Er muss jedoch in Ihrer App vorhanden sein, damit er eine Wirkung hat. Sie können diesen Schritt wiederholen, um dem Test mehrere Parameter hinzuzufügen.
Optional: Wenn Sie Ihrem Test mehrere Varianten hinzufügen möchten, klicken Sie auf Neue Variante hinzufügen.
Einen oder mehrere Parameter für bestimmte Varianten ändern Alle unveränderten Parameter sind für Nutzer, die nicht am Test teilnehmen, gleich.
Maximieren Sie Variantengewichte, um die Gewichtung der Variante für den Test aufzurufen oder zu ändern. Standardmäßig wird jede Variante gleich gewichtet. Hinweis: Ungleichmäßige Gewichtungen können dazu führen, dass die Datenerhebung länger dauert. Sobald der Test beginnt, lassen sich die Gewichtungen nicht mehr ändern.
Klicken Sie auf Überprüfen, um den Test zu speichern.
Sie können pro Projekt bis zu 300 Tests ausführen, die aus bis zu 24 laufenden Tests bestehen können, wobei der Rest als Entwurf oder abgeschlossen ist.
Test auf einem Testgerät validieren
Für jede Firebase-Installation können Sie das zugehörige Authentifizierungstoken für die Installation 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 Authentifizierungstoken für die Installation ab:
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+KTX
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()); } });
Einheit
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)); } });
- Klicken Sie in der Navigationsleiste der Firebase Console auf A/B-Tests.
- Klicken Sie auf Entwurf (und/oder Wird ausgeführt für Remote Config-Tests), bewegen Sie den Mauszeiger auf den Test, klicken Sie auf das Kontextmenü (more_vert) und dann auf Testgeräte verwalten.
- Geben Sie das Authentifizierungstoken der Installation 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.
Weitere Informationen zu Firebase-Installationen finden Sie unter Firebase-Installationen verwalten.
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).
- Klicken Sie auf Bearbeiten, um den Test zu ändern.
- 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 sehen 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 gemessenem Messwert kann diese Spalte mit „Dauer pro Nutzer“, „Umsatz pro Nutzer“, „Bindungsrate“ oder „Conversion-Rate“ gekennzeichnet sein.
Nachdem der Test eine Weile (mindestens 7 Tage für FCM und In-App Messaging oder 14 Tage für Remote Config) gelaufen ist, geben die Daten auf dieser Seite an, welche Variante, falls vorhanden, die „führende“ ist. Einige Messwerte werden von einem Balkendiagramm begleitet, in dem die Daten visuell dargestellt werden.
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 keine Variante die beste ist, 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 Aktuell, klicken Sie auf einen Test, den Sie für alle Nutzer freigeben möchten, und dann auf das Kontextmenü ( ) Variante bereitstellen.
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.
- Bei einem In-App Messaging-Test können Sie über das Dialogfeld festlegen, welche Variante als eigenständige In-App Messaging-Kampagne eingeführt werden soll. Danach werden Sie zum FIAM-Compose-Bildschirm weitergeleitet, wo Sie vor der Veröffentlichung gegebenenfalls Änderungen vornehmen können.
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 Laufenden 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 über dem aktuellen Prozentsatz liegt, und klicken Sie auf Veröffentlichen. Der Test wird für den von Ihnen angegebenen Prozentsatz von Nutzern veröffentlicht.
Test duplizieren oder beenden
- Klicken Sie im Navigationsmenü der Firebase Console im Bereich Engage auf A/B Testing.
- Klicken Sie auf Abgeschlossen oder Wird ausgeführt, bewegen Sie den Mauszeiger auf den Test, klicken Sie auf das Kontextmenü ( ) und dann auf Test duplizieren oder Test stoppen.
Ausrichtung auf Nutzer
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 aufnehmen 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 die Gesamtheit eines Zielstrings 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 wahrscheinlichsten bei neuen Nutzern auf, die in der Regel 24 bis 48 Stunden nach dem Erstellen in infrage kommenden Zielgruppen registriert sind, oder bei kürzlich erstellten Zielgruppen.
Für Remote Config bedeutet dies, dass der Nutzer selbst dann nicht in den Test einbezogen wird, wenn ein Nutzer technisch für eine Zielgruppe qualifiziert ist, der Nutzer aber bei Ausführung von `fetchAndActivate()` noch nicht zur Zielgruppe hinzugefügt wurde.Analytics |
|
Nutzereigenschaft | Für Text:
enthält, enthält nicht, stimmt genau überein, enthält Regex 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 die Gesamtheit eines Zielstrings 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 Gebietsschemas, anhand derer Nutzer ausgewählt werden, die am Test teilnehmen könnten. | ||
Erstes Öffnen |
Vorher Nachher |
Ausrichtung auf Nutzer basierend darauf, wann sie Ihre App zum ersten Mal öffnen:
|
Das Nutzer-Targeting nach der ersten Öffnung ist verfügbar, nachdem Sie eine Android- oder iOS-App ausgewählt haben. Es wird derzeit von den folgenden Remote Config SDK-Versionen unterstützt: SDK für Apple-Plattformen Version 9.0.0 und höher sowie Android SDK Version 21.1.1 und höher (Firebase BoM Version 30.3.0 und höher). Analytics muss auch beim ersten Öffnen auf dem Client aktiviert worden sein. |
A/B Testing Messwerte
Wenn Sie einen Test erstellen, wählen Sie einen primären Messwert bzw. Zielvorhabenmesswert aus, um die beste Variante zu ermitteln. Sie sollten auch andere Messwerte erfassen, damit Sie die Leistung der einzelnen Testvarianten besser nachvollziehen und wichtige Trends verfolgen können, die sich für jede 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 verwenden Remote Config, um zwei verschiedene Spielabläufe in Ihrer App zu starten, und möchten diese für In-App-Käufe und Werbeeinnahmen optimieren. Außerdem möchten Sie die Stabilität und Nutzerbindung der einzelnen Varianten erfassen. In diesem Fall können Sie Geschätzter Gesamtumsatz als Zielmesswert auswählen, da er den Umsatz aus In-App-Käufen und den Werbeumsatz enthält. Unter Weitere zu verfolgende Messwerte können Sie dann Folgendes hinzufügen:
- Wenn Sie die tägliche und wöchentliche Nutzerbindung erfassen möchten, fügen Sie Bindung (2–3 Tage) und Bindung (4–7 Tage) hinzu.
- Wenn Sie die Stabilität der beiden Gameflows vergleichen möchten, fügen Sie Nutzer ohne Abstürze hinzu.
- Wenn Sie detailliertere Ansichten der einzelnen Umsatztypen sehen möchten, fügen Sie Umsatz aus Käufen und Geschätzter Werbeumsatz hinzu.
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 Einnahmen aus Werbeanzeigen |
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 täglich zu Ihrer App zurückkehren. |
Bindung (2–3 Tage) | Die Anzahl der Nutzer, die innerhalb von 2 bis 3 Tagen zu Ihrer App zurückkehren. |
Bindung (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 mindestens 15 Tage nach der letzten Nutzung zu Ihrer App 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 Benachrichtigungs-Editor gesendete Benachrichtigung geschlossen wird (nur Android). |
notification_receive | Ein Analytics-Ereignis, das ausgelöst wird, wenn eine von Notifications 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 sich A/B Testing-Testdaten nicht nur in der Firebase-Konsole ansehen, sondern auch in BigQuery 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 die Form userProperty.key like "firebase_exp_%"
oder userProperty.key =
"firebase_exp_01"
. Dabei ist 01
die Test-ID und userProperty.value.string_value
enthält den (nullbasierten) Index der Testvariante.
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 zuerst die folgenden Schritte aus, wie in dieser Anleitung beschrieben:
- BigQuery-Export für Google Analytics in der Firebase Console aktivieren
- Über BigQuery auf A/B Testing-Daten zugreifen
- Beispielabfragen ansehen
BigQuery-Export für Google Analytics in der Firebase Console aktivieren
Wenn Sie den Spark-Tarif haben, können Sie die BigQuery-Sandbox verwenden, um kostenlos auf BigQuery zuzugreifen. Dabei gelten die Sandbox-Beschränkungen. 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 Daten exportieren, 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 Elemente abrufen, die in Ihrer Abfrage verwendet werden sollen:
- 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 für die Abfrage zusammengestellt haben, gehen Sie so vor:
- Ö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 der automatisch generierten Abfrage in der Firebase Console 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 Menü „Optionen“ 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. Beachten Sie, dass Query Builder den Projektnamen im Tabellennamen nicht angibt, 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.
Standardabweichungswerte für Käufe und Tests aus allen Tests extrahieren
Mit den Testergebnisdaten können Sie die Firebase A/B Testing-Ergebnisse unabhängig prüfen. Mit der folgenden BigQuery-SQL-Anweisung werden Testvarianten, die Anzahl der einzelnen Nutzer in jeder Variante und der Gesamtumsatz aus in_app_purchase
- und ecommerce_purchase
-Ereignissen sowie die Standardabweichungen für alle Tests im Zeitraum zwischen dem _TABLE_SUFFIX
-Start- und _TABLE_SUFFIX
-Enddatum summiert. 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 Namen des Tests, die Namen der Varianten (einschließlich der Kontrollgruppe), Ereignisnamen und Ereigniszahlen 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