Messaging-Tests mit A/B Testing erstellen

Wenn Sie Ihre Nutzer kontaktieren oder eine neue Marketingkampagne starten, möchten Sie sicherstellen, dass Sie alles richtig machen. Mit A/B-Tests können Sie die optimale Formulierung und Darstellung finden, indem Sie Mitteilungsvarianten für ausgewählte Teile Ihrer Nutzerbasis testen. Unabhängig davon, ob Ihr Ziel eine bessere Kundenbindung oder eine höhere Conversion-Rate für ein Angebot ist, 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 einen A/B-Test von Featurevarianten mit einer Baseline durch:

  1. Test erstellen
  2. Validieren Sie Ihren Test auf einem Testgerät.
  3. Verwalten Sie Ihren Test.

Test erstellen

Bei einem Test, in dem der Notifications Composer verwendet wird, können Sie mehrere Varianten einer einzelnen Benachrichtigung auswerten.

  1. 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 es in der Firebase-Konsole auf dem Tab Einstellungen > Integrationen aktivieren.

  2. Rufen Sie in der Firebase-Konsole DevOps & Engagement > A/B Testing auf.

  3. Klicken Sie auf Test erstellen und wählen Sie dann Benachrichtigungen aus, wenn Sie nach dem Dienst gefragt werden, mit dem Sie experimentieren möchten.

  4. Geben Sie einen Namen und optional eine Beschreibung für das Experiment ein und klicken Sie auf Weiter.

  5. Füllen Sie die Felder unter Targeting aus. Wählen Sie zuerst die App aus, für die der Test verwendet werden soll. Sie können auch eine Teilmenge Ihrer Nutzer für die Teilnahme am Test auswählen. Dazu stehen Ihnen unter anderem die folgenden Optionen zur Verfügung:

    • Version: Eine oder mehrere Versionen Ihrer App
    • Nutzerzielgruppe: Analytics Zielgruppen, die für das Targeting von Nutzern verwendet werden, die am Test teilnehmen könnten
    • Nutzereigenschaft: Eine oder mehrere Analytics-Nutzereigenschaften, um Nutzer auszuwählen, die am Test teilnehmen können
    • Land/Region: Wählen Sie mindestens ein Land oder eine Region aus, um Nutzer auszuwählen, die am Test teilnehmen können.
    • Gerätesprache: Eine oder mehrere Sprachen und Regionen, die verwendet werden, um Nutzer auszuwählen, die am Test teilnehmen können.
    • Erstes Öffnen: Die Ausrichtung auf Nutzer basiert auf dem Zeitpunkt, zu dem sie Ihre App zum ersten Mal geöffnet haben.
    • Letzte App-Interaktion: Die Ausrichtung auf Nutzer basiert auf dem Zeitpunkt der letzten Interaktion mit Ihrer App.
  6. 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 verteilen möchten. Dies kann ein beliebiger Prozentsatz zwischen 0,01 % und 100 % sein. Die Prozentsätze werden Nutzern für jeden Test, einschließlich duplizierter Tests, nach dem Zufallsprinzip neu zugewiesen.

  7. Geben Sie im Abschnitt Varianten im Feld Nachrichtentext eingeben eine Nachricht ein, die an die Baseline-Gruppe gesendet werden soll. Wenn Sie keine Nachricht an die Baseline-Gruppe senden möchten, lassen Sie dieses Feld leer.

  8. Optional: Wenn Sie Ihrem Test mehr als eine Variante hinzufügen möchten, klicken Sie auf Variante hinzufügen. Standardmäßig haben Tests eine Baseline und eine Variante.

  9. Optional: Geben Sie einen Namen für jede Variante in Ihrem Test ein, um die Namen Variante A, Variante B usw. zu ersetzen.

  10. Legen Sie einen Zielmesswert für Ihren Test fest, der bei der Bewertung von Testvarianten verwendet werden soll, sowie alle gewünschten zusätzlichen Messwerte aus der Drop-down-Liste. Diese Messwerte umfassen integrierte Ziele (Engagement, Käufe, Umsatz, Kundenbindung usw.), Analytics Conversion-Ereignisse und andere Analytics-Ereignisse.

  11. Wählen Sie die gewünschten Optionen für Ihre Mitteilung aus:

    • Lieferdatum: 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 in Ihrem Test auswählen möchten, maximieren Sie Erweiterte Optionen und ändern Sie dann eine der aufgeführten Nachrichtenoptionen.
  12. Klicken Sie auf Prüfen, um den Test zu speichern.

