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 als Erstes die folgenden Schritte aus, wie in diesem Leitfaden 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. Sie können ihn über > Projekteinstellungen in der Firebase Console aufrufen.
- Wenn Sie BigQuery bereits mit anderen Firebase-Diensten verwenden, klicken Sie auf Verwalten. Klicken Sie andernfalls auf Verknüpfen.
- Lesen Sie den Hilfeartikel Firebase mit BigQuery verknüpfen und klicken Sie dann auf Weiter.
- Aktivieren Sie im Abschnitt Integration konfigurieren die Ein/Aus-Schaltfläche Google Analytics.
Wählen Sie eine Region und die Exporteinstellungen aus.
Klicken Sie auf Mit BigQuery verknüpfen.
Je nachdem, wie Sie die Daten exportiert haben, kann es bis zu einem Tag dauern, bis die Tabellen verfügbar sind. Weitere Informationen zum Exportieren von Projektdaten nach BigQuery finden Sie unter Projektdaten nach BigQuery exportieren.
Auf A/B Testing-Daten in BigQuery zugreifen
Bevor Sie Daten für einen bestimmten Test abfragen, sollten Sie einige oder alle der folgenden Informationen für Ihre Abfrage bereitstellen:
- Test-ID: Sie finden sie in der URL der Seite Testübersicht. Wenn Ihre URL beispielsweise
https://console.firebase.google.com/project/my_firebase_project/config/experiment/results/25
lautet, ist die Test-ID 25. - Property-ID von Google Analytics: Ihre 9-stellige Property-ID von Google Analytics. Sie finden sie unter Google Analytics. Sie wird auch in BigQuery angezeigt, wenn Sie den Projektnamen maximieren, um den Namen der Google Analytics-Ereignistabelle (
project_name.analytics_000000000.events
) zu sehen. - Testdatum: Um eine schnellere und effizientere Abfrage zu erstellen, sollten Sie Ihre Abfragen auf die Google Analytics-Tagespartitionen der Ereignistabelle beschränken, die Ihre Testdaten enthalten. Diese Tabellen sind mit dem Suffix
YYYYMMDD
gekennzeichnet. Wenn Ihr Test also vom 2. Februar 2024 bis zum 2. Mai 2024 durchgeführt wurde, geben Sie_TABLE_SUFFIX between '20240202' AND '20240502'
an. Ein Beispiel finden Sie unter Werte für einen bestimmten Test auswählen. - Ereignisnamen:Diese entsprechen in der Regel den Zielvorhaben, 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 ausführbare 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 Blaze-Tarif verwenden, finden Sie auf der Seite Testübersicht eine Beispielabfrage, die den Namen des Tests, die Varianten, die Ereignisnamen und die Anzahl der Ereignisse für den angezeigten Test zurückgibt.
So rufen Sie die automatisch generierte Abfrage ab und führen sie aus:
- Öffnen Sie in der Firebase-Konsole A/B Testing und wählen Sie den A/B Testing-Test aus, den Sie abfragen möchten, um die Testübersicht zu öffnen.
- Wählen Sie im Optionsmenü unter BigQuery Integration die Option Testdaten abfragen aus. Dadurch wird Ihr Projekt in BigQuery in der Google Cloud-Konsole geöffnet und eine einfache Abfrage angezeigt, mit der Sie Ihre Testdaten abfragen können.
Das folgende Beispiel zeigt eine generierte Abfrage für einen Test mit drei Varianten (einschließlich der Kontrollgruppe) mit dem Namen „Test zur Winter-Willkommensseite“. Es werden der Name des aktiven Tests, der Name der Variante, das eindeutige Ereignis und die Ereignisanzahl für jedes Ereignis zurückgegeben. Im Query Builder wird der Projektname nicht im Tabellennamen angegeben, da er direkt in Ihrem Projekt geöffnet wird.
/*
This query is auto-generated by Firebase A/B Testing for your
experiment "Winter welcome experiment".
It demonstrates how you can get event counts for all Analytics
events logged by each variant of this experiment's population.
*/
SELECT
'Winter welcome experiment' AS experimentName,
CASE userProperty.value.string_value
WHEN '0' THEN 'Baseline'
WHEN '1' THEN 'Welcome message (1)'
WHEN '2' THEN 'Welcome message (2)'
END AS experimentVariant,
event_name AS eventName,
COUNT(*) AS count
FROM
`analytics_000000000.events_*`,
UNNEST(user_properties) AS userProperty
WHERE
(_TABLE_SUFFIX BETWEEN '20240202' AND '20240502')
AND userProperty.key = 'firebase_exp_25'
GROUP BY
experimentVariant, eventName
Weitere Abfragebeispiele finden Sie unter Beispielabfragen ansehen.
Beispielabfragen ansehen
In den folgenden Abschnitten finden Sie Beispiele für Abfragen, mit denen Sie A/B Testing-Testdaten aus Google Analytics-Ereignistabellen extrahieren können.
Werte für die Standardabweichung von Käufen und Tests aus allen Tests extrahieren
Sie können die Testergebnisdaten verwenden, um die Firebase A/B Testing-Ergebnisse unabhängig zu überprüfen. Mit der folgenden BigQuery-SQL-Anweisung werden Testvarianten, 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