Erstellen Sie Messaging-Experimente mit A/B-Tests

Wenn Sie Ihre Nutzer erreichen oder eine neue Marketingkampagne starten, möchten Sie sicherstellen, dass Sie es richtig machen. A/B-Tests können Ihnen dabei helfen, die optimale Formulierung und Präsentation zu finden, indem Sie Nachrichtenvarianten an ausgewählten Teilen Ihrer Benutzerbasis testen. Unabhängig davon, ob Ihr Ziel eine bessere Bindung oder Konversion eines Angebots ist, können A/B-Tests eine statistische Analyse durchführen, um festzustellen, ob eine Nachrichtenvariante die Basislinie für Ihr ausgewähltes Ziel übertrifft.

Gehen Sie wie folgt vor, um Funktionsvarianten mit einer Baseline A/B-Tests durchzuführen:

  1. Erstellen Sie Ihr Experiment.
  2. Validieren Sie Ihr Experiment auf einem Testgerät.
  3. Verwalten Sie Ihr Experiment.

Erstellen Sie ein Experiment

Mit einem Experiment, das den Notifications Composer verwendet, können Sie mehrere Varianten einer einzelnen Benachrichtigungsnachricht bewerten.

  1. Melden Sie sich bei der Firebase-Konsole an und stellen Sie sicher, dass Google Analytics in Ihrem Projekt aktiviert ist, damit das Experiment Zugriff auf Analytics-Daten hat.

    Wenn Sie Google Analytics beim Erstellen Ihres Projekts nicht aktiviert haben, können Sie es auf der Registerkarte „Integrationen“ aktivieren, auf die Sie über > Projekteinstellungen in der Firebase-Konsole zugreifen können.

  2. Klicken Sie im Abschnitt „Engage“ der Navigationsleiste der Firebase-Konsole auf A/B-Tests .

  3. Klicken Sie auf Experiment 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 Ihr Experiment ein und klicken Sie auf Weiter .

  5. Füllen Sie die Targeting- Felder aus und wählen Sie zunächst die App aus, die Ihr Experiment verwendet. Sie können auch eine Teilmenge Ihrer Benutzer gezielt zur Teilnahme an Ihrem Experiment ansprechen, indem Sie Optionen wie die folgenden auswählen:

    • Version: Eine oder mehrere Versionen Ihrer App
    • Benutzerzielgruppe: Analytics-Zielgruppen, die zur gezielten Ausrichtung auf Benutzer verwendet werden, die möglicherweise in das Experiment einbezogen werden
    • Benutzereigenschaft: Eine oder mehrere Analytics-Benutzereigenschaften zur Auswahl von Benutzern, die in das Experiment einbezogen werden könnten
    • Land/Region: Ein oder mehrere Länder oder Regionen zur Auswahl von Benutzern, die in das Experiment einbezogen werden könnten
    • Gerätesprache: Eine oder mehrere Sprachen und Gebietsschemas, die zur Auswahl von Benutzern verwendet werden, die in das Experiment einbezogen werden könnten
    • Erstes Öffnen: Sprechen Sie Nutzer basierend auf dem Zeitpunkt an, zu dem sie Ihre App zum ersten Mal geöffnet haben
    • Letzte App-Interaktion: Sprechen Sie Benutzer basierend auf dem letzten Mal an, als sie mit Ihrer App interagiert haben
  6. Legen Sie den Prozentsatz der Zielbenutzer fest: Wählen Sie den Prozentsatz der Benutzerbasis Ihrer App aus, der den unter „Zielbenutzer“ festgelegten Kriterien entspricht und den Sie gleichmäßig zwischen der Basislinie und einer oder mehreren Varianten in Ihrem Experiment aufteilen möchten. Dies kann ein beliebiger Prozentsatz zwischen 0,01 % und 100 % sein. Prozentsätze werden den Benutzern für jedes Experiment, einschließlich doppelter Experimente, 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. Um keine Nachricht an die Baseline-Gruppe zu senden, lassen Sie dieses Feld leer.

  8. (optional) Um mehr als eine Variante zu Ihrem Experiment hinzuzufügen, klicken Sie auf Variante hinzufügen . Standardmäßig haben Experimente eine Basislinie und eine Variante.

  9. (optional) Geben Sie für jede Variante in Ihrem Experiment einen Namen ein, um die Namen Variante A , Variante B usw. zu ersetzen.

  10. Definieren Sie eine Zielmetrik für Ihr Experiment, die bei der Bewertung von Experimentvarianten zusammen mit allen gewünschten zusätzlichen Metriken aus der Dropdown-Liste verwendet werden soll. Zu diesen Kennzahlen gehören integrierte Ziele (Engagement, Käufe, Umsatz, Kundenbindung usw.), Analytics-Conversion-Ereignisse und andere Analytics-Ereignisse.

  11. Wählen Sie Optionen für Ihre Nachricht:

    • Lieferdatum: Wählen Sie entweder „Jetzt senden“, um Ihr Experiment sofort nach dem Speichern zu starten, oder „ Geplant“ , um einen Zeitpunkt für den Start Ihres Experiments in der Zukunft anzugeben.
    • Erweiterte Optionen: Um erweiterte Optionen für alle in Ihrem Experiment enthaltenen Benachrichtigungen auszuwählen, erweitern Sie Erweiterte Optionen und ändern Sie dann eine der aufgelisteten Nachrichtenoptionen.
  12. Klicken Sie auf „Überprüfen“ , um Ihr Experiment zu speichern.