Pro Projekt sind bis zu 300 Tests (einschließlich Roll-outs) zulässig. Davon können bis zu 24 Tests und Roll-outs aktiv sein, die restlichen müssen abgeschlossen sein.

Test auf einem Testgerät validieren

Für jede Firebase-Installation können Sie 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:

  1. Rufen Sie das FCM-Registrierungstoken so ab:

    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());
          }
        });

    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));
        }
      });
  2. Rufen Sie in der Firebase-Konsole DevOps & Engagement > A/B Testing auf.
  3. Klicken Sie auf Entwurf, bewegen Sie den Mauszeiger auf den Test, klicken Sie auf das Kontextmenü () und dann auf Testgeräte verwalten.
  4. 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.
  5. 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 Notifications Composer oder Firebase In-App Messaging erstellen, können Sie den Test anschließend validieren und starten, während der Ausführung überwachen und die Anzahl der Nutzer im laufenden Test erhöhen.

Wenn der Test abgeschlossen ist, können Sie die Einstellungen der erfolgreichsten Variante notieren und dann für alle Nutzer übernehmen. Oder Sie können einen weiteren Test durchführen.

Test starten

  1. Rufen Sie in der Firebase-Konsole DevOps & Engagement > A/B Testing auf.
  2. Klicken Sie auf Entwurf und dann auf den Titel des Tests.
  3. Wenn Sie prüfen möchten, ob Ihre App Nutzer hat, die in den Test einbezogen werden können, maximieren Sie die Entwurfsdetails und sehen Sie im Bereich Targeting und Verteilung nach, ob dort ein Wert größer als 0 % angezeigt wird, z. B. 1 % der Nutzer erfüllen die Kriterien.
  4. Wenn Sie den Test ändern möchten, klicken Sie auf Bearbeiten.
  5. Klicken Sie auf Test starten, um den Test zu starten. Pro Projekt können bis zu 24 Tests gleichzeitig durchgeführt werden.

Test beobachten

Wenn ein Test eine Weile läuft, können Sie sich den Fortschritt ansehen und die Ergebnisse für die Nutzer prüfen, die bisher am Test teilgenommen haben.

  1. Rufen Sie in der Firebase-Konsole DevOps & Engagement > A/B Testing auf.
  2. Klicken Sie auf Wird ausgeführt und dann auf den Titel Ihres Tests oder suchen Sie danach. Auf dieser Seite finden Sie verschiedene beobachtete und geschätzte Statistiken zu Ihrem laufenden Test, darunter:

    • Prozentuale Abweichung von der Baseline: Ein Maß für die Verbesserung eines Messwerts für eine bestimmte Variante im Vergleich zur Baseline. Wird berechnet, indem der Wertebereich für die Variante mit dem Wertebereich für die Baseline verglichen wird.
    • Wahrscheinlichkeit, die ursprüngliche Variante zu übertreffen: Die geschätzte Wahrscheinlichkeit, dass eine bestimmte Variante die ursprüngliche Variante für den ausgewählten Messwert übertrifft.
    • observed_metric pro Nutzer: Basierend auf den Testergebnissen ist dies der vorhergesagte Bereich, in den der Messwert im Laufe der Zeit fallen wird.
    • observed_metric insgesamt: Der beobachtete kumulative Wert für die Baseline oder Variante. Der Wert wird verwendet, um die Leistung der einzelnen Testvarianten zu messen und die Verbesserung, den Wertebereich, die Wahrscheinlichkeit, die Baseline zu übertreffen und die Wahrscheinlichkeit, die beste Variante zu sein zu berechnen. Je nach gemessenem Messwert kann diese Spalte die Bezeichnung „Dauer pro Nutzer“, „Umsatz pro Nutzer“, „Bindungsrate“ oder „Conversion-Rate“ haben.
  3. Nachdem der Test eine Weile gelaufen ist (mindestens 7 Tage für FCM und In-App Messaging oder 14 Tage für Remote Config), wird auf dieser Seite angezeigt, welche Variante, falls vorhanden, die „führende“ ist. Einige Messwerte werden von einem Balkendiagramm begleitet, das die Daten in einem visuellen Format darstellt.

Test für alle Nutzer einführen

