Crea esperimenti di messaggistica con test A/B

Quando raggiungi i tuoi utenti o avvii una nuova campagna di marketing, vuoi assicurarti di farlo bene. Il test A/B può aiutarti a trovare la formulazione e la presentazione ottimali testando le varianti del messaggio su parti selezionate della tua base utenti. Se il tuo obiettivo è una migliore fidelizzazione o conversione di un'offerta, i test A/B possono eseguire analisi statistiche per determinare se una variante del messaggio sta superando la linea di base per l'obiettivo selezionato.

Per testare le varianti delle funzionalità di A/B con una baseline, procedi come segue:

  1. Crea il tuo esperimento.
  2. Convalida il tuo esperimento su un dispositivo di prova.
  3. Gestisci il tuo esperimento.

Crea un esperimento

Un esperimento che utilizza il compositore di notifiche ti consente di valutare più varianti su un singolo messaggio di notifica.

  1. Accedi alla console Firebase e verifica che Google Analytics sia abilitato nel tuo progetto in modo che l'esperimento abbia accesso ai dati di Analytics.

    Se non hai abilitato Google Analytics durante la creazione del tuo progetto, puoi abilitarlo nella scheda Integrazioni , a cui puoi accedere utilizzando > Impostazioni progetto nella console Firebase .

  2. Nella sezione Coinvolgi della barra di navigazione della console Firebase , fai clic su Test A/B .

  3. Fai clic su Crea esperimento e quindi seleziona Notifiche quando ti viene richiesto il servizio che desideri sperimentare.

  4. Inserisci un nome e una descrizione facoltativa per l'esperimento, quindi fai clic su Avanti .

  5. Compila i campi Targeting , scegliendo prima l'app che utilizza il tuo esperimento. Puoi anche scegliere come target un sottoinsieme di utenti affinché partecipino all'esperimento scegliendo opzioni che includano quanto segue:

    • Versione: una o più versioni della tua app
    • Pubblico degli utenti: segmenti di pubblico di Analytics utilizzati per scegliere come target gli utenti che potrebbero essere inclusi nell'esperimento
    • Proprietà utente: una o più proprietà utente di Analytics per selezionare gli utenti che potrebbero essere inclusi nell'esperimento
    • Paese/regione: uno o più paesi o regioni in cui selezionare gli utenti che potrebbero essere inclusi nell'esperimento
    • Lingua del dispositivo: una o più lingue e impostazioni locali 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 con l'app: scegli come target gli utenti in base all'ultima volta che hanno interagito con la tua app
  6. Imposta la percentuale di utenti target: seleziona la percentuale della base utenti della tua app che corrisponde ai criteri impostati in Utenti target che desideri dividere equamente tra la base di riferimento e una o più varianti nell'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.

  7. Nella sezione Varianti , digitare un messaggio da inviare al gruppo di base nel campo Inserisci testo messaggio . Per non inviare alcun messaggio al gruppo di base, lasciare vuoto questo campo.

  8. (facoltativo) Per aggiungere più di una variante all'esperimento, fai clic su Aggiungi variante . Per impostazione predefinita, gli esperimenti hanno una linea di base e una variante.

  9. (facoltativo) Inserisci un nome per ciascuna variante dell'esperimento per sostituire i nomi Variante A , Variante B e così via.

  10. Definisci una metrica obiettivo per il tuo esperimento da utilizzare durante la valutazione delle varianti dell'esperimento insieme alle eventuali metriche aggiuntive desiderate dall'elenco a discesa. Queste metriche includono obiettivi integrati (coinvolgimento, acquisti, entrate, fidelizzazione, ecc.), eventi di conversione di Analytics e altri eventi di Analytics.

  11. Scegli le opzioni per il tuo messaggio:

    • Data di consegna: scegli Invia ora per avviare immediatamente l'esperimento dopo il salvataggio oppure Programmato per specificare un orario in cui avviare l'esperimento in futuro.
    • Opzioni avanzate: per scegliere le opzioni avanzate per tutte le notifiche incluse nell'esperimento, espandi Opzioni avanzate e quindi modifica le opzioni dei messaggi elencate.
  12. Fai clic su Rivedi per salvare l'esperimento.

Sono consentiti fino a 300 esperimenti per progetto, che potrebbero consistere in un massimo di 24 esperimenti in esecuzione, mentre il resto è in bozza o completato.

Convalida il tuo esperimento su un dispositivo di prova