Pro Projekt sind bis zu 300 Experimente zulässig, die aus bis zu 24 laufenden Experimenten bestehen können, der Rest ist als Entwurf oder abgeschlossen.

Validieren Sie Ihr Experiment auf einem Testgerät

Für jede Firebase-Installation können Sie das damit verbundene FCM-Registrierungstoken abrufen. Mit diesem Token können Sie bestimmte Experimentvarianten auf einem Testgerät testen, auf dem Ihre App installiert ist. Gehen Sie wie folgt vor, um Ihr Experiment auf einem Testgerät zu validieren:

  1. Holen Sie sich das FCM-Registrierungstoken wie folgt:

    Schnell

    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)"
      }
    }
    

    Ziel 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& future) {
          if (future.status() == kFutureStatusComplete &&
              future.error() == firebase::installations::kErrorNone) {
            printf("Installations Auth Token %s\n", future.result()->c_str());
          }
        });
        

    Unity

    Firebase.Messaging.FirebaseMessaging.DefaultInstance.GetTokenAsync().ContinueWith(
      task => {
        if (!(task.IsCanceled || task.IsFaulted) && task.IsCompleted) {
          UnityEngine.Debug.Log(System.String.Format("FCM registration token {0}", task.Result));
        }
      });
    
  2. Klicken Sie in der Navigationsleiste der Firebase-Konsole auf A/B-Tests .
  3. Klicken Sie auf Entwurf , bewegen Sie den Mauszeiger über Ihr Experiment, klicken Sie auf das Kontextmenü ( ) und dann auf Testgeräte verwalten
  4. Geben Sie den FCM-Token für ein Testgerät ein und wählen Sie die Experimentvariante aus, die an dieses Testgerät gesendet werden soll.
  5. Führen Sie die App aus und bestätigen Sie, dass die ausgewählte Variante auf dem Testgerät empfangen wird.

Verwalten Sie Ihr Experiment

Unabhängig davon, ob Sie ein Experiment mit Remote Config, dem Notifications Composer oder Firebase In-App Messaging erstellen, können Sie Ihr Experiment dann validieren und starten, Ihr Experiment während der Ausführung überwachen und die Anzahl der in Ihr laufendes Experiment einbezogenen Benutzer erhöhen.

Wenn Ihr Experiment abgeschlossen ist, können Sie sich die von der Gewinnervariante verwendeten Einstellungen notieren und diese Einstellungen dann für alle Benutzer bereitstellen. Oder Sie können ein weiteres Experiment durchführen.

Starten Sie ein Experiment

  1. Klicken Sie im Abschnitt „Engage“ des Navigationsmenüs der Firebase-Konsole auf A/B-Tests .
  2. Klicken Sie auf Entwurf und dann auf den Titel Ihres Experiments.
  3. Um zu überprüfen, ob Ihre App Benutzer hat, die in Ihr Experiment einbezogen werden würden, erweitern Sie die Entwurfsdetails und prüfen Sie, ob im Abschnitt „Targeting und Verteilung“ eine Zahl größer als 0 % vorliegt (z. B. 1 % der Benutzer, die den Kriterien entsprechen ).
  4. Um Ihr Experiment zu ändern, klicken Sie auf Bearbeiten .
  5. Um Ihr Experiment zu starten, klicken Sie auf Experiment starten . Sie können bis zu 24 Experimente pro Projekt gleichzeitig durchführen.

