Creare esperimenti di Firebase Remote Config con A/B Testing

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

  • Il modo migliore per implementare una funzionalità per ottimizzare l'esperienza utente. Spesso gli sviluppatori di app non sanno che i loro utenti non amano una nuova funzionalità o un'esperienza utente aggiornata finché la valutazione della loro app nello store non cala. 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 degli utenti in un gruppo di riferimento garantisce che la maggior parte della tua base utenti possa continuare a utilizzare la tua app senza che il suo comportamento o aspetto subiscano modifiche fino al termine dell'esperimento.
  • Il modo migliore per ottimizzare l'esperienza utente in base a un obiettivo commerciale. A volte implementi modifiche ai prodotti per massimizzare una metrica come le entrate o la fidelizzazione. Con i test A/B, imposti lo scopo commerciale e Firebase esegue l'analisi statistica per determinare se una variante supera il valore di riferimento per lo scopo selezionato.

Per eseguire un test A/B delle varianti di funzionalità con un valore di riferimento:

  1. Crea l'esperimento.
  2. Convalida l'esperimento su un dispositivo di test.
  3. Gestisci l'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 attivato Google Analytics durante la creazione del progetto, puoi farlo nella scheda Integrazioni, a cui puoi accedere utilizzando > Impostazioni progetto nella console Firebase.

  2. Nella sezione Coinvolgimento del menu di navigazione della console Firebase, fai clic su A/B Testing.

  3. Fai clic su Crea esperimento e poi seleziona Remote Config quando ti viene chiesto il servizio con cui vuoi eseguire l'esperimento.

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

  5. Compila i campi Targeting, scegliendo innanzitutto l'app che utilizza l'esperimento. Puoi anche scegliere come target un sottoinsieme di utenti da coinvolgere nell'esperimento facendo clic su E e poi scegliendo le opzioni dall'elenco seguente:

    • Versione: una o più versioni della tua app
    • Numero di build: il codice 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 per selezionare gli utenti che devono essere inclusi nell'esperimento.
    • Pubblico di utenti:Analytics segmenti di pubblico utilizzati per scegliere come target gli 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
    • Prima apertura:scegli come target gli utenti in base alla prima volta che hanno aperto la tua app.

      Il targeting per utente in base all'ora della prima apertura è disponibile dopo aver selezionato un'app per Android o iOS. È supportato dalle seguenti versioni dell'SDK Remote Config: SDK per piattaforme Apple versione 9.0.0 o successive e SDK Android versione 21.1.1 o successive (Firebase BoM versione 30.3.0 o successive).

      Analytics deve essere stato attivato anche sul client durante il primo evento di apertura.

  6. Imposta la Percentuale di utenti target:inserisci la percentuale della base utenti della tua app corrispondente ai criteri impostati in Utenti target che vuoi suddividere in modo uniforme tra la base di riferimento e una o più varianti nell'esperimento. Può essere qualsiasi percentuale compresa tra lo 0,01% e il 100%. Gli utenti vengono assegnati in modo casuale a ogni esperimento, inclusi quelli duplicati.

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

    Per garantire un esperimento valido, assicurati che l'evento scelto si verifichi dopo che l'app attiva 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 le altre metriche da monitorare dall'elenco. Sono inclusi gli obiettivi integrati (acquisti, entrate, fidelizzazione, utenti senza arresti anomali e così via), Analytics e altri eventi Analytics. Al termine, fai clic su Avanti.

  9. Nella sezione Varianti, scegli una base di riferimento e almeno una variante per l'esperimento. Utilizza l'elenco Scegli o crea nuovo per aggiungere uno o più parametri da sperimentare. Puoi creare un parametro che non è stato utilizzato in precedenza nella console Firebase, ma deve esistere nella tua app per avere 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. Tutti i parametri immutati sono uguali per gli utenti non inclusi nell'esperimento.

  12. Espandi Ponderazioni delle varianti per visualizzare o modificare la ponderazione della variante per l'esperimento. Per impostazione predefinita, ogni variante è ponderata in modo uguale. Tieni presente che ponderazioni non uniformi possono aumentare il tempo di raccolta dei dati e le ponderazioni non possono essere modificate dopo l'inizio dell'esperimento.

  13. Fai clic su Rivedi per salvare l'esperimento.

Puoi avere fino a 300 esperimenti per progetto, che possono essere costituiti da un massimo di 24 esperimenti in esecuzione, mentre il resto è in bozza o completato.

