Quando contatti i tuoi utenti o avvii una nuova campagna di marketing, vuoi assicurarti di fare tutto nel modo giusto. Il test A/B può aiutarti a trovare la formulazione e la presentazione ottimali testando le varianti dei messaggi su porzioni selezionate della tua base utenti. Che il tuo obiettivo sia una migliore fidelizzazione o la conversione di un'offerta, il test A/B può eseguire un'analisi statistica per determinare se una variante del messaggio ha un rendimento migliore rispetto alla baseline per l'obiettivo selezionato.
Per eseguire test A/B sulle varianti delle funzionalità con una linea di base:
- Crea l'esperimento.
- Convalida l'esperimento su un dispositivo di test.
- Gestisci l'esperimento.
Crea un esperimento
Un esperimento che utilizza il compositore di notifiche ti consente di valutare più varianti di un singolo messaggio di notifica.
Accedi alla console Firebase e verifica che Google Analytics sia abilitato nel tuo progetto in modo che l'esperimento abbia accesso ai dati Analytics.
Se non hai attivato Google Analytics durante la creazione del progetto, puoi farlo nella scheda Integrazioni, a cui puoi accedere utilizzando > Impostazioni progetto nella Firebase console.
Nella sezione Coinvolgimento della barra di navigazione della console Firebase, fai clic su A/B Testing.
Fai clic su Crea esperimento e poi seleziona Notifiche quando ti viene chiesto il servizio con cui vuoi sperimentare.
Inserisci un Nome e una Descrizione facoltativa per l'esperimento e fai clic su Avanti.
Compila i campi Targeting, scegliendo prima l'app che utilizza l'esperimento. Puoi anche scegliere come target un sottoinsieme dei tuoi utenti per partecipare all'esperimento scegliendo opzioni che includono quanto segue:
- Versione:una o più versioni della tua app
- Segmento di pubblico di utenti:segmenti di pubblico Analytics utilizzati per il targeting degli utenti che potrebbero essere inclusi nell'esperimento
- Proprietà utente:una o più proprietà utente Analytics per selezionare gli utenti che potrebbero essere inclusi nell'esperimento
- Paese/regione: uno o più paesi o regioni per selezionare gli utenti che potrebbero essere inclusi nell'esperimento
- Lingua del dispositivo:una o più lingue e impostazioni internazionali utilizzate per selezionare gli utenti che potrebbero essere inclusi nell'esperimento
- Prima apertura:scegli come target gli utenti in base alla prima volta che hanno aperto la tua app
- Ultimo coinvolgimento nell'app:scegli come target gli utenti in base all'ultima volta che hanno interagito con la tua app
Imposta la Percentuale di utenti target:seleziona la percentuale della base utenti della tua app corrispondente ai criteri impostati in Utenti target che vuoi dividere equamente tra la baseline e una o più varianti dell'esperimento. Può essere qualsiasi percentuale compresa tra 0,01% e 100%. Le percentuali vengono riassegnate in modo casuale agli utenti per ogni esperimento, inclusi gli esperimenti duplicati.
Nella sezione Varianti, digita un messaggio da inviare al gruppo di base nel campo Inserisci il testo del messaggio. Per non inviare alcun messaggio al gruppo di base, lascia vuoto questo campo.
(Facoltativo) Per aggiungere più di una variante all'esperimento, fai clic su Aggiungi variante. Per impostazione predefinita, gli esperimenti hanno una base di riferimento e una variante.
(Facoltativo) Inserisci un nome per ogni variante dell'esperimento per sostituire i nomi Variante A, Variante B e così via.
Definisci una metrica obiettivo per l'esperimento da utilizzare per valutare le varianti dell'esperimento, insieme a eventuali metriche aggiuntive desiderate dall'elenco a discesa. Queste metriche includono obiettivi integrati (coinvolgimento, acquisti, entrate, fidelizzazione e così via), Analytics e altri Analytics eventi.
Scegli le opzioni per il tuo messaggio:
- Data di pubblicazione:scegli Invia ora per avviare l'esperimento immediatamente dopo il salvataggio oppure Pianificato per specificare un orario di avvio dell'esperimento in futuro.
- Opzioni avanzate:per scegliere le opzioni avanzate per tutte le notifiche incluse nell'esperimento, espandi Opzioni avanzate e poi modifica una delle opzioni di messaggio elencate.
Fai clic su Rivedi per salvare l'esperimento.
Sono consentiti fino a 300 esperimenti per progetto, che possono consistere in un massimo di 24 esperimenti in esecuzione, mentre i restanti sono bozze o completati.
Convalidare l'esperimento su un dispositivo di test
Per ogni installazione di Firebase puoi recuperare il token di registrazione FCM associato. Puoi utilizzare questo token per testare varianti specifiche dell'esperimento su un dispositivo di test con la tua app installata. Per convalidare l'esperimento su un dispositivo di test:
- Ottieni il token di registrazione FCM come segue:
Swift
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)" } }
Objective-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
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()); } });
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)); } });
- Nella barra di navigazione della console Firebase, fai clic su Test A/B.
- Fai clic su Bozza, passa il mouse sopra l'esperimento, fai clic sul menu contestuale (more_vert) e poi su Gestisci dispositivi di test.
- Inserisci il token FCM per un dispositivo di test e scegli la variante dell'esperimento da inviare al dispositivo di test.
- Esegui l'app e verifica che la variante selezionata venga ricevuta sul dispositivo di test.
Gestisci l'esperimento
Che tu crei un esperimento con Remote Config, il compositore di notifiche o Firebase In-App Messaging, puoi quindi convalidare e avviare l'esperimento, monitorarlo durante l'esecuzione e aumentare il numero di utenti inclusi nell'esperimento in esecuzione.
Al termine dell'esperimento, puoi prendere nota delle impostazioni utilizzate dalla variante vincente e poi implementarle per tutti gli utenti. In alternativa, puoi eseguire un altro esperimento.
Avvia un esperimento
- Nella sezione Engage del menu di navigazione della Firebase console, fai clic su A/B Testing.
- Fai clic su Bozza e poi sul titolo dell'esperimento.
- Per verificare che la tua app abbia utenti che verrebbero inclusi nell'esperimento, espandi i dettagli della bozza e controlla che nella sezione Targeting e distribuzione sia presente un numero maggiore di 0% (ad esempio, 1% degli utenti che corrispondono ai criteri).
- Per modificare l'esperimento, fai clic su Modifica.
- Per avviare l'esperimento, fai clic su Avvia esperimento. Puoi eseguire fino a 24 esperimenti per progetto alla volta.
Monitorare un esperimento
Dopo un po' di tempo dall'avvio di un esperimento, puoi monitorarne l'avanzamento e visualizzare i risultati ottenuti finora per gli utenti che hanno partecipato all'esperimento.
- Nella sezione Engage del menu di navigazione della Firebase console, fai clic su A/B Testing.
Fai clic su In esecuzione e poi fai clic sul titolo dell'esperimento o cercalo. In questa pagina puoi visualizzare varie statistiche osservate e modellate sul tuo esperimento in esecuzione, tra cui:
- Differenza (%) dalla base di riferimento: una misura del miglioramento di una metrica per una determinata variante rispetto alla base di riferimento. Calcolato confrontando l'intervallo di valori per la variante con l'intervallo di valori per la base di riferimento.
- Probabilità di superare la base di riferimento: la probabilità stimata che una determinata variante superi la base di riferimento per la metrica selezionata.
- observed_metric per utente: in base ai risultati dell'esperimento, questo è l'intervallo previsto in cui rientrerà il valore della metrica nel tempo.
- Totale observed_metric: il valore cumulativo osservato per la base di riferimento o la variante. Il valore viene utilizzato per misurare il rendimento di ogni variante dell'esperimento e per calcolare Miglioramento, Intervallo di valori, Probabilità di superare la base di riferimento e Probabilità di essere la variante migliore. A seconda della metrica misurata, questa colonna può essere etichettata "Durata per utente", "Entrate per utente", "Tasso di fidelizzazione" o "Tasso di conversione".
Dopo un po' di tempo dall'inizio dell'esperimento (almeno 7 giorni per FCM e In-App Messaging o 14 giorni per Remote Config), i dati in questa pagina indicano quale variante, se presente, è il "leader". Alcune misurazioni sono accompagnate da un grafico a barre che presenta i dati in un formato visivo.
Implementare un esperimento per tutti gli utenti
Dopo che un esperimento è stato eseguito per un periodo di tempo sufficiente a ottenere una variante "ottimale", o la variante migliore, per la metrica dell'obiettivo, puoi rilasciare l'esperimento per il 100% degli utenti. In questo modo, puoi selezionare una variante da pubblicare in futuro per tutti gli utenti. Anche se l'esperimento non ha delineato chiaramente una variante migliore, puoi comunque scegliere di implementarne una per tutti i tuoi utenti.
- Nella sezione Engage del menu di navigazione della Firebase console, fai clic su A/B Testing.
- Fai clic su Completato o In esecuzione, fai clic su un esperimento che vuoi rilasciare per tutti gli utenti, fai clic sul menu contestuale ( ) Distribuisci variante.
Implementa l'esperimento per tutti gli utenti in uno dei seguenti modi:
- Per un esperimento che utilizza lo strumento di composizione delle notifiche, utilizza la finestra di dialogo Implementa messaggio per inviare il messaggio agli utenti target rimanenti che non facevano parte dell'esperimento.
- Per un esperimento Remote Config, seleziona una variante per determinare i valori parametro di Remote Config da aggiornare. I criteri di targeting definiti durante la creazione dell'esperimento vengono aggiunti come nuova condizione nel modello per fare in modo che l'implementazione riguardi solo gli utenti target dell'esperimento. Dopo aver fatto clic su Esamina con Remote Config per rivedere le modifiche, fai clic su Pubblica modifiche per completare l'implementazione.
- Per un esperimento In-App Messaging, utilizza la finestra di dialogo per determinare quale variante deve essere implementata come campagna In-App Messaging autonoma. Una volta selezionata, viene visualizzata la schermata di composizione dell'intent integrato per apportare eventuali modifiche (se necessarie) prima della pubblicazione.
Espandere un esperimento
Se noti che un esperimento non attira un numero sufficiente di utenti per A/B Testing dichiarare un leader, puoi aumentare la distribuzione dell'esperimento per raggiungere una percentuale maggiore della base utenti dell'app.
- Nella sezione Engage del menu di navigazione della Firebase console, fai clic su A/B Testing.
- Seleziona l'esperimento in esecuzione che vuoi modificare.
- Nella Panoramica dell'esperimento, fai clic sul menu contestuale ( ), poi su Modifica esperimento in esecuzione.
- La finestra di dialogo Targeting mostra un'opzione per aumentare la percentuale di utenti che partecipano all'esperimento in corso. Seleziona un numero maggiore della percentuale attuale e fai clic su Pubblica. L'esperimento verrà distribuito alla percentuale di utenti che hai specificato.
Duplicare o interrompere un esperimento
- Nella sezione Engage del menu di navigazione della Firebase console, fai clic su A/B Testing.
- Fai clic su Completato o In esecuzione, tieni il puntatore sopra l'esperimento, fai clic sul menu contestuale ( ) e poi fai clic su Duplica esperimento o Interrompi esperimento.
Targeting per utenti
Puoi scegliere come target gli utenti da includere nell'esperimento utilizzando i seguenti criteri di targeting degli utenti.
Criterio di targeting | Operatore/i | Valori | Nota |
---|---|---|---|
Versione | contiene,
non contiene, corrisponde esattamente, contiene espressione regolare |
Inserisci un valore per una o più versioni dell'app che vuoi includere nell'esperimento. |
Quando utilizzi uno degli operatori contiene, non contiene o corrisponde esattamente, puoi fornire un elenco di valori separati da virgole. Quando utilizzi l'operatore contiene espressione regolare, puoi creare espressioni regolari in formato RE2. L'espressione regolare può corrispondere a tutta o parte della stringa della versione di destinazione. Puoi anche utilizzare gli ancoraggi ^ e $ per trovare una corrispondenza con l'inizio, la fine o l'intera stringa di destinazione. |
Segmenti di pubblico | include tutti gli elementi di,
include almeno uno degli elementi di, non include tutti gli elementi di, non include almeno uno degli elementi di |
Seleziona uno o più segmenti di pubblico Analytics per scegliere come target gli utenti che potrebbero essere inclusi nell'esperimento. | Alcuni esperimenti che hanno come target segmenti di pubblico Google Analytics potrebbero richiedere alcuni giorni per accumulare dati perché sono soggetti alla Analytics latenza di elaborazione dei dati. È più probabile che si verifichi questo ritardo con i nuovi utenti, che in genere vengono registrati nei segmenti di pubblico idonei 24-48 ore dopo la creazione, o per i segmenti di pubblico creati di recente. |
Proprietà utente | Per il testo:
contiene, non contiene, corrisponde esattamente, contiene l'espressione regolare Per i numeri: <, ≤, =, ≥, > |
Una proprietà utente Analytics viene utilizzata per selezionare gli utenti che potrebbero essere inclusi
in un esperimento, con una serie di opzioni per la selezione dei valori
della proprietà utente.
Sul client, puoi impostare solo valori stringa per le proprietà utente. Per le condizioni che utilizzano operatori numerici, il servizio Remote Config converte il valore della proprietà utente corrispondente in un numero intero/in virgola mobile. |
Quando utilizzi l'operatore contiene espressione regolare, puoi creare espressioni regolari in formato RE2. L'espressione regolare può corrispondere a tutta o parte della stringa della versione di destinazione. Puoi anche utilizzare gli ancoraggi ^ e $ per trovare una corrispondenza con l'inizio, la fine o l'intera stringa di destinazione. |
Paese/regione | N/D | Uno o più paesi o regioni utilizzati per selezionare gli utenti che potrebbero essere inclusi nell'esperimento. | |
Lingue | N/D | Una o più lingue e impostazioni internazionali utilizzate per selezionare gli utenti che potrebbero essere inclusi nell'esperimento. | |
Prima apertura |
Più di
Meno di Tra |
Scegli come target gli utenti in base alla prima volta che hanno aperto la tua app, specificata in giorni. | |
Ultimo coinvolgimento con l'app |
Più di
Meno di Tra |
Scegli come target gli utenti in base all'ultima volta che hanno interagito con la tua app, specificata in giorni. |
A/B Testing metriche
Quando crei l'esperimento, scegli una metrica principale o obiettivo, che viene utilizzata per determinare la variante vincente. Devi anche monitorare altre metriche per comprendere meglio il rendimento di ogni variante dell'esperimento e monitorare tendenze importanti che potrebbero variare per ogni variante, come la fidelizzazione degli utenti, la stabilità dell'app e le entrate generate dagli acquisti in-app. Puoi monitorare fino a cinque metriche non obiettivo nell'esperimento.
Ad esempio, supponiamo che tu abbia aggiunto nuovi acquisti in-app alla tua app e voglia confrontare l'efficacia di due diversi messaggi di "sollecito". In questo caso, potresti decidere di impostare Entrate da acquisto come metrica obiettivo perché vuoi che la variante vincente rappresenti la notifica che ha generato le entrate da acquisto in-app più elevate. Poiché vuoi anche monitorare quale variante ha generato più conversioni future e utenti fidelizzati, puoi aggiungere quanto segue in Altre metriche da monitorare:- Entrate totali stimate per vedere la differenza tra le due varianti in termini di entrate combinate generate da acquisti in-app e pubblicità
- Fidelizzazione (1 giorno), Fidelizzazione (2-3 giorni), Fidelizzazione (4-7 giorni) per monitorare la fidelizzazione giornaliera/settimanale degli utenti
Le tabelle seguenti forniscono dettagli su come vengono calcolate le metriche degli obiettivi e altre metriche.
Metriche relative all'obiettivo
Metrica | Descrizione |
---|---|
Utenti che non hanno sperimentato arresti anomali | La percentuale di utenti che non hanno riscontrato errori nell'app rilevati dall'SDK Firebase Crashlytics durante l'esperimento. |
Entrate pubblicitarie stimate | Utili degli annunci stimati. |
Entrate stimate totali | Valore combinato per gli acquisti e le entrate pubblicitarie stimate. |
Entrate generate dagli acquisti | Valore combinato per tutti gli eventi purchase e
in_app_purchase .
|
Fidelizzazione (1 giorno) | Il numero di utenti che tornano alla tua app quotidianamente. |
Fidelizzazione (2-3 giorni) | Il numero di utenti che tornano alla tua app entro 2-3 giorni. |
Fidelizzazione (4-7 giorni) | Il numero di utenti che tornano alla tua app entro 4-7 giorni. |
Fidelizzazione (8-14 giorni) | Il numero di utenti che tornano alla tua app entro 8-14 giorni. |
Fidelizzazione (più di 15 giorni) | Il numero di utenti che tornano alla tua app 15 o più giorni dopo l'ultimo utilizzo. |
first_open | Un evento Analytics che viene attivato quando un utente apre un'app per la prima volta dopo averla installata o reinstallata. Utilizzato nell'ambito di una canalizzazione di conversione. |
Altre metriche
Metrica | Descrizione |
---|---|
notification_dismiss | Un evento Analytics che si attiva quando una notifica inviata da Notifications Composer viene ignorata (solo Android). |
notification_receive | Un evento Analytics che si attiva quando una notifica inviata dal compositore di notifiche viene ricevuta mentre l'app è in background (solo Android). |
os_update | Un evento Analytics che monitora quando il sistema operativo del dispositivo viene aggiornato a una nuova versione.Per saperne di più, consulta la sezione Eventi raccolti automaticamente. |
screen_view | Un evento Analytics che monitora le schermate visualizzate all'interno dell'app. Per saperne di più, consulta Monitorare le visualizzazioni di schermate. |
session_start | Un evento Analytics che conteggia le sessioni utente nella tua app. Per saperne di più, consulta Eventi raccolti automaticamente. |
Esportazione dei dati di BigQuery
Oltre a visualizzare i dati dell'esperimento A/B Testing nella console Firebase, puoi esaminarli e analizzarli in BigQuery. Sebbene A/B Testing non abbia una tabella BigQuery separata, le appartenenze a esperimenti e varianti vengono memorizzate in ogni evento Google Analytics all'interno delle tabelle degli eventi Analytics.
Le proprietà utente che contengono informazioni sull'esperimento hanno il formato
userProperty.key like "firebase_exp_%"
o userProperty.key =
"firebase_exp_01"
, dove 01
è l'ID esperimento e
userProperty.value.string_value
contiene l'indice (basato su zero) della
variante dell'esperimento.
Puoi utilizzare queste proprietà utente dell'esperimento per estrarre i dati dell'esperimento. In questo modo, puoi analizzare i risultati dell'esperimento in molti modi diversi e verificare in modo indipendente i risultati di A/B Testing.
Per iniziare, completa le seguenti operazioni come descritto in questa guida:
- Attiva l'esportazione di BigQuery per Google Analytics nella console Firebase
- Accedere ai dati di A/B Testing utilizzando BigQuery
- Esplora query di esempio
Attivare l'esportazione di BigQuery per Google Analytics nella console Firebase
Se hai il piano Spark, puoi utilizzare la sandbox di BigQuery per accedere a BigQuery senza costi, nel rispetto dei limiti della sandbox. Per ulteriori informazioni, consulta Prezzi e sandbox BigQuery.
Innanzitutto, assicurati di esportare i dati di Analytics in BigQuery:
- Apri la scheda Integrazioni, a cui puoi accedere utilizzando > Impostazioni progetto nella console Firebase.
- Se utilizzi già BigQuery con altri servizi Firebase, fai clic su Gestisci. In caso contrario, fai clic su Collega.
- Leggi Informazioni sul collegamento di Firebase a BigQuery, poi fai clic su Avanti.
- Nella sezione Configura integrazione, attiva il pulsante di attivazione/disattivazione Google Analytics.
Seleziona una regione e scegli le impostazioni di esportazione.
Fai clic su Collega a BigQuery.
A seconda di come hai scelto di esportare i dati, potrebbe essere necessario un giorno prima che le tabelle diventino disponibili. Per saperne di più sull'esportazione dei dati del progetto in BigQuery, consulta Esportare i dati del progetto in BigQuery.
Accedere ai dati di A/B Testing in BigQuery
Prima di eseguire una query per i dati di un esperimento specifico, ti consigliamo di ottenere alcuni o tutti i seguenti elementi da utilizzare nella query:
- ID esperimento:puoi ottenerlo dall'URL della pagina
Panoramica dell'esperimento. Ad esempio, se il tuo URL ha il seguente aspetto:
https://console.firebase.google.com/project/my_firebase_project/config/experiment/results/25
, l'ID esperimento è 25. - ID proprietà Google Analytics: il tuo ID proprietà Google Analytics di 9 cifre. Puoi trovarlo in
Google Analytics; viene visualizzato anche in BigQuery quando espandi
il nome del progetto per mostrare il nome della tabella degli eventi Google Analytics (
project_name.analytics_000000000.events
). - Data dell'esperimento:per comporre una query più rapida ed efficiente, è
consigliabile limitare le query alle partizioni della tabella degli eventi giornalieri
che contengono i dati dell'esperimento, ovvero le tabelle
identificate con il suffisso
YYYYMMDD
.Google Analytics Pertanto, se l'esperimento è stato eseguito dal 2 febbraio 2024 al 2 maggio 2024, devi specificare un_TABLE_SUFFIX between '20240202' AND '20240502'
. Per un esempio, vedi Selezionare i valori di un esperimento specifico. - Nomi degli eventi:in genere, corrispondono alle
metriche degli obiettivi
che hai configurato nell'esperimento. Ad esempio, eventi
in_app_purchase
,ad_impression
ouser_retention
.
Dopo aver raccolto le informazioni necessarie per generare la query:
- Apri BigQuery nella console Google Cloud.
- Seleziona il progetto, quindi Crea query SQL.
- Aggiungi la query. Per query di esempio da eseguire, vedi Esplora le query di esempio.
- Fai clic su Esegui.
Eseguire query sui dati dell'esperimento utilizzando la query generata automaticamente della console Firebase
Se utilizzi il piano Blaze, la pagina Panoramica esperimento fornisce una query di esempio che restituisce il nome dell'esperimento, le varianti, i nomi degli eventi e il numero di eventi per l'esperimento che stai visualizzando.
Per ottenere ed eseguire la query generata automaticamente:
- Dalla console Firebase, apri A/B Testing e seleziona l'esperimento A/B Testing per cui vuoi eseguire una query per aprire la Panoramica dell'esperimento.
- Nel menu Opzioni, sotto Integrazione BigQuery, seleziona Esegui query sui dati dell'esperimento. Si aprirà il tuo progetto in BigQuery all'interno della console Google Cloud e verrà fornita una query di base che puoi utilizzare per eseguire query sui dati dell'esperimento.
L'esempio seguente mostra una query generata per un esperimento con tre varianti (inclusa la base di riferimento) denominato "Esperimento di benvenuto invernale". Restituisce il nome dell'esperimento attivo, il nome della variante, l'evento unico e il conteggio degli eventi per ogni evento. Tieni presente che Query Builder non specifica il nome del progetto nel nome della tabella, in quanto si apre direttamente all'interno del progetto.
/*
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
Per altri esempi di query, vai a Esplora le query di esempio.
Esplorare query di esempio
Le sezioni seguenti forniscono esempi di query che puoi utilizzare per estrarre i dati degli esperimenti A/B Testing dalle tabelle degli eventi Google Analytics.
Estrai i valori della deviazione standard di acquisto ed esperimento da tutti gli esperimenti
Puoi utilizzare i dati dei risultati dell'esperimento per verificare in modo indipendente i risultati di Firebase A/B Testing. La seguente istruzione SQL BigQuery estrae le varianti dell'esperimento, il numero di utenti unici in ogni variante e la somma delle entrate totali dagli eventi in_app_purchase
e ecommerce_purchase
, nonché le deviazioni standard per tutti gli esperimenti nell'intervallo di tempo specificato come date di inizio e fine _TABLE_SUFFIX
. Puoi utilizzare i dati ottenuti da questa query con un generatore di significatività statistica per test t unilaterali per verificare che i risultati forniti da Firebase corrispondano alla tua analisi.
Per saperne di più su come A/B Testing calcola l'inferenza, consulta Interpretare i risultati dei test.
/*
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;
Selezionare i valori di un esperimento specifico
La seguente query di esempio mostra come ottenere i dati per un esperimento specifico in BigQuery. Questa query di esempio restituisce il nome dell'esperimento, i nomi delle varianti (inclusa la baseline), i nomi degli eventi e i conteggi degli eventi.
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