Per ogni installazione Firebase puoi recuperare il token di registrazione FCM ad essa associato. Puoi utilizzare questo token per testare varianti specifiche dell'esperimento su un dispositivo di prova su cui è installata la tua app. Per convalidare l'esperimento su un dispositivo di prova, procedi come segue:

  1. Ottieni il token di registrazione FCM come segue:

    Veloce

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

    Obiettivo-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. Nella barra di navigazione della console Firebase , fai clic su Test A/B .
  3. Fai clic su Bozza , passa il mouse sopra l'esperimento, fai clic sul menu contestuale ( ), quindi su Gestisci dispositivi di test
  4. Inserisci il token FCM per un dispositivo di test e scegli la variante dell'esperimento da inviare a quel dispositivo di test.
  5. Esegui l'app e conferma che la variante selezionata viene ricevuta sul dispositivo di prova.

Gestisci il tuo esperimento

Sia che crei un esperimento con Remote Config, il compositore di notifiche o la messaggistica in-app Firebase, puoi quindi convalidare e avviare l'esperimento, monitorare l'esperimento mentre è in esecuzione e aumentare il numero di utenti inclusi nell'esperimento in corso.

Una volta terminato l'esperimento, puoi prendere nota delle impostazioni utilizzate dalla variante vincente e quindi distribuirle a tutti gli utenti. In alternativa, puoi eseguire un altro esperimento.

Avvia un esperimento

  1. Nella sezione Coinvolgi del menu di navigazione della console Firebase , fai clic su A/B Testing .
  2. Fai clic su Bozza e poi sul titolo dell'esperimento.
  3. Per verificare che la tua app abbia utenti che potrebbero essere inclusi nell'esperimento, espandi i dettagli della bozza e verifica la presenza di un numero superiore allo 0% nella sezione Targeting e distribuzione (ad esempio, 1% di utenti che corrispondono ai criteri ).
  4. Per modificare l'esperimento, fai clic su Modifica .
  5. Per avviare l'esperimento, fai clic su Avvia esperimento . Puoi eseguire fino a 24 esperimenti per progetto alla volta.

Monitorare un esperimento

Una volta che un esperimento è in esecuzione da un po', puoi controllarne l'avanzamento e vedere come appaiono i risultati per gli utenti che hanno partecipato all'esperimento fino a quel momento.

  1. Nella sezione Coinvolgi del menu di navigazione della console Firebase , fai clic su A/B Testing .
  2. Fai clic su In esecuzione , quindi fai clic o cerca il titolo dell'esperimento. In questa pagina puoi visualizzare varie statistiche osservate e modellate sull'esperimento in corso, tra cui:

    • Differenza % rispetto al riferimento : misura del miglioramento di una metrica per una determinata variante rispetto al riferimento. Calcolato confrontando l'intervallo di valori della variante con l'intervallo di valori della linea di base.
    • Probabilità di superare il riferimento : la probabilità stimata che una determinata variante superi il 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_metrica observed_metric : il valore cumulativo osservato per la linea di base o la variante. Il valore viene utilizzato per misurare il rendimento di ciascuna variante dell'esperimento e per calcolare il miglioramento , l'intervallo di valori , la probabilità di superare il valore di riferimento e la probabilità di essere la variante migliore . A seconda della metrica misurata, questa colonna potrebbe essere etichettata come "Durata per utente", "Entrate per utente", "Tasso di fidelizzazione" o "Tasso di conversione".
  3. Dopo che l'esperimento è stato eseguito per un po' (almeno 7 giorni per FCM e messaggistica in-app o 14 giorni per Remote Config), i dati in questa pagina indicano quale variante, se presente, è "leader". Alcune misurazioni sono accompagnate da un grafico a barre che presenta i dati in formato visivo.

Lancia un esperimento a tutti gli utenti

Dopo che un esperimento è durato abbastanza a lungo da avere un "leader", o variante vincente, per la metrica del tuo obiettivo, puoi pubblicare l'esperimento per il 100% degli utenti. Ciò ti consente di selezionare una variante da pubblicare per tutti gli utenti da quel momento in poi. Anche se il tuo esperimento non ha creato un chiaro vincitore, puoi comunque scegliere di rilasciare una variante per tutti i tuoi utenti.

  1. Nella sezione Coinvolgi del menu di navigazione della console Firebase , fai clic su A/B Testing .
  2. Fai clic su Completato o In esecuzione , fai clic su un esperimento che desideri pubblicare per tutti gli utenti, fai clic sul menu contestuale ( ) Variante di implementazione .
  3. Distribuisci l'esperimento a tutti gli utenti effettuando una delle seguenti operazioni:

    • Per un esperimento che utilizza il compositore di notifiche , utilizza la finestra di dialogo Distribuisci 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 quali valori dei parametri Remote Config aggiornare. I criteri di targeting definiti durante la creazione dell'esperimento vengono aggiunti come nuova condizione nel modello, per garantire che l'implementazione interessi solo gli utenti scelti come target dall'esperimento. Dopo aver fatto clic su Verifica in Remote Config per rivedere le modifiche, fare clic su Pubblica modifiche per completare l'implementazione.
    • Per un esperimento di messaggistica in-app , utilizza la finestra di dialogo per determinare quale variante deve essere implementata come campagna di messaggistica in-app autonoma. Una volta selezionato, verrai reindirizzato alla schermata di composizione FIAM per apportare eventuali modifiche (se necessarie) prima della pubblicazione.