Convalidare l'esperimento su un dispositivo di test

Per ogni installazione di Firebase, puoi recuperare il token di autenticazione dell'installazione associato. Puoi utilizzare questo token per testare varianti specifiche dell'esperimento su un dispositivo di test su cui è installata la tua app. Per convalidare l'esperimento su un dispositivo di test:

  1. Ottieni il token di autorizzazione di installazione nel seguente modo:

    Swift

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

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

    Unity

    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 gli esperimenti Remote Config), passa il mouse sopra l'esperimento, fai clic sul menu contestuale () e poi 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 al dispositivo di test.
  5. Esegui l'app e verifica che la variante selezionata venga ricevuta sul dispositivo di test.

Per scoprire di più sulle installazioni di Firebase, consulta Gestire le installazioni di Firebase.

Gestire l'esperimento

Indipendentemente dal fatto che tu crei un esperimento con Remote Config, con il generatore di notifiche o con Firebase In-App Messaging, puoi convalidarlo e avviarlo, monitorarlo mentre è in esecuzione e aumentare il numero di utenti inclusi nel tuo 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

  1. Nella sezione Coinvolgimento 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 controlla se nella sezione Targeting e distribuzione è presente un numero superiore al 0% (ad esempio, 1% degli utenti che soddisfano i 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' di tempo, puoi monitorarne l'avanzamento e vedere come sono i risultati per gli utenti che hanno partecipato finora.

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

    • Differenza in percentuale rispetto al valore di riferimento: una misura del miglioramento di una metrica per una determinata variante rispetto al valore di riferimento. Calcolato confrontando l'intervallo di valori della variante con l'intervallo di valori della 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, si tratta dell'intervallo previsto in cui rientra il valore della metrica nel corso del tempo.
    • Totale observed_metric: il valore cumulativo osservato per la linea di base 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 il valore di riferimento e Probabilità di essere la variante migliore. A seconda della metrica misurata, questa colonna può essere indicata come "Durata per utente", "Entrate per utente", "Tasso di fidelizzazione" o "Tasso di conversione".
  3. Dopo che l'esperimento è stato eseguito per un po' di tempo (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, è la "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 identificare una "variante migliore" per la metrica dell'obiettivo, puoi rilasciarlo 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 rilasciarne una per tutti i tuoi utenti.

  1. Nella sezione Coinvolgimento 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 da rilasciare per tutti gli utenti, fai clic sul menu contestuale () Implementa variante.
  3. Implementa l'esperimento per tutti gli utenti eseguendo una delle seguenti operazioni:

    • Per un esperimento che utilizza lo strumento di creazione di notifiche, utilizza la finestra di dialogo Messaggio di implementazione 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 diRemote 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 in 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 selezionato, viene visualizzata la schermata di composizione FIAM per apportare eventuali modifiche (se necessarie) prima della pubblicazione.

Espandere un esperimento

Se un esperimento non genera 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.

  1. Nella sezione Coinvolgimento del menu di navigazione della console Firebase, fai clic su A/B Testing.
  2. Seleziona l'esperimento in esecuzione che vuoi modificare.
  3. In Panoramica dell'esperimento, fai clic sul menu contestuale () e poi su Modifica esperimento in esecuzione.
  4. La finestra di dialogo Targeting mostra un'opzione per aumentare la percentuale di utenti inclusi nell'esperimento in esecuzione. Seleziona un numero superiore alla percentuale corrente e fai clic su Pubblica. L'esperimento verrà implementato per la percentuale di utenti che hai specificato.

Duplicare o interrompere un esperimento

  1. Nella sezione Coinvolgimento del menu di navigazione della console Firebase, fai clic su A/B Testing.
  2. Fai clic su Completato o In esecuzione, tieni premuto il cursore sopra l'esperimento, fai clic sul menu contestuale () e poi 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 per gli utenti.

Criterio di targeting Operatori    Valori Nota
Versione contiene,
non contiene,
corrisponde esattamente,
contiene regex
Inserisci un valore per una o più versioni dell'app da includere nell'esperimento.

Quando utilizzi gli operatori contiene, non contiene o corrisponde esattamente a, puoi fornire un elenco di valori separati da virgole.

Quando utilizzi l'operatore contiene regex, puoi creare espressioni regolari nel formato RE2. L'espressione regolare può corrispondere a tutta o parte della stringa della versione di destinazione. Puoi anche utilizzare le ancore ^ e $ per trovare corrispondenze all'inizio, alla fine o nell'intera stringa di destinazione.

Segmenti di pubblico include tutti,
include almeno uno di,
non include tutti,
non include almeno uno 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 i segmenti di pubblico Google Analytics potrebbero richiedere alcuni giorni per accumulare dati perché sono soggetti a 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.

Per Remote Config, ciò significa che anche se un utente soddisfa tecnicamente i requisiti di un segmento di pubblico, se Analytics non lo ha ancora aggiunto al segmento di pubblico quando viene eseguito "fetchAndActivate()", l'utente non verrà incluso nell'esperimento.

Proprietà utente Per il testo:
contiene,
non contiene,
corrisponde esattamente,
contiene regex

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 di stringa per le proprietà utente. Per le condizioni che utilizzano operatori numerici, il servizio Remote Config converte il valore della corrispondente proprietà utente in un numero intero/in un numero con virgola mobile.
Quando utilizzi l'operatore contiene regex, puoi creare espressioni regolari nel formato RE2. L'espressione regolare può corrispondere completamente o in parte alla stringa della versione di destinazione. Puoi anche utilizzare le ancore ^ e $ per trovare corrispondenze all'inizio, alla fine o nell'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 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 precedente o successivo alla data e all'ora specificate. Combina le condizioni Prima e Dopo per scegliere come target gli utenti in un determinato intervallo di tempo.

Il targeting per utente in base alla prima apertura è disponibile dopo aver selezionato un'app per Android o iOS. Attualmente è supportato dalle seguenti versioni dell'SDK Remote Config: SDK per piattaforme Apple 9.0.0 e versioni successive e SDK Android 21.1.1 e versioni successive (Firebase BoM 30.3.0 e versioni successive).

Inoltre, Analytics deve essere stato attivato sul client durante l'evento di prima apertura.

A/B Testing metriche

Quando crei l'esperimento, scegli una metrica principale o di obiettivo, che viene utilizzata per determinare la variante migliore. Dovresti anche monitorare altre metriche per aiutarti a comprendere meglio il rendimento di ogni variante dell'esperimento e monitorare le tendenze importanti che possono variare da una variante all'altra, come la fidelizzazione degli utenti, la stabilità dell'app e le entrate generate dagli acquisti in-app. Puoi monitorare fino a cinque metriche non correlate agli obiettivi nell'esperimento.

Ad esempio, supponiamo che tu stia utilizzando Remote Config per lanciare due diversi flussi di gioco nella tua app e voglia ottimizzare per gli acquisti in-app e le entrate pubblicitarie, ma anche monitorare la stabilità e la fidelizzazione degli utenti di ogni variante. In questo caso, ti consigliamo di scegliere Entrate totali stimate come metrica per l'obiettivo perché include le entrate generate dagli acquisti in-app e le entrate pubblicitarie. Poi, in Altre metriche da monitorare, puoi aggiungere quanto segue:

  • Per monitorare la fidelizzazione degli utenti giornaliera e settimanale, aggiungi Fidelizzazione (2-3 giorni) e Fidelizzazione (4-7 giorni).
  • Per confrontare la stabilità tra i due flussi di gioco, aggiungi Utenti senza arresti anomali.
  • Per visualizzare visualizzazioni più dettagliate di ciascun tipo di entrate, aggiungi Entrate generate dagli acquisti ed Entrate pubblicitarie stimate.

Le seguenti tabelle forniscono dettagli su come vengono calcolate le metriche relative agli 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 nella tua app rilevati dall'SDK Firebase Crashlytics durante l'esperimento.
Entrate pubblicitarie stimate Utili stimati degli annunci.
Entrate stimate totali Valore combinato per le entrate generate dagli acquisti e quelle 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 su base giornaliera.
Conservazione (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.
Conservazione (8-14 giorni) Il numero di utenti che tornano nella 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'ultima volta che l'hanno utilizzata.
first_open Un evento Analytics che si attiva 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 viene ignorata una notifica inviata dal editor di notifiche (solo Android).
notification_receive Un evento Analytics che si attiva quando viene ricevuta una notifica inviata dal editor di notifiche 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 della tua app. Per scoprire di più, consulta Monitorare le visualizzazioni di schermata.
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 ispezionarli e analizzarli in BigQuery. Anche se A/B Testing non ha una tabella BigQuery separata, le iscrizioni a esperimenti e varianti vengono memorizzate in ogni evento Google Analytics all'interno delle tabelle di eventi Analytics.

Le proprietà utente che contengono le informazioni sull'esperimento sono del tipo userProperty.key like "firebase_exp_%" o userProperty.key = "firebase_exp_01", dove 01 è l'ID esperimento e userProperty.value.string_value contiene l'indice (a partire da zero) della variabile dell'esperimento.

Puoi utilizzare queste proprietà utente dell'esperimento per estrarre i dati dell'esperimento. In questo modo, puoi suddividere i risultati dell'esperimento in molti modi diversi e verificare in modo indipendente i risultati di A/B Testing.

Per iniziare, completa quanto segue come descritto in questa guida:

  1. Abilita l'esportazione di BigQuery per Google Analytics nella console Firebase
  2. Accedere ai dati di A/B Testing utilizzando BigQuery
  3. Esplorare le query di esempio

Attivare l'esportazione di BigQuery per Google Analytics nella Console Firebase

Se utilizzi il piano Spark, puoi utilizzare la sandbox BigQuery per accedere a BigQuery senza costi, rispettando i limiti della sandbox. Per ulteriori informazioni, consulta la sezione 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, fai clic su Collega.
  3. Leggi l'articolo Informazioni sul collegamento di Firebase a BigQuery e poi fai clic su Avanti.
  4. Nella sezione Configura integrazione, attiva il pulsante di attivazione/disattivazione 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, l'aggiornamento delle tabelle può richiedere fino a un giorno. Per saperne di più sull'esportazione dei dati di progetto in BigQuery, consulta Esporta i dati di 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 recuperarlo dall'URL della pagina Panoramica dell'esperimento. Ad esempio, se l'URL è simile a https://console.firebase.google.com/project/my_firebase_project/config/experiment/results/25, l'ID esperimento è 25.
  • ID proprietà Google Analytics: si tratta dell'ID proprietà 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 di eventi Google Analytics (project_name.analytics_000000000.events).
  • Data dell'esperimento: per comporre una query più rapida ed efficiente, è buona prassi limitare le query alle partizioni giornaliere delle tabelle di eventi Google Analytics che contengono i dati dell'esperimento, ovvero le tabelle identificate con un suffisso YYYYMMDD. Pertanto, se l'esperimento è stato eseguito dal 2 febbraio 2024 al 2 maggio 2024, devi specificare un valore _TABLE_SUFFIX between '20240202' AND '20240502'. Per un esempio, consulta Selezionare i valori di un esperimento specifico.
  • Nomi eventi:in genere corrispondono alle metriche degli obiettivi che hai configurato nell'esperimento. Ad esempio, in_app_purchase eventi, ad_impression o user_retention eventi.

Dopo aver raccolto le informazioni necessarie per generare la query:

  1. Apri BigQuery nella console Google Cloud.
  2. Seleziona il progetto, quindi Crea query SQL.
  3. Aggiungi la query. Per esempi di query da eseguire, consulta Esplorare query di esempio.
  4. Fai clic su Esegui.

Esegui query sui dati dell'esperimento utilizzando la query generata automaticamente della 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 visualizzato.

Per ottenere ed eseguire la query generata automaticamente:

  1. 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.
  2. Nel menu Opzioni, sotto Integrazione BigQuery, seleziona Esegui query sui dati dell'esperimento. Il progetto si apre in BigQuery nella 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 base di riferimento) denominato "Esperimento di benvenuto invernale". Restituisce il nome dell'esperimento attivo, il nome della variante, l'evento univoco e il conto degli eventi per ogni evento. Tieni presente che lo strumento per la creazione di query 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 Esplorare le query di esempio.

Esplora query di esempio

Le sezioni seguenti forniscono esempi di query che puoi utilizzare per estrarre A/B Testing dati dell'esperimento dalle tabelle di eventi Google Analytics.

Estrai i valori della deviazione standard degli acquisti e degli esperimenti da tutti gli esperimenti

Puoi utilizzare i dati dei risultati dell'esperimento per verificare in modo indipendente i risultati di Firebase A/B Testing. Il seguente statement SQL BigQuery estrae le varianti dell'esperimento, il numero di utenti unici in ogni variante e somma le entrate totali provenienti 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 di fine _TABLE_SUFFIX. Puoi utilizzare i dati ottenuti da questa query con un generatore di significatività statistica per i test t a una coda per verificare che i risultati forniti da Firebase corrispondano alla tua analisi.

Per ulteriori informazioni su come A/B Testing calcola l'inferenza, consulta Interpreta 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;

Selezionare i valori di un esperimento specifico

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