Crea esperimenti di configurazione remota Firebase con test A/B

Quando utilizzi Firebase Remote Config per distribuire le impostazioni per un'applicazione con una base utenti attiva, vuoi assicurarti di farlo correttamente. Puoi utilizzare gli esperimenti di test A/B per determinare al meglio quanto segue:

  • Il modo migliore per implementare una funzionalità per ottimizzare l'esperienza dell'utente. Troppo spesso, gli sviluppatori di app non apprendono che ai loro utenti non piace una nuova funzionalità o un'esperienza utente aggiornata finché la valutazione della loro app nell'app store non diminuisce. I test A/B possono aiutarti a misurare se ai tuoi utenti piacciono le nuove varianti delle funzionalità o se preferiscono l'app così com'è. Inoltre, mantenere la maggior parte dei tuoi utenti in un gruppo di base garantisce che la maggior parte della tua base utenti possa continuare a utilizzare la tua app senza subire modifiche al suo comportamento o aspetto fino alla conclusione dell'esperimento.
  • Il modo migliore per ottimizzare l'esperienza utente per un obiettivo aziendale. A volte stai implementando modifiche al prodotto per massimizzare una metrica come entrate o fidelizzazione. Con il test A/B, imposti il ​​tuo obiettivo aziendale e Firebase esegue l'analisi statistica per determinare se una variante sta sovraperformando 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 Remote Config ti consente di valutare più varianti su uno o più parametri Remote Config .

  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 del menu di navigazione della console Firebase , fai clic su A/B Testing .

  3. Fai clic su Crea esperimento e quindi seleziona Configurazione remota 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 indirizzare un sottoinsieme di utenti affinché partecipino all'esperimento facendo clic su e , quindi scegliendo le opzioni dal seguente elenco:

    • Versione: una o più versioni della tua app
    • Numero build: il codice della versione dell'app
    • Lingue: una o più lingue e impostazioni internazionali utilizzate per selezionare gli utenti che potrebbero essere inclusi nell'esperimento
    • Paese/regione: uno o più paesi o regioni in cui selezionare gli utenti da includere nell'esperimento
    • 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
    • Prima apertura: scegli come target gli utenti in base alla prima volta che hanno aperto la tua app

      Il targeting utente in base alla prima apertura è disponibile dopo aver selezionato un'app Android o iOS. È supportato dalle seguenti versioni di Remote Config SDK: piattaforme Apple SDK v9.0.0+ e Android SDK v21.1.1+ (Firebase BoM v30.3.0+).

      L'analisi deve essere stata abilitata anche sul client durante il primo evento aperto.

  6. Imposta la percentuale di utenti target: inserisci 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%. Gli utenti vengono assegnati in modo casuale a ciascun esperimento, inclusi gli esperimenti duplicati.

  7. Facoltativamente, imposta un evento di attivazione per garantire che nell'esperimento vengano conteggiati solo i dati degli utenti che per primi hanno attivato alcuni eventi di Analytics. Tieni presente che tutti gli utenti che corrispondono ai tuoi parametri di targeting riceveranno i valori sperimentali di Remote Config, ma solo quelli che attivano un evento di attivazione verranno inclusi nei risultati dell'esperimento.

    Per garantire un esperimento valido, assicurati che l'evento scelto si verifichi dopo che l'app ha attivato i valori di configurazione recuperati. Inoltre, i seguenti eventi non possono essere utilizzati perché si verificano sempre prima dell'attivazione dei valori recuperati:

    • app_install
    • app_remove
    • app_update
    • dynamic_link_first_open
  8. Per gli Obiettivi dell'esperimento, seleziona la metrica principale da monitorare e aggiungi eventuali metriche aggiuntive che desideri monitorare dall'elenco. Questi includono obiettivi integrati (acquisti, entrate, fidelizzazione, utenti senza arresti anomali, ecc.), eventi di conversione di Analytics e altri eventi di Analytics. Al termine, fare clic su Avanti .

  9. Nella sezione Varianti , scegli una linea di base e almeno una variante per l'esperimento. Utilizza l'elenco Scegli o crea nuovo per aggiungere uno o più parametri con cui sperimentare. Puoi creare un parametro che non è stato utilizzato in precedenza nella console Firebase, ma deve esistere nella tua app affinché abbia effetto. Puoi ripetere questo passaggio per aggiungere più parametri all'esperimento.

  10. (facoltativo) Per aggiungere più di una variante all'esperimento, fai clic su Aggiungi un'altra variante .

  11. Modifica uno o più parametri per varianti specifiche. Eventuali parametri invariati sono gli stessi per gli utenti non inclusi nell'esperimento.

  12. Espandi Ponderazioni delle varianti per visualizzare o modificare la ponderazione delle varianti per l'esperimento. Per impostazione predefinita, ciascuna variante ha lo stesso peso. Tieni presente che pesi irregolari possono aumentare il tempo di raccolta dei dati e che i pesi non possono essere modificati dopo l'inizio dell'esperimento .

  13. 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 autenticazione dell'installazione 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 autenticazione dell'installazione come segue:

    Veloce

    do {
      let result = try await Installations.installations()
        .authTokenForcingRefresh(true)
      print("Installation auth token: \(result.authToken)")
    } catch {
      print("Error fetching token: \(error)")
    }
    

    Obiettivo-C

    [[FIRInstallations installations] authTokenForcingRefresh:true
                                                   completion:^(FIRInstallationsAuthTokenResult *result, NSError *error) {
      if (error != nil) {
        NSLog(@"Error fetching Installation token %@", error);
        return;
      }
      NSLog(@"Installation auth token: %@", [result authToken]);
    }];
    

    Java

    FirebaseInstallations.getInstance().getToken(/* forceRefresh */true)
            .addOnCompleteListener(new OnCompleteListener<InstallationTokenResult>() {
        @Override
        public void onComplete(@NonNull Task<InstallationTokenResult> task) {
            if (task.isSuccessful() && task.getResult() != null) {
                Log.d("Installations", "Installation auth token: " + task.getResult().getToken());
            } else {
                Log.e("Installations", "Unable to get Installation auth token");
            }
        }
    });

    Kotlin+KTX

    val forceRefresh = true
    FirebaseInstallations.getInstance().getToken(forceRefresh)
        .addOnCompleteListener { task ->
            if (task.isSuccessful) {
                Log.d("Installations", "Installation auth token: " + task.result?.token)
            } else {
                Log.e("Installations", "Unable to get Installation auth token")
            }
        }

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

    Unità

    Firebase.Installations.FirebaseInstallations.DefaultInstance.GetTokenAsync(forceRefresh: true).ContinueWith(
      task => {
        if (!(task.IsCanceled || task.IsFaulted) && task.IsCompleted) {
          UnityEngine.Debug.Log(System.String.Format("Installations token {0}", task.Result));
        }
      });
    
  2. Nella barra di navigazione della console Firebase , fai clic su Test A/B .
  3. Fai clic su Bozza (e/o In esecuzione per esperimenti Remote Config), passa il mouse sopra l'esperimento, fai clic sul menu contestuale ( ), quindi su Gestisci dispositivi di test .
  4. Inserisci il token di autenticazione dell'installazione 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.