Wenn ein Test lange genug gelaufen ist, um die beste Variante für den entsprechenden Zielmesswert zu ermitteln, 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.

  1. Rufen Sie in der Firebase-Konsole DevOps & Engagement > A/B Testing auf.
  2. Klicken Sie auf Abgeschlossen oder Wird ausgeführt, dann auf einen Test, den Sie für alle Nutzer freigeben möchten, und anschließend im Kontextmenü () auf Variante einführen.
  3. Führen Sie einen der folgenden Schritte aus, um den Test für alle Nutzer einzuführen:

    • Bei einem Experiment, für das der Notifications Composer verwendet wird, können Sie die Nachricht über das Dialogfeld Nachricht bereitstellen an die verbleibenden Zielnutzer senden, die nicht am Experiment 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 bei einem In-App Messaging-Test das Dialogfeld, um festzulegen, welche Variante als eigenständige In-App Messaging-Kampagne eingeführt werden soll. Nach der Auswahl werden Sie zum FIAM-Erstellungsbildschirm weitergeleitet, um vor der Veröffentlichung bei Bedarf Änderungen vorzunehmen.

Test erweitern

Wenn Sie feststellen, dass ein Test nicht genügend Nutzer für A/B Testing generiert, um einen Gewinner zu ermitteln, können Sie die Verteilung Ihres Tests erhöhen, um einen größeren Prozentsatz der Nutzerbasis der App zu erreichen.

  1. Rufen Sie in der Firebase-Konsole DevOps & Engagement > A/B Testing auf.
  2. Wählen Sie den laufenden Test aus, den Sie bearbeiten möchten.
  3. Klicken Sie in der Testübersicht auf das Kontextmenü () und dann auf Laufenden Test bearbeiten.
  4. Im Dialogfeld Ausrichtung wird eine Option angezeigt, mit der Sie den Prozentsatz der Nutzer erhöhen können, die am laufenden Test teilnehmen. Wählen Sie einen Wert aus, der höher als der aktuelle Prozentsatz ist, und klicken Sie auf Veröffentlichen. Der Test wird für den von Ihnen angegebenen Prozentsatz der Nutzer bereitgestellt.

Test duplizieren oder beenden

  1. Rufen Sie in der Firebase-Konsole DevOps & Engagement > A/B Testing auf.
  2. 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.

Nutzer-Targeting

Sie können die Nutzer, die in Ihren Test einbezogen werden sollen, anhand der folgenden Targeting-Kriterien auswählen.