Überwachen Sie ein Experiment

Sobald ein Experiment eine Weile läuft, können Sie seinen Fortschritt überprüfen und sehen, wie Ihre Ergebnisse für die Benutzer aussehen, die bisher an Ihrem Experiment teilgenommen haben.

  1. Klicken Sie im Abschnitt „Engage“ des Navigationsmenüs der Firebase-Konsole auf A/B-Tests .
  2. Klicken Sie auf „Läuft “ und dann auf den Titel Ihres Experiments oder suchen Sie danach. Auf dieser Seite können Sie verschiedene beobachtete und modellierte Statistiken zu Ihrem laufenden Experiment anzeigen, darunter die folgenden:

    • % Differenz zum Ausgangswert : Ein Maß für die Verbesserung einer Metrik für eine bestimmte Variante im Vergleich zum Ausgangswert. Berechnet durch Vergleich des Wertebereichs für die Variante mit dem Wertebereich für die Basislinie.
    • Wahrscheinlichkeit, die Basislinie zu übertreffen : Die geschätzte Wahrscheinlichkeit, dass eine bestimmte Variante die Basislinie für die ausgewählte Metrik übertrifft.
    • observed_metric pro Benutzer : Basierend auf Experimentergebnissen ist dies der vorhergesagte Bereich, in den der Metrikwert im Laufe der Zeit fallen wird.
    • Gesamte observed_metric : Der beobachtete kumulative Wert für die Basislinie oder Variante. Der Wert wird verwendet, um zu messen, wie gut jede Experimentvariante abschneidet, und wird zur Berechnung von Verbesserung , Wertebereich , Wahrscheinlichkeit, die Grundlinie zu übertreffen und Wahrscheinlichkeit, die beste Variante zu sein , verwendet. Abhängig von der gemessenen Metrik kann diese Spalte mit „Dauer pro Benutzer“, „Umsatz pro Benutzer“, „Retentionsrate“ oder „Conversion-Rate“ beschriftet sein.
  3. Nachdem Ihr Experiment 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 (falls vorhanden) die „Spitzenreiterin“ ist. Einige Messungen werden von einem Balkendiagramm begleitet, das die Daten in einem visuellen Format darstellt.

Führen Sie ein Experiment für alle Benutzer durch

Nachdem ein Experiment lange genug gelaufen ist, sodass Sie eine „führende“ oder Gewinnervariante für Ihre Zielmetrik haben, können Sie das Experiment für 100 % der Benutzer freigeben. Auf diese Weise können Sie eine Variante auswählen, die künftig für alle Benutzer veröffentlicht werden soll. Auch wenn Ihr Experiment keinen klaren Gewinner hervorgebracht hat, können Sie dennoch eine Variante für alle Ihre Benutzer freigeben.

  1. Klicken Sie im Abschnitt „Engage“ des Navigationsmenüs der Firebase-Konsole auf A/B-Tests .
  2. Klicken Sie auf „Abgeschlossen“ oder „ Wird ausgeführt“ , klicken Sie auf ein Experiment, das Sie für alle Benutzer freigeben möchten, und klicken Sie auf das Kontextmenü ( ) . Variante ausrollen .
  3. Stellen Sie Ihr Experiment allen Benutzern zur Verfügung, indem Sie einen der folgenden Schritte ausführen:

    • Verwenden Sie für ein Experiment, das den Notifications Composer verwendet, das Dialogfeld „Nachricht ausrollen“ , um die Nachricht an die verbleibenden Zielbenutzer zu senden, die nicht Teil des Experiments waren.
    • Wählen Sie für ein Remote Config- Experiment eine Variante aus, um zu bestimmen, welche Remote Config-Parameterwerte aktualisiert werden sollen. Die beim Erstellen des Experiments definierten Targeting-Kriterien werden Ihrer Vorlage als neue Bedingung hinzugefügt, um sicherzustellen, dass sich die Einführung nur auf Benutzer auswirkt, auf die das Experiment abzielt. Nachdem Sie in Remote Config auf „Überprüfen“ geklickt haben, um die Änderungen zu überprüfen, klicken Sie auf „Änderungen veröffentlichen“ , um den Rollout abzuschließen.
    • Verwenden Sie für ein In-App-Messaging- Experiment das Dialogfeld, um zu bestimmen, welche Variante als eigenständige In-App-Messaging-Kampagne eingeführt werden muss. Nach der Auswahl werden Sie zum FIAM-Erstellungsbildschirm weitergeleitet, wo Sie (falls erforderlich) vor der Veröffentlichung Änderungen vornehmen können.