Espandi un esperimento

Se ritieni che un esperimento non attira abbastanza utenti affinché i test A/B dichiarino un leader, puoi aumentare la distribuzione dell'esperimento per raggiungere una percentuale maggiore della base utenti dell'app.

  1. Nella sezione Coinvolgi del menu di navigazione della console Firebase , fai clic su A/B Testing .
  2. Seleziona l'esperimento in corso da modificare.
  3. Nella panoramica dell'esperimento , fai clic sul menu contestuale ( ), quindi su Modifica esperimento in corso .
  4. 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 corrente e fai clic su Pubblica . L'esperimento verrà esteso alla percentuale di utenti specificata.

Duplica o interrompi un esperimento

  1. Nella sezione Coinvolgi del menu di navigazione della console Firebase , fai clic su A/B Testing .
  2. Fai clic su Completato o In esecuzione , tieni il puntatore sull'esperimento, fai clic sul menu contestuale ( ), quindi su Duplica esperimento o Interrompi esperimento .

Targeting per utente

Puoi scegliere come target gli utenti da includere nell'esperimento utilizzando i seguenti criteri di targeting utente.

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 desideri includere nell'esperimento.

Quando si utilizza uno qualsiasi degli operatori contiene , non contiene o corrisponde esattamente , è possibile fornire un elenco di valori separati da virgole.

Quando si utilizza l'operatore regex contiene , è possibile creare espressioni regolari in formato RE2 . La tua espressione regolare può corrispondere a tutta o parte della stringa della versione di destinazione. Puoi anche utilizzare le ancore ^ e $ per abbinare l'inizio, la fine o l'intera stringa di destinazione.

Pubblico/i di utenti include tutto,
include almeno uno di,
non include tutto,
non include almeno uno di
Seleziona uno o più segmenti di pubblico di Analytics per scegliere come target gli utenti che potrebbero essere inclusi nel tuo esperimento. Alcuni esperimenti rivolti ai segmenti di pubblico di Google Analytics potrebbero richiedere alcuni giorni per accumulare dati poiché sono soggetti alla latenza di elaborazione dei dati di Analytics. È molto probabile che questo ritardo si verifichi con i nuovi utenti, che in genere vengono iscritti a segmenti di pubblico idonei 24-48 ore dopo la creazione o per segmenti di pubblico creati di recente .
Proprietà dell'utente Per il testo:
contiene,
non contiene,
corrisponde esattamente,
contiene espressione regolare

Per i numeri:
<, ≤, =, ≥, >
Una proprietà utente di Analytics viene utilizzata per selezionare gli utenti che potrebbero essere inclusi in un esperimento, con una gamma di opzioni per la selezione dei valori delle proprietà utente.

Sul client è possibile 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/virgola mobile.
Quando si utilizza l'operatore regex contiene , è possibile creare espressioni regolari in formato RE2 . La tua espressione regolare può corrispondere a tutta o parte della stringa della versione di destinazione. Puoi anche utilizzare le ancore ^ e $ per abbinare l'inizio, la fine o l'intera stringa di destinazione.
Paese/regione N / A Uno o più paesi o aree geografiche utilizzati per selezionare gli utenti che potrebbero essere inclusi nell'esperimento.
Le lingue N / A Una o più lingue e impostazioni locali utilizzate per selezionare gli utenti che potrebbero essere inclusi nell'esperimento.
Primo aperto Più di
Meno di
Fra
Scegli come target gli utenti in base alla prima volta che hanno aperto la tua app, specificata in giorni.
Ultimo coinvolgimento dell'app Più di
Meno di
Fra
Scegli come target gli utenti in base all'ultima volta che hanno interagito con la tua app, specificata in giorni.

Metriche di test A/B