Targeting-Kriterium Operator(en)    Wert Hinweis
Version enthält,
enthält nicht,
stimmt genau überein,
enthält regulären Ausdruck (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 Regex verwenden, können Sie reguläre Ausdrücke im RE2-Format erstellen. Ihr regulärer Ausdruck kann mit dem gesamten Zielversionsstring oder einem Teil davon ü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 einen,
enthält nicht alle,
enthält mindestens einen nicht
Wählen Sie eine oder mehrere Analytics-Zielgruppen aus, um Nutzer anzusprechen, die in Ihren Test einbezogen werden könnten. Bei einigen Tests, die auf Google Analytics-Zielgruppen ausgerichtet sind, kann es einige Tage dauern, bis Daten erfasst werden, da sie der Analytics-Datenverarbeitungslatenz unterliegen. Diese Verzögerung tritt am wahrscheinlichsten bei neuen Nutzern auf, die in der Regel 24 bis 48 Stunden nach der Erstellung in qualifizierte Zielgruppen aufgenommen werden, oder bei kürzlich erstellten Zielgruppen.
Nutzereigenschaft Für Text:
enthält,
enthält nicht,
stimmt genau überein,
enthält regulären Ausdruck (Regex)

Für Zahlen:
<, ≤, =, ≥, >
Mit einer Nutzereigenschaft vom Typ Analytics werden Nutzer ausgewählt, die in einen Test einbezogen werden können. Dabei stehen verschiedene Optionen zur Auswahl von Nutzereigenschaftswerten zur Verfügung.

Auf dem Client können Sie nur Stringwerte für Nutzereigenschaften festlegen. Bei Bedingungen, die numerische Operatoren verwenden, konvertiert der Remote Config-Dienst den Wert der entsprechenden Nutzereigenschaft in eine Ganzzahl oder Gleitkommazahl.
Wenn Sie den Operator enthält Regex verwenden, können Sie reguläre Ausdrücke im RE2-Format erstellen. Ihr regulärer Ausdruck kann mit dem gesamten Zielversionsstring oder einem Teil davon ü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, die zur Auswahl von Nutzern verwendet werden, die am Test teilnehmen können.  
Sprachen – Eine oder mehrere Sprachen und Regionen, die verwendet werden, um Nutzer auszuwählen, die am Test teilnehmen könnten.  
Erstes Öffnen Mehr als
Weniger als
Zwischen
Die Ausrichtung auf Nutzer basiert auf dem Zeitpunkt, zu dem sie Ihre App zum ersten Mal geöffnet haben, angegeben in Tagen.
Letztes Engagement mit der App Mehr als
Weniger als
Zwischen
Die Ausrichtung auf Nutzer basiert auf dem Zeitpunkt der letzten Interaktion mit Ihrer App, angegeben in Tagen.

A/B Testing Messwerte

Wenn Sie einen Test erstellen, wählen Sie einen primären Messwert oder einen Zielmesswert aus, mit dem die beste Variante ermittelt wird. Sie sollten auch andere Messwerte im Blick behalten, um die Leistung der einzelnen Testvarianten besser zu verstehen und wichtige Trends zu verfolgen, 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 in Ihrem Test bis zu fünf Messwerte erfassen, die keine Zielmesswerte sind.

Angenommen, Sie haben Ihrer App neue In-App-Käufe hinzugefügt und möchten die Effektivität von zwei verschiedenen „Anstoß“-Nachrichten vergleichen. In diesem Fall können Sie Kaufumsatz als Zielmesswert festlegen, da die Gewinner-Variante die Benachrichtigung darstellen soll, die den höchsten In-App-Kaufumsatz erzielt hat. Da Sie auch erfassen möchten, welche Variante zu mehr zukünftigen Conversions und mehr gehaltenen Nutzern geführt hat, können Sie unter Weitere zu erfassende Messwerte Folgendes hinzufügen:

  • Geschätzte Gesamteinnahmen, um zu sehen, wie sich die 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 oder wöchentliche Nutzerbindung zu erfassen.

In den folgenden Tabellen finden Sie Details zur Berechnung von Zielmesswerten 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 Werbeeinnahmen.
Geschätzte Gesamteinnahmen Kombinierter Wert für Käufe und geschätzte Werbeeinnahmen.
Umsatz aus Käufen Kombinierter Wert für alle purchase- und in_app_purchase-Ereignisse.
Nutzerbindung (1 Tag) Die Anzahl der Nutzer, die Ihre App täglich verwenden.
Kundenbindung (2–3 Tage) Die Anzahl der Nutzer, die innerhalb von 2–3 Tagen zu Ihrer App zurückkehren.
Kundenbindung (4–7 Tage) Die Anzahl der Nutzer, die innerhalb von 4–7 Tagen zu Ihrer App zurückkehren.
Kundenbindung (8–14 Tage) Die Anzahl der Nutzer, die innerhalb von 8–14 Tagen zu Ihrer App zurückkehren.
Nutzerbindung (15+ Tage) Die Anzahl der Nutzer, die mindestens 15 Tage nach der letzten Nutzung zu deiner App zurückkehren.
first_open Ein Analytics-Ereignis, das ausgelöst wird, wenn ein Nutzer eine App nach der Installation oder Neuinstallation zum ersten Mal öffnet. 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 Notifications Composer gesendete Benachrichtigung empfangen wird, während die App im Hintergrund ausgeführt wird (nur Android).
os_update Ein Analytics-Ereignis, mit dem erfasst wird, wenn das Betriebssystem des Geräts auf eine neue Version aktualisiert wird.Weitere Informationen finden Sie unter Automatisch erfasste Ereignisse.

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, das Nutzersitzungen in Ihrer App zählt. Weitere Informationen finden Sie unter Automatisch erfasste Ereignisse.

BigQuery-Datenexport

Sie können A/B Testing-Testdaten nicht nur in der Firebase Console ansehen, sondern auch in BigQuery prüfen und analysieren. A/B Testing hat zwar keine separate BigQuery-Tabelle, aber die Zugehörigkeit zu Tests und Varianten wird 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 können Sie Testdaten extrahieren. So können Sie die Testergebnisse auf viele verschiedene Arten aufschlüsseln und die Ergebnisse von A/B Testing unabhängig überprüfen.

Führen Sie zuerst die folgenden Schritte aus, wie in dieser Anleitung beschrieben:

  1. BigQuery-Export für Google Analytics in der Firebase Console aktivieren
  2. Mit BigQuery auf A/B Testing-Daten zugreifen
  3. Beispielabfragen ansehen

BigQuery-Export für Google Analytics in der Firebase Console aktivieren

Wenn Sie den Spark-Tarif nutzen, können Sie die BigQuery-Sandbox verwenden, um kostenlos auf BigQuery zuzugreifen. Dabei gelten die Sandbox-Limits. Weitere Informationen finden Sie unter Preise und die BigQuery-Sandbox.

Prüfen Sie zuerst, ob Sie Ihre Analytics-Daten nach BigQuery exportieren:

  1. Rufen Sie in der Firebase-Konsole den Tab Einstellungen > Integrationen auf.

  2. Klicken Sie auf der Karte BigQuery auf Verwalten und prüfen Sie, ob Ihr Projekt Analytics-Daten nach BigQuery exportiert.

    Wenn auf der Karte Verknüpfen steht, müssen Sie den Export einrichten (fahren Sie mit dem nächsten Schritt fort).

  3. Wenn Sie den Export einrichten müssen:

    1. Lesen Sie den Artikel Firebase mit BigQuery verknüpfen und klicken Sie dann auf Weiter.

    2. Aktivieren Sie im Abschnitt Integration konfigurieren die Option Google Analytics.

    3. Wählen Sie eine Region und die Exporteinstellungen aus.

    4. Klicken Sie auf Mit BigQuery verknüpfen.

Je nachdem, wie Sie die 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 Informationen für Ihre Abfrage einholen:

  • 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.
  • Google Analytics-Property-ID: Ihre 9-stellige Google Analytics-Property-ID. Sie finden sie in 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) einzublenden.
  • Testdatum: Um eine schnellere und effizientere Abfrage zu erstellen, empfiehlt es sich, die Abfragen auf die Partitionen der täglichen Ereignistabelle Google Analytics zu beschränken, die Ihre Testdaten enthalten. Diese Tabellen sind mit dem Suffix YYYYMMDD gekennzeichnet. Wenn Ihr Test also vom 2. Februar 2026 bis zum 2. Mai 2026 lief, geben Sie _TABLE_SUFFIX between '20260202' AND '20260502' an. Ein Beispiel finden Sie unter Werte eines bestimmten Tests auswählen.
  • Ereignisnamen: Diese entsprechen in der Regel den Zielmesswerten, die Sie im Test konfiguriert haben. Beispiel: in_app_purchase-Ereignisse, ad_impression oder user_retention-Ereignisse.