Erweitern Sie ein Experiment

Wenn Sie feststellen, dass ein Experiment nicht genügend Nutzer für A/B-Tests anzieht, um zum Spitzenreiter zu werden, können Sie die Verteilung Ihres Experiments erhöhen, um einen größeren Prozentsatz der Nutzerbasis der App zu erreichen.

  1. Klicken Sie im Abschnitt „Engage“ des Navigationsmenüs der Firebase-Konsole auf A/B-Tests .
  2. Wählen Sie das laufende Experiment aus, das Sie bearbeiten möchten.
  3. Klicken Sie in der Experimentübersicht auf das Kontextmenü ( ) und dann auf Laufendes Experiment bearbeiten .
  4. Im Dialogfeld „Targeting“ wird eine Option angezeigt, mit der Sie den Prozentsatz der Benutzer erhöhen können, die am laufenden Experiment teilnehmen. Wählen Sie eine Zahl aus, die größer als der aktuelle Prozentsatz ist, und klicken Sie auf „Veröffentlichen“ . Das Experiment wird an den von Ihnen angegebenen Prozentsatz der Benutzer verteilt.

Experiment duplizieren oder stoppen

  1. Klicken Sie im Abschnitt „Engage“ des Navigationsmenüs der Firebase-Konsole auf A/B-Tests .
  2. Klicken Sie auf Abgeschlossen oder Wird ausgeführt , halten Sie den Mauszeiger über Ihr Experiment, klicken Sie auf das Kontextmenü ( ) und klicken Sie dann auf Experiment duplizieren oder Experiment stoppen .

Benutzer-Targeting

Mithilfe der folgenden Kriterien für die Nutzerausrichtung können Sie gezielt auf die Nutzer abzielen, die Sie in Ihr Experiment einbeziehen möchten.

Targeting-Kriterium Betreiber Werte) Notiz
Ausführung enthält,
beinhaltet nicht,
passt genau,
enthält Regex
Geben Sie einen Wert für eine oder mehrere App-Versionen ein, die Sie in das Experiment einbeziehen möchten.

Wenn Sie einen der Operatoren „ enthält“ , „enthält nicht“ oder „trifft genau überein“ verwenden, können Sie eine durch Kommas getrennte Liste von Werten bereitstellen.

Wenn Sie den Regex-Operator enthält , können Sie reguläre Ausdrücke im RE2- Format erstellen. Ihr regulärer Ausdruck kann mit der Zielversionszeichenfolge ganz oder teilweise übereinstimmen. Sie können auch die Anker ^ und $ verwenden, um den Anfang, das Ende oder die Gesamtheit einer Zielzeichenfolge abzugleichen.

Benutzerzielgruppe(n) umfasst alles,
umfasst mindestens eines von:
umfasst nicht alles,
enthält nicht mindestens eines davon
Wählen Sie eine oder mehrere Analytics-Zielgruppen aus, um Nutzer anzusprechen, die möglicherweise in Ihr Experiment einbezogen werden. Bei einigen Experimenten, die auf Google Analytics-Zielgruppen ausgerichtet sind, kann es einige Tage dauern, bis die Daten erfasst sind, da sie der Latenz der Analytics-Datenverarbeitung unterliegen. Diese Verzögerung tritt am wahrscheinlichsten bei neuen Benutzern auf, die in der Regel 24 bis 48 Stunden nach der Erstellung in qualifizierte Zielgruppen aufgenommen werden, oder bei kürzlich erstellten Zielgruppen .
Benutzereigenschaft Für Text:
enthält,
beinhaltet nicht,
passt genau,
enthält Regex

Für Zahlen:
<, ≤, =, ≥, >
Eine Analytics-Benutzereigenschaft wird verwendet, um Benutzer auszuwählen, die in ein Experiment einbezogen werden könnten, mit einer Reihe von Optionen zum Auswählen von Benutzereigenschaftswerten.