Quando crei l'esperimento, scegli una metrica principale, o obiettivo , utilizzata per determinare la variante vincente. Dovresti anche monitorare altre metriche per comprendere meglio il rendimento di ciascuna variante dell'esperimento e monitorare tendenze importanti che potrebbero differire per ciascuna variante, come fidelizzazione degli utenti, stabilità dell'app ed entrate derivanti dagli acquisti in-app. Puoi monitorare fino a cinque metriche diverse dall'obiettivo nel tuo esperimento.

Ad esempio, supponiamo che tu abbia aggiunto nuovi acquisti in-app alla tua app e desideri confrontare l'efficacia di due diversi messaggi "nudge". In questo caso, potresti decidere di impostare le Entrate da acquisti come metrica dell'obiettivo perché desideri che la variante vincente rappresenti la notifica che ha generato le entrate da acquisti in-app più elevate. E poiché desideri anche monitorare quale variante ha generato più conversioni future e utenti fidelizzati, potresti aggiungere quanto segue in Altre metriche da monitorare :

  • Entrate totali stimate per vedere in che modo differiscono tra le due varianti la combinazione di acquisti in-app ed entrate pubblicitarie
  • Conservazione (1 giorno) , Conservazione (2-3 giorni) , Conservazione (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 degli obiettivi

Metrico Descrizione
Utenti senza arresti anomali La percentuale di utenti che non hanno riscontrato errori nella tua app rilevati dall'SDK Firebase Crashlytics durante l'esperimento.
Entrate pubblicitarie stimate Guadagni pubblicitari stimati.
Entrate totali stimate Valore combinato per l'acquisto e ricavi pubblicitari stimati.
Ricavi di acquisto Valore combinato per tutti gli eventi purchase e in_app_purchase .
Conservazione (1 giorno) Il numero di utenti che tornano alla tua app ogni giorno.
Conservazione (2-3 giorni) Il numero di utenti che tornano alla tua app entro 2-3 giorni.
Conservazione (4-7 giorni) Il numero di utenti che tornano alla tua app entro 4-7 giorni.
Conservazione (8-14 giorni) Il numero di utenti che tornano alla tua app entro 8-14 giorni.
Conservazione (oltre 15 giorni) Il numero di utenti che tornano alla tua app 15 o più giorni dopo l'ultimo utilizzo.
primo_aperto Un evento di Analytics che si attiva quando un utente apre per la prima volta un'app dopo averla installata o reinstallata. Utilizzato come parte di un funnel di conversione.

Altre metriche

Metrico Descrizione
notification_dismiss Un evento di Analytics che si attiva quando una notifica inviata dal compositore delle notifiche viene ignorata (solo Android).
notifica_ricezione Un evento di Analytics che si attiva quando viene ricevuta una notifica inviata dal compositore delle notifiche mentre l'app è in background (solo Android).
os_update Un evento di Analytics che tiene traccia quando il sistema operativo del dispositivo viene aggiornato a una nuova versione. Per ulteriori informazioni, vedi Eventi raccolti automaticamente .
schermata_vista Un evento Analytics che tiene traccia delle schermate visualizzate all'interno della tua app. Per ulteriori informazioni, consulta Monitoraggio delle schermate .
inizio_sessione Un evento Analytics che conta le sessioni utente nella tua app. Per ulteriori informazioni, consulta Eventi raccolti automaticamente .

Esportazione dei dati BigQuery

Oltre a visualizzare i dati degli esperimenti di test A/B nella console Firebase, puoi controllare e analizzare i dati degli esperimenti in BigQuery. Sebbene il test A/B non disponga di una tabella BigQuery separata, le appartenenze agli esperimenti e alle varianti vengono archiviate su ogni evento di Google Analytics all'interno delle tabelle degli eventi di Analytics.

Le proprietà utente che contengono informazioni sull'esperimento sono nel 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 (in base zero) dell'esperimento variante dell'esperimento.

Puoi utilizzare queste proprietà utente dell'esperimento per estrarre i dati dell'esperimento. Ciò ti dà la possibilità di suddividere i risultati dell'esperimento in molti modi diversi e di verificare in modo indipendente i risultati dei test A/B.

Per iniziare, completa le seguenti operazioni come descritto in questa guida:

  1. Abilita l'esportazione BigQuery per Google Analytics nella console Firebase
  2. Accedi ai dati dei test A/B utilizzando BigQuery
  3. Esplora query di esempio

Abilita l'esportazione BigQuery per Google Analytics nella console Firebase

Se disponi del piano Spark, puoi utilizzare la sandbox BigQuery per accedere a BigQuery senza alcun costo, soggetto ai limiti della sandbox . Per ulteriori informazioni, consulta Prezzi e sandbox BigQuery .

Innanzitutto, assicurati di esportare i dati di Analytics in BigQuery:

  1. Apri la scheda Integrazioni , a cui puoi accedere utilizzando > Impostazioni progetto nella console Firebase .
  2. Se utilizzi già BigQuery con altri servizi Firebase, fai clic su Gestisci . In caso contrario, fare clic su Collegamento .
  3. Consulta Informazioni sul collegamento di Firebase a BigQuery , quindi fai clic su Avanti .
  4. Nella sezione Configura integrazione , attiva l'interruttore Google Analytics .
  5. Seleziona una regione e scegli le impostazioni di esportazione.

  6. Fai clic su Collega a BigQuery .

A seconda di come hai scelto di esportare i dati, potrebbe essere necessario fino a un giorno prima che le tabelle diventino disponibili. Per ulteriori informazioni sull'esportazione dei dati del progetto in BigQuery, consulta Esportare i dati del progetto in BigQuery .

Accedi ai dati dei test A/B in BigQuery

Prima di eseguire una query sui dati per 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 di panoramica dell'esperimento . Ad esempio, se il tuo URL è simile a https://console.firebase.google.com/project/my_firebase_project/config/experiment/results/25 , l'ID esperimento è 25 .
  • ID proprietà di Google Analytics : questo è il tuo ID proprietà di Google Analytics a 9 cifre. Puoi trovarlo in Google Analytics; viene visualizzato anche in BigQuery quando espandi il nome del progetto per mostrare il nome della tabella eventi di Google Analytics ( project_name.analytics_000000000.events ).
  • Data dell'esperimento: per comporre una query più rapida ed efficiente, è buona norma limitare le query alle partizioni della tabella degli eventi giornalieri di Google Analytics che contengono i dati dell'esperimento, ovvero tabelle identificate con un suffisso YYYYMMDD . Pertanto, se l'esperimento si è svolto dal 2 febbraio 2024 al 2 maggio 2024, dovresti specificare un _TABLE_SUFFIX between '20240202' AND '20240502' . Per un esempio, consulta Selezionare i valori di un esperimento specifico .
  • Nomi eventi: in genere corrispondono alle metriche dell'obiettivo configurate nell'esperimento. Ad esempio, eventi in_app_purchase , ad_impression o eventi user_retention .

Dopo aver raccolto le informazioni necessarie per generare la query:

  1. Apri BigQuery nella console Google Cloud.
  2. Seleziona il tuo progetto, quindi seleziona Crea query SQL .
  3. Aggiungi la tua domanda. Per le query di esempio da eseguire, consulta Esplora le query di esempio .
  4. Fare clic su Esegui .

Esegui query sui dati dell'esperimento utilizzando la query generata automaticamente dalla console Firebase

Se utilizzi il piano Blaze, la pagina Panoramica dell'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:

  1. Dalla console Firebase, apri A/B Testing e seleziona l'esperimento A/B Testing su cui desideri eseguire query per aprire la panoramica dell'esperimento .
  2. Nel menu Opzioni, sotto Integrazione BigQuery , seleziona Interroga dati esperimento . Questo apre il tuo progetto in BigQuery all'interno della console della console Google Cloud e fornisce 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 baseline) denominata "Esperimento di benvenuto invernale". Restituisce il nome dell'esperimento attivo, il nome della variante, l'evento univoco e il conteggio degli eventi per ciascun evento. Tieni presente che il generatore di query non specifica il nome del tuo progetto nel nome della tabella, poiché si apre direttamente all'interno del tuo 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 ulteriori esempi di query, vai a Esplorare query di esempio .

Esplora query di esempio

Le sezioni seguenti forniscono esempi di query che puoi utilizzare per estrarre i dati degli esperimenti di test A/B dalle tabelle eventi di Google Analytics.

Estrai i valori di deviazione standard dell'acquisto e dell'esperimento da tutti gli esperimenti

Puoi utilizzare i dati dei risultati dell'esperimento per verificare in modo indipendente i risultati del Firebase A/B Testing. La seguente istruzione SQL BigQuery estrae le varianti dell'esperimento, il numero di utenti unici in ciascuna variante e somma le entrate totali derivanti dagli eventi in_app_purchase ed ecommerce_purchase e 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 a una coda per verificare che i risultati forniti da Firebase corrispondano alla tua analisi.

Per ulteriori informazioni su come il test A/B calcola l'inferenza, consulta Interpretare i risultati del 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;

Seleziona i valori di un esperimento specifico

La seguente query di esempio illustra come ottenere dati per un esperimento specifico in BigQuery. Questa query di esempio restituisce il nome dell'esperimento, i nomi delle varianti (inclusa la linea di base), 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