Wenn Sie sich an Ihre Nutzer wenden oder eine neue Marketingkampagne starten, sollten Sie sichergehen, dass Sie alles richtig machen. Mit A/B-Tests können Sie die optimale Formulierung und Präsentation ermitteln, indem Sie Nachrichtenvarianten für ausgewählte Teile Ihrer Nutzerbasis testen. Unabhängig davon, ob Sie die Kundenbindung oder die Conversion für ein Angebot verbessern möchten, können Sie mit A/B-Tests statistische Analysen durchführen, um festzustellen, ob eine Nachrichtenvariante die Baseline für Ihr ausgewähltes Ziel übertrifft.
So führen Sie A/B-Tests für Funktionsvarianten mit einer Baseline durch:
- Erstellen Sie einen Test.
- Testen Sie den Test auf einem Testgerät.
- Test verwalten
Test erstellen
In einem Test mit Firebase In-App Messaging können Sie mehrere Varianten einer einzelnen In-App-Nachricht testen.
Prüfen Sie, ob Google Analytics in Ihrem Projekt aktiviert ist, damit das Experiment auf Analytics-Daten zugreifen kann.
Wenn Sie Google Analytics beim Erstellen Ihres Projekts nicht aktiviert haben, können Sie es in der Firebase-Konsole unter
Einstellungen > Integrationen aktivieren.Starten Sie in der Firebase Console einen Firebase In-App Messaging-Test mit einer der folgenden Optionen:
Von A/B Testing:
Klicken Sie auf DevOps & Engagement > A/B-Tests.
Klicken Sie auf Test erstellen und wählen Sie dann In-App Messaging aus, wenn Sie nach dem Dienst gefragt werden, den Sie testen möchten.
Von In-App Messaging:
Rufen Sie DevOps & Engagement > Messaging auf.
Klicken Sie auf In-App Messaging und dann auf Neuer Test.
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, für die der Test verwendet wird. Sie können auch eine Teilmenge Ihrer Nutzer für die Teilnahme an Ihrem Test auswählen. Dazu haben Sie unter anderem folgende Möglichkeiten:
- Version:Eine oder mehrere Versionen Ihrer App
- Nutzerzielgruppe:Analytics-Zielgruppen, die verwendet werden, um Nutzer anzusprechen, die möglicherweise in den Test einbezogen werden
- Nutzereigenschaft:Eine oder mehrere Analytics-Nutzereigenschaften zum Auswählen von Nutzern, die in den Test aufgenommen werden könnten
- Land/Region:Wählen Sie mindestens ein Land oder eine Region aus, um Nutzer auszuwählen, die in den Test aufgenommen werden könnten.
- Gerätesprache:Eine oder mehrere Sprachen und Gebiete, die verwendet werden, um Nutzer auszuwählen, die möglicherweise in den Test aufgenommen werden.
- Erstes Öffnen:Auf Nutzer ausrichten, die Ihre App zum ersten Mal geöffnet haben
- Letzte App-Interaktion:Nutzer basierend darauf ausrichten, wann sie das letzte Mal mit Ihrer App interagiert haben
Legen Sie den Prozentsatz der Zielnutzer fest:Wählen Sie den Prozentsatz des Nutzerstamms Ihrer App aus, der die unter Zielnutzer festgelegten Kriterien erfüllt und den Sie gleichmäßig auf die Baseline und eine oder mehrere Varianten in Ihrem Test aufteilen möchten. Das kann ein beliebiger Prozentsatz zwischen 0,01% und 100 % sein. Prozentsätze werden für jeden Test, auch für duplizierte Tests, zufällig neu zugewiesen.
Konfigurieren Sie im Bereich Varianten eine In-App-Nachricht für die Referenzgruppe, die über die Nachrichtendesign-Oberfläche gesendet werden soll, die Sie für eine normale In-App-Messaging-Kampagne verwenden.
Wenn Sie Ihrem Test eine Variante hinzufügen möchten, klicken Sie auf Variante hinzufügen. Standardmäßig haben Tests eine Baseline und eine Variante.
Optional: Geben Sie einen aussagekräftigeren Namen für jede Variante ein.
Optional: Klicken Sie oben im Bereich Varianten auf die Schaltfläche Varianten vergleichen, um eine weitere Nachrichtenvariante nebeneinander mit der Baseline-Nachricht zu vergleichen.
Legen Sie einen Zielmesswert für Ihren Test fest, der bei der Bewertung der Testvarianten verwendet werden soll. Wählen Sie außerdem alle zusätzlichen Messwerte aus der Liste aus, die Sie verwenden möchten. Zu diesen Messwerten gehören integrierte Ziele (Engagement, Käufe, Umsatz, Kundenbindung usw.), Analytics-Conversion-Ereignisse und andere Analytics-Ereignisse.
Planen Sie den Test:
- Legen Sie ein Startdatum und ein Enddatum für den Test fest.
- Legen Sie fest, wie In-App-Nachrichten in allen Varianten ausgelöst werden.
Klicken Sie auf Prüfen, um den Test zu speichern.
Pro Projekt sind bis zu 300 Tests zulässig, davon maximal 24 laufende Tests. Die restlichen Tests können Entwürfe oder abgeschlossen sein.
Test auf einem Testgerät validieren
Für jede Firebase-Installation können Sie das zugehörige Installations-Auth-Token abrufen. Mit diesem Token können Sie bestimmte Testvarianten auf einem Testgerät testen, auf dem Ihre App installiert ist. So prüfen Sie Ihren Test auf einem Testgerät:
- So rufen Sie das Installations-Auth-Token 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
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") } }
Web
import { getInstallations, getToken } from "firebase/installations"; const installations = getInstallations(app); const installationAuthToken = getToken(installations);
- Rufen Sie in der Firebase Console DevOps & Engagement > A/B-Tests auf.
- 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
Test verwalten
Sie können einen Test mit Remote Config, dem Benachrichtigungs-Composer oder Firebase In-App Messaging erstellen, ihn dann validieren und starten, ihn während der Ausführung beobachten und die Anzahl der Nutzer erhöhen, die in den laufenden Test einbezogen werden.
Wenn der Test abgeschlossen ist, können Sie sich die Einstellungen der erfolgreichsten Variante ansehen und sie dann für alle Nutzer einführen. Alternativ können Sie einen anderen Test durchführen.
Test starten
- Rufen Sie in der Firebase Console DevOps & Engagement > A/B-Tests auf.
- Klicken Sie auf Entwurf und dann auf den Titel des Tests.
- Wenn Sie prüfen möchten, ob Ihre App Nutzer hat, die in Ihren Test einbezogen werden, maximieren Sie die Details des Testentwurfs und sehen Sie im Abschnitt Targeting und Verteilung nach, ob dort eine Zahl größer als 0% steht (z. B. 1% der Nutzer, die die Kriterien erfüllen).
- 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.
Test beobachten
Nachdem ein Test eine Weile läuft, können Sie den Fortschritt und die bisherigen Ergebnisse für die Nutzer, die am Test teilgenommen haben, ansehen.
- Rufen Sie in der Firebase Console DevOps & Engagement > A/B-Tests auf.
Klicken Sie auf Wird ausgeführt und dann auf den Titel Ihres Tests oder suchen Sie danach. Auf dieser Seite finden Sie verschiedene erfasste und geschätzte Statistiken zu Ihrem laufenden Test, darunter:
- Prozentuale Abweichung vom Baseline-Wert: Ein Maß für die Verbesserung eines Messwerts für eine bestimmte Variante im Vergleich zum Baseline-Wert. Sie wird berechnet, indem der Wertebereich für die Variante mit dem Wertebereich für den Baseline-Wert 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 den der Messwert im Laufe der Zeit fallen wird.
- Insgesamt observed_metric: Der beobachtete kumulative Wert für die Baseline oder Variante. Er wird verwendet, um die Leistung der einzelnen Testvarianten zu messen und die Werte für Verbesserung, Wertebereich, Wahrscheinlichkeit, die Baseline zu übertreffen und Wahrscheinlichkeit, die beste Variante zu sein zu berechnen. Je nach gemessenem Messwert kann diese Spalte auch als „Dauer pro Nutzer“, „Umsatz pro Nutzer“, „Bindungsrate“ oder „Conversion-Rate“ bezeichnet werden.
Nachdem der Test eine Weile gelaufen ist (mindestens 7 Tage für FCM und In-App Messaging oder 14 Tage für Remote Config), sehen Sie auf dieser Seite, welche Variante, falls überhaupt, die „führende“ ist. Einige Messungen werden von einem Balkendiagramm begleitet, in dem die Daten visuell dargestellt werden.
Test für alle Nutzer einführen
Sobald Sie die beste Variante für den entsprechenden Zielmesswert ermittelt haben, können Sie den Test auf alle Nutzer ausweiten. So können Sie eine Variante auswählen, die ab sofort allen Nutzern präsentiert wird. Das ist auch dann möglich, wenn keine Variante die beste ist.
- Rufen Sie in der Firebase Console DevOps & Engagement > A/B-Tests auf.
- Klicken Sie auf Abgeschlossen oder Wird ausgeführt, dann auf einen Test, den Sie für alle Nutzer freigeben möchten, und schließlich auf das Kontextmenü () Variante bereitstellen.
Führen Sie den Test für alle Nutzer ein, indem Sie eine der folgenden Aktionen ausführen:
- Wenn Sie einen Test mit dem Benachrichtigungs-Composer durchführen, verwenden Sie das Dialogfeld Nachricht bereitstellen, um die Nachricht an die übrigen Zielnutzer zu 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.
- Verwenden Sie für einen In-App Messaging-Test das Dialogfeld, um zu ermitteln, welche Variante als eigenständige In-App Messaging-Kampagne eingeführt werden muss. Nach der Auswahl werden Sie zum Bildschirm zum Erstellen von FIAM weitergeleitet, um vor der Veröffentlichung gegebenenfalls Änderungen vorzunehmen.
Test erweitern
Wenn Sie feststellen, dass ein Test nicht genügend Nutzer für A/B Testing einbringt, um einen Gewinner zu ermitteln, können Sie die Verteilung des Tests erhöhen, um einen größeren Prozentsatz der Nutzerbasis der App zu erreichen.
- Rufen Sie in der Firebase Console DevOps & Engagement > A/B-Tests auf.
- 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 wird eine Option angezeigt, mit der Sie den Prozentsatz der Nutzer erhöhen können, 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
- Rufen Sie in der Firebase Console DevOps & Engagement > A/B-Tests auf.
- 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 beenden.
Nutzertargeting
Sie können die Nutzer, die in Ihr Experiment aufgenommen werden sollen, mit den folgenden Kriterien für die Ausrichtung auf Nutzer festlegen.
| Targeting-Kriterium | Operator(en) | 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 contains (enthält), does not contain (enthält nicht) oder matches exactly (stimmt genau überein) verwenden, können Sie eine durch Kommas getrennte Liste von Werten angeben. Wenn Sie den Operator contains regex 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) | „Beinhaltet alle“,
„Beinhaltet mindestens eines“, „Beinhaltet nicht alle“, „Beinhaltet nicht mindestens eines“ |
Wählen Sie mindestens eine Analytics-Zielgruppe 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 Daten erfasst werden, da sie der Analytics Latenz bei der Datenverarbeitung unterliegen. Diese Verzögerung tritt am wahrscheinlichsten bei neuen Nutzern auf, die in der Regel 24 bis 48 Stunden nach der Erstellung in infrage kommende Zielgruppen aufgenommen werden, oder bei kürzlich erstellten Zielgruppen. |
| Nutzereigenschaft | Für Text: enthält, enthält nicht, entspricht genau, enthält regulären Ausdruck Für Zahlen: <, ≤, =, ≥, > |
Mit einer Analytics-Nutzereigenschaft werden Nutzer ausgewählt, die in einen Test einbezogen werden können. Dazu stehen verschiedene Optionen zur Auswahl von Nutzereigenschaftswerten zur Verfügung.
Im Client können Sie nur Stringwerte für Nutzereigenschaften festlegen. Bei Bedingungen, für die numerische Operatoren verwendet werden, wandelt der Remote Config-Dienst den Wert der entsprechenden Nutzereigenschaft in eine Ganzzahl oder Gleitkommazahl um. |
Wenn Sie den Operator contains regex 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. |
| Land/Region | – | Mindestens ein Land oder eine Region, die zum Auswählen von Nutzern verwendet werden, die in den Test einbezogen werden könnten. | |
| Sprachen | – | Eine oder mehrere Sprachen und Gebiete, die zum Auswählen von Nutzern verwendet werden, die in den Test aufgenommen werden könnten. | |
| Erstes Öffnen | Mehr als
Weniger als Zwischen |
Auf Nutzer ausrichten, basierend darauf, wann sie Ihre App zum ersten Mal geöffnet haben (in Tagen angegeben). | |
| Letztes Engagement mit der App | Mehr als
Weniger als Zwischen |
Auf Nutzer ausrichten – basierend darauf, wann sie das letzte Mal mit Ihrer App interagiert haben (in Tagen angegeben). |
A/B Testing Messwerte
Wenn Sie einen Test erstellen, wählen Sie einen primären Messwert oder Zielmesswert aus, anhand dessen die erfolgreichste Variante ermittelt wird. Sie sollten auch andere Messwerte im Blick behalten, um die Leistung der einzelnen Testvarianten besser nachvollziehen und wichtige Trends verfolgen zu können, die sich für die einzelnen Varianten unterscheiden können, z. B. Nutzerbindung, App-Stabilität und Umsatz mit In-App-Käufen. Sie können bis zu fünf Messwerte, die keine Zielmesswerte sind, in Ihrem Test erfassen.
Angenommen, Sie haben Ihrer App neue In-App-Produkte hinzugefügt und möchten die Effektivität von zwei verschiedenen Erinnerungsnachrichten vergleichen. In diesem Fall könnten Sie Umsatz durch Käufe als Zielvorhaben-Messwert festlegen, da die Gewinner-Variante die Benachrichtigung darstellen soll, die den höchsten Umsatz durch In-App-Käufe erzielt hat. Da Sie auch erfassen möchten, welche Variante zu mehr zukünftigen Conversions und treuen Nutzern geführt hat, können Sie die folgenden Messwerte unter Weitere zu beobachtende Messwerte hinzufügen:- Geschätzter Gesamtumsatz, um zu sehen, wie sich Ihre kombinierten In-App-Kauf- und Werbeeinnahmen zwischen den beiden Varianten unterscheiden
- Nutzerbindung (1 Tag), Nutzerbindung (2–3 Tage), Nutzerbindung (4–7 Tage), um die tägliche/wöchentliche Nutzerbindung zu verfolgen
In den folgenden Tabellen finden Sie Details zur Berechnung von Zielvorhabenmesswerten 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.
Hinweis:Firebase Crashlytics wird für Webanwendungen nicht unterstützt. |
| Geschätzter Werbeumsatz | Geschätzte Einnahmen aus Anzeigen. |
| Geschätzter Gesamtumsatz | Kombinierter Wert für Käufe und geschätzte Werbeeinnahmen. |
| Umsatz aus Käufen | Der 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. |
| Kundenbindung (2–3 Tage) | Die Anzahl der Nutzer, die innerhalb von 2 bis 3 Tagen zu Ihrer App zurückkehren. |
| Kundenbindung (4–7 Tage) | Die Anzahl der Nutzer, die innerhalb von 4 bis 7 Tagen zu Ihrer App zurückkehren. |
| Kundenbindung (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 15 oder mehr 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 nach der Installation oder Neuinstallation öffnet. Wird als Teil eines Conversion-Trichters verwendet. |
Weitere Messwerte
| Messwert | Beschreibung |
|---|---|
| notification_dismiss | Ein Analytics-Ereignis, das ausgelöst wird, wenn eine vom Benachrichtigungs-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.
Dieser Messwert wird für Webanwendungen nicht unterstützt. |
| screen_view | Ein Analytics-Ereignis, mit dem die in Ihrer App aufgerufenen Bildschirme erfasst werden. Weitere Informationen finden Sie unter Bildschirmaufrufe erfassen. |
| session_start | Ein Analytics-Ereignis, mit dem Nutzersitzungen in Ihrer App gezählt werden. Weitere Informationen. |