Auf dem Client können Sie nur Zeichenfolgenwerte für Benutzereigenschaften festlegen. Für Bedingungen, die numerische Operatoren verwenden, konvertiert der Remote Config-Dienst den Wert der entsprechenden Benutzereigenschaft in einen Integer/Float-Wert.
Wenn Sie den Regex-Operator enthält , können Sie reguläre Ausdrücke im RE2- Format erstellen. Ihr regulärer Ausdruck kann mit der Zielversionszeichenfolge ganz oder teilweise übereinstimmen. Sie können auch die Anker ^ und $ verwenden, um den Anfang, das Ende oder die Gesamtheit einer Zielzeichenfolge abzugleichen.
Land/Region N / A Ein oder mehrere Länder oder Regionen werden zur Auswahl von Benutzern verwendet, die in das Experiment einbezogen werden könnten.
Sprachen N / A Eine oder mehrere Sprachen und Gebietsschemas, die zur Auswahl von Benutzern verwendet werden, die in das Experiment einbezogen werden könnten.
Zuerst öffnen Mehr als
Weniger als
Zwischen
Sprechen Sie Nutzer basierend auf dem Zeitpunkt an, zu dem sie Ihre App zum ersten Mal geöffnet haben, angegeben in Tagen.
Letzte App-Interaktion Mehr als
Weniger als
Zwischen
Sprechen Sie Nutzer gezielt auf der Grundlage der letzten Interaktion mit Ihrer App an, angegeben in Tagen.

A/B-Testmetriken

Wenn Sie Ihr Experiment erstellen, wählen Sie eine primäre oder Zielmetrik aus, die zur Bestimmung der Gewinnervariante verwendet wird. Sie sollten auch andere Messwerte verfolgen, um die Leistung jeder Experimentvariante besser zu verstehen und wichtige Trends zu verfolgen, die für jede Variante unterschiedlich sein können, wie z. B. Benutzerbindung, App-Stabilität und In-App-Kaufumsatz. Sie können in Ihrem Experiment bis zu fünf nicht zielgerichtete Messwerte verfolgen.

Angenommen, Sie haben Ihrer App neue In-App-Käufe hinzugefügt und möchten die Wirksamkeit zweier verschiedener „Anstupser“-Nachrichten vergleichen. In diesem Fall können Sie sich dafür entscheiden, den Kaufumsatz als Ihre Zielmetrik festzulegen, da die Gewinnervariante die Benachrichtigung darstellen soll, die zu den höchsten In-App-Kaufeinnahmen geführt hat. Und da Sie auch nachverfolgen möchten, welche Variante zu mehr zukünftigen Conversions und zur Bindung von Nutzern geführt hat, können Sie unter „Andere zu verfolgende Metriken“ Folgendes hinzufügen:

  • Geschätzter Gesamtumsatz, um zu sehen, wie sich Ihr kombinierter In-App-Kauf- und Werbeumsatz zwischen den beiden Varianten unterscheidet
  • Aufbewahrung (1 Tag) , Aufbewahrung (2–3 Tage) , Aufbewahrung (4–7 Tage), um Ihre tägliche/wöchentliche Benutzerbindung zu verfolgen

Die folgenden Tabellen enthalten Details zur Berechnung von Zielmetriken und anderen Metriken.

Zielmetriken

Metrisch Beschreibung
Absturzfreie Benutzer Der Prozentsatz der Benutzer, bei denen in Ihrer App keine Fehler aufgetreten sind, die vom Firebase Crashlytics SDK während des Experiments erkannt wurden.
Geschätzte Werbeeinnahmen Geschätzte Werbeeinnahmen.
Geschätzter Gesamtumsatz Kombinierter Kaufwert und geschätzte Werbeeinnahmen.
Kauferlös Kombinierter Wert für alle purchase und in_app_purchase Ereignisse.
Aufbewahrung (1 Tag) Die Anzahl der Benutzer, die täglich zu Ihrer App zurückkehren.
Aufbewahrung (2-3 Tage) Die Anzahl der Benutzer, die innerhalb von 2–3 Tagen zu Ihrer App zurückkehren.
Aufbewahrung (4–7 Tage) Die Anzahl der Benutzer, die innerhalb von 4–7 Tagen zu Ihrer App zurückkehren.
Aufbewahrung (8–14 Tage) Die Anzahl der Benutzer, die innerhalb von 8–14 Tagen zu Ihrer App zurückkehren.
Aufbewahrung (15+ Tage) Die Anzahl der Benutzer, die 15 oder mehr Tage nach ihrer letzten Nutzung zu Ihrer App zurückkehren.
first_open Ein Analytics-Ereignis, das ausgelöst wird, wenn ein Benutzer eine App nach der Installation oder Neuinstallation zum ersten Mal öffnet. Wird als Teil eines Conversion-Trichters verwendet.

Andere Kennzahlen

Metrisch Beschreibung
notification_dismiss Ein Analytics-Ereignis, das ausgelöst wird, wenn eine vom Notifications Composer gesendete Benachrichtigung verworfen wird (nur Android).
benachrichtigung_empfangen Ein Analytics-Ereignis, das ausgelöst wird, wenn eine vom Notifications Composer gesendete Benachrichtigung empfangen wird, während die App im Hintergrund läuft (nur Android).
os_update Ein Analytics-Ereignis, das nachverfolgt, 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, das die in Ihrer App angezeigten Bildschirme verfolgt. Weitere Informationen finden Sie unter Bildschirmaufrufe verfolgen .
session_start Ein Analytics-Ereignis, das Benutzersitzungen in Ihrer App zählt. Weitere Informationen finden Sie unter Automatisch erfasste Ereignisse .

BigQuery-Datenexport

Zusätzlich zur Anzeige von A/B-Test-Experimentdaten in der Firebase-Konsole können Sie Experimentdaten in BigQuery untersuchen und analysieren. Während A/B-Tests keine separate BigQuery-Tabelle haben, werden Experiment- und Variantenmitgliedschaften für jedes Google Analytics-Ereignis in den Analytics-Ereignistabellen gespeichert.

Die Benutzereigenschaften, die Experimentinformationen enthalten, haben die Form userProperty.key like "firebase_exp_%" oder userProperty.key = "firebase_exp_01" , wobei 01 die Experiment-ID ist und userProperty.value.string_value den (nullbasierten) Index des enthält Versuchsvariante.

Sie können diese Experimentbenutzereigenschaften verwenden, um Experimentdaten zu extrahieren. Dies gibt Ihnen die Möglichkeit, Ihre Experimentergebnisse auf viele verschiedene Arten aufzuteilen und die Ergebnisse von A/B-Tests unabhängig zu überprüfen.

Führen Sie zunächst die folgenden Schritte aus, wie in dieser Anleitung beschrieben:

  1. Aktivieren Sie den BigQuery-Export für Google Analytics in der Firebase-Konsole
  2. Greifen Sie mit BigQuery auf A/B-Testdaten zu
  3. Entdecken Sie Beispielabfragen

Aktivieren Sie den BigQuery-Export für Google Analytics in der Firebase-Konsole

Wenn Sie den Spark-Plan nutzen, können Sie die BigQuery-Sandbox verwenden, um kostenlos auf BigQuery zuzugreifen, vorbehaltlich der Sandbox-Beschränkungen . Weitere Informationen finden Sie unter Preise und die BigQuery-Sandbox .

Stellen Sie zunächst sicher, dass Sie Ihre Analytics-Daten nach BigQuery exportieren:

  1. Öffnen Sie die Registerkarte „Integrationen“ , auf die Sie über “ > „Projekteinstellungen“ in der Firebase-Konsole zugreifen können.
  2. Wenn Sie BigQuery bereits mit anderen Firebase-Diensten verwenden, klicken Sie auf Verwalten . Andernfalls klicken Sie auf „Verknüpfen“ .
  3. Lesen Sie die Informationen zum Verknüpfen von Firebase mit BigQuery und klicken Sie dann auf Weiter .
  4. Aktivieren Sie im Abschnitt „Integration konfigurieren“ den Schalter „Google Analytics“ .
  5. Wählen Sie eine Region aus und wählen Sie Exporteinstellungen.

  6. 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 .

Greifen Sie in BigQuery auf A/B-Testdaten zu

Bevor Sie Daten für ein bestimmtes Experiment abfragen, möchten Sie einige oder alle der folgenden Informationen erhalten, die Sie in Ihrer Abfrage verwenden können:

  • Experiment-ID: Diese erhalten Sie über die URL der Experiment-Übersichtsseite . Wenn Ihre URL beispielsweise wie folgt aussieht: https://console.firebase.google.com/project/my_firebase_project/config/experiment/results/25 , lautet die Experiment-ID 25 .
  • Google Analytics-Property-ID : Dies ist Ihre 9-stellige Google Analytics-Property-ID. Sie finden dies in Google Analytics; Es erscheint auch in BigQuery, wenn Sie Ihren Projektnamen erweitern, um den Namen Ihrer Google Analytics-Ereignistabelle ( project_name.analytics_000000000.events ) anzuzeigen.
  • Experimentdatum: Um eine schnellere und effizientere Abfrage zu erstellen, empfiehlt es sich, Ihre Abfragen auf die Google Analytics-Tagesereignistabellenpartitionen zu beschränken, die Ihre Experimentdaten enthalten – Tabellen, die mit dem Suffix YYYYMMDD gekennzeichnet sind. Wenn Ihr Experiment also vom 2. Februar 2024 bis zum 2. Mai 2024 lief, würden Sie ein _TABLE_SUFFIX between '20240202' AND '20240502' angeben. Ein Beispiel finden Sie unter „Auswählen der Werte eines bestimmten Experiments“ .
  • Ereignisnamen: Normalerweise entsprechen diese Ihren Zielmetriken , die Sie im Experiment konfiguriert haben. Zum Beispiel in_app_purchase Ereignisse, ad_impression oder user_retention Ereignisse.

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

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

Fragen Sie Experimentdaten mit der automatisch generierten Abfrage der Firebase-Konsole ab

Wenn Sie den Blaze-Plan verwenden, bietet die Übersichtsseite des Experiments eine Beispielabfrage, die den Experimentnamen, Varianten, Ereignisnamen und die Anzahl der Ereignisse für das angezeigte Experiment zurückgibt.

So rufen Sie die automatisch generierte Abfrage ab und führen sie aus:

  1. Öffnen Sie in der Firebase-Konsole A/B-Tests und wählen Sie das A/B-Test-Experiment aus, das Sie abfragen möchten, um die Experimentübersicht zu öffnen.
  2. Wählen Sie im Menü „Optionen“ unter „BigQuery-Integration“ die Option „Experimentdaten abfragen“ aus. Dadurch wird Ihr Projekt in BigQuery in der Google Cloud Console-Konsole geöffnet und eine einfache Abfrage bereitgestellt, mit der Sie Ihre Experimentdaten abfragen können.

Das folgende Beispiel zeigt eine generierte Abfrage für ein Experiment mit drei Varianten (einschließlich der Basislinie) mit dem Namen „Winter-Welcome-Experiment“. Für jedes Ereignis werden der Name des aktiven Experiments, der Variantenname, das eindeutige Ereignis und die Ereignisanzahl zurückgegeben. Beachten Sie, dass der Abfrage-Generator Ihren Projektnamen nicht im Tabellennamen angibt, da dieser 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 erkunden .

Entdecken Sie Beispielabfragen

In den folgenden Abschnitten finden Sie Beispiele für Abfragen, mit denen Sie A/B-Test-Experimentdaten aus Google Analytics-Ereignistabellen extrahieren können.

Extrahieren Sie Kauf- und Experimentstandardabweichungswerte aus allen Experimenten

Sie können Testergebnisdaten verwenden, um die Ergebnisse von Firebase A/B-Tests unabhängig zu überprüfen. Die folgende BigQuery-SQL-Anweisung extrahiert Experimentvarianten, die Anzahl der einzelnen Benutzer in jeder Variante und summiert den Gesamtumsatz aus in_app_purchase und ecommerce_purchase Ereignissen sowie Standardabweichungen für alle Experimente innerhalb des als _TABLE_SUFFIX angegebenen Anfangs- und Enddatums. Sie können die Daten, die Sie aus dieser Abfrage erhalten, mit einem statistischen Signifikanzgenerator für einseitige T-Tests verwenden, um zu überprüfen, ob die von Firebase bereitgestellten Ergebnisse mit Ihrer eigenen Analyse übereinstimmen.

Weitere Informationen darüber, wie A/B-Tests Inferenzen berechnen, 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;

Wählen Sie die Werte eines bestimmten Experiments aus

Die folgende Beispielabfrage veranschaulicht, wie Daten für ein bestimmtes Experiment in BigQuery abgerufen werden. Diese Beispielabfrage gibt den Experimentnamen, Variantennamen (einschließlich Baseline), Ereignisnamen und Ereignisanzahlen 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