.

Nachdem Sie die Informationen gesammelt haben, die Sie zum Erstellen Ihrer Abfrage benötigen:

  1. Rufen Sie in der Google Cloud-Console BigQuery auf.
  2. Wählen Sie Ihr Projekt und dann SQL-Abfrage erstellen aus.
  3. Fügen Sie Ihre Abfrage hinzu. Beispielabfragen finden Sie unter Beispielabfragen ansehen.
  4. Klicken Sie auf Ausführen.

Testdaten mit der automatisch generierten Abfrage der Firebase Console abfragen

Wenn Sie den Blaze-Tarif 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:

  1. Rufen Sie in der Firebase-Konsole DevOps & Engagement > A/B Testing auf.
  2. Wählen Sie den A/B Testing-Test aus, den Sie abfragen möchten, um die Testübersicht zu öffnen.
  3. 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 bereitgestellt, 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 Baseline) mit dem Namen „Winter welcome experiment“. 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 der Query Builder den Projektnamen nicht im Tabellennamen 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 '20260202' AND '20260502')
    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.

Kauf- und Teststandardabweichungswerte aus allen Tests extrahieren

Sie können die Testergebnisdaten verwenden, um die Ergebnisse vonFirebase A/B Testingunabhängig zu überprüfen. Mit der folgenden BigQuery-SQL-Anweisung werden Testvarianten, die Anzahl der einzelnen Nutzer in jeder Variante, die Summe der Gesamteinnahmen aus in_app_purchase- und ecommerce_purchase-Ereignissen sowie die Standardabweichungen für alle Tests innerhalb des Zeitraums extrahiert, der durch die _TABLE_SUFFIX-Start- und ‑Enddaten angegeben ist. 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 eines bestimmten Tests auswählen

Die folgende Beispielabfrage zeigt, 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