Per ulteriori informazioni sulle installazioni Firebase, consulta Gestire le installazioni Firebase .

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 riscontri questo ritardo 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 .

Per Remote Config, ciò significa che anche se un utente è tecnicamente qualificato per un pubblico, se Analytics non ha ancora aggiunto l'utente al pubblico quando viene eseguito `fetchAndActivate()`, l'utente non verrà incluso nell'esperimento.

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 Prima
Dopo

Scegli come target gli utenti in base alla prima volta che aprono la tua app:

  • Seleziona Nuovi utenti per scegliere come target gli utenti che aprono per la prima volta la tua app dopo una data e un'ora future specificate.
  • Seleziona Intervallo di tempo per scegliere come target gli utenti che aprono per la prima volta la tua app nell'intervallo prima o dopo la data e l'ora specificate. Combina le condizioni Prima e Dopo per indirizzare gli utenti entro un intervallo di tempo specifico.

Il targeting utente per prima apertura è disponibile dopo aver selezionato un'app Android o iOS. Attualmente è supportato dalle seguenti versioni di Remote Config SDK: piattaforme Apple SDK v9.0.0+ e Android SDK v21.1.1+ (Firebase BoM v30.3.0+).

L'analisi deve essere stata abilitata anche sul client durante il primo evento aperto.

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, supponi di utilizzare Remote Config per avviare due diversi flussi di gioco nella tua app e di voler ottimizzare gli acquisti in-app e le entrate pubblicitarie, ma desideri anche monitorare la stabilità e la fidelizzazione degli utenti di ciascuna variante. In questo caso, potresti prendere in considerazione la scelta di Entrate totali stimate come metrica dell'obiettivo perché include le entrate degli acquisti in-app e le entrate pubblicitarie, quindi, per Altre metriche da monitorare , potresti aggiungere quanto segue:

  • Per monitorare la fidelizzazione degli utenti giornaliera e settimanale, aggiungi Conservazione (2-3 giorni) e Conservazione (4-7 giorni) .
  • Per confrontare la stabilità tra i due flussi di gioco, aggiungi gli utenti Crash-free .
  • Per visualizzare visualizzazioni più dettagliate di ciascun tipo di entrate, aggiungi Entrate da acquisti ed Entrate pubblicitarie stimate .

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