Creare esperimenti di Firebase Remote Config con A/B Testing

Quando utilizzi Firebase Remote Config per implementare le impostazioni per un'applicazione con una base di utenti attivi, 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. Troppo spesso, gli sviluppatori di app scoprono che i loro utenti non apprezzano una nuova funzionalità o un'esperienza utente aggiornata solo quando la valutazione della loro app nell'app store diminuisce. I test A/B possono aiutarti a misurare se i tuoi utenti apprezzano le nuove varianti delle funzionalità o se preferiscono l'app così com'è. Inoltre, mantenere la maggior parte degli utenti in un gruppo di base garantisce che la maggior parte della tua base di utenti possa continuare a utilizzare la tua app senza riscontrare modifiche al suo comportamento o aspetto fino al termine dell'esperimento.
  • Il modo migliore per ottimizzare l'esperienza utente in funzione di un obiettivo commerciale. A volte implementi modifiche al prodotto per massimizzare una metrica come le entrate o la fidelizzazione. Con il test A/B, imposti il tuo scopo commerciale e Firebase esegue l'analisi statistica per determinare se una variante ha un rendimento migliore rispetto al riferimento per l'obiettivo selezionato.

Per eseguire test A/B sulle varianti delle funzionalità con una linea di base:

  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ù Remote Config parametri.

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

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

  2. Nella sezione Engage del menu di navigazione della Firebase console, 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 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 dei tuoi utenti per partecipare all'esperimento facendo clic su e, quindi 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/regioni per selezionare gli utenti da includere nell'esperimento
    • Segmento di pubblico di utenti:segmenti di pubblico Analytics utilizzati per il targeting degli utenti che potrebbero essere inclusi nell'esperimento
    • Proprietà utente:una o più proprietà utente Analytics per selezionare gli utenti che potrebbero essere inclusi nell'esperimento
    • Prima apertura:scegli come target gli utenti in base alla prima volta che hanno aperto la tua app

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

      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 dividere equamente tra la base di riferimento e una o più varianti dell'esperimento. Può essere qualsiasi percentuale compresa tra 0,01% e 100%. Gli utenti vengono assegnati in modo casuale a ogni esperimento, inclusi quelli duplicati.

  7. (Facoltativo) Imposta un evento di attivazione per assicurarti che vengano conteggiati nell'esperimento solo i dati degli utenti che hanno attivato per la prima volta un evento Analytics. Tieni presente che tutti gli utenti che corrispondono ai 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 che scegli si verifichi dopo che l'app attiva i valori di configurazione recuperati. Inoltre, non è possibile utilizzare i seguenti eventi 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 da monitorare dall'elenco. Questi includono obiettivi integrati (acquisti, entrate, fidelizzazione, utenti senza arresti anomali e così via), Analytics e altri Analytics eventi. 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. I 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, ogni variante è ponderata in modo uguale. Tieni presente che ponderazioni non uniformi possono aumentare il tempo di raccolta dei dati; inoltre, le ponderazioni non possono essere modificate dopo l'inizio dell'esperimento.

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

Sono consentiti fino a 300 esperimenti per progetto, che possono consistere in un massimo di 24 esperimenti in esecuzione, mentre i restanti sono bozze o completati.

Convalidare l'esperimento su un dispositivo di test

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

  1. Ottieni il token di autorizzazione dell'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

    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<std::string>& 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 a quel dispositivo di test.
  5. Esegui l'app e verifica che la variante selezionata venga ricevuta sul dispositivo di test.

Per saperne di più sulle installazioni di Firebase, vedi Gestire le installazioni Firebase.

Gestisci l'esperimento

Che tu crei un esperimento con Remote Config, il compositore di notifiche o Firebase In-App Messaging, puoi quindi convalidare e avviare l'esperimento, monitorarlo durante l'esecuzione e aumentare il numero di utenti inclusi nell'esperimento in esecuzione.

Al termine dell'esperimento, puoi prendere nota delle impostazioni utilizzate dalla variante vincente e poi implementarle per tutti gli utenti. In alternativa, puoi eseguire un altro esperimento.

Avvia un esperimento

  1. Nella sezione Engage del menu di navigazione della Firebase console, 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 verrebbero inclusi nell'esperimento, espandi i dettagli della bozza e controlla che nella sezione Targeting e distribuzione sia presente un numero maggiore di 0% (ad esempio, 1% degli utenti che corrispondono ai criteri).
  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

Dopo un po' di tempo dall'avvio di un esperimento, puoi controllare lo stato di avanzamento e visualizzare i risultati per gli utenti che hanno partecipato finora all'esperimento.

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

    • Differenza (%) dalla base di riferimento: una misura del miglioramento di una metrica per una determinata variante rispetto alla base di riferimento. Calcolato confrontando l'intervallo di valori per la variante con l'intervallo di valori per la baseline.
    • Probabilità di superare la base di riferimento: la probabilità stimata che una determinata variante superi la base di riferimento per la metrica selezionata.
    • observed_metric per utente: in base ai risultati dell'esperimento, questo è l'intervallo previsto in cui rientrerà il valore della metrica nel tempo.
    • Totale observed_metric: il valore cumulativo osservato per la base di riferimento o la variante. Il valore viene utilizzato per misurare il rendimento di ogni variante dell'esperimento e per calcolare Miglioramento, Intervallo di valori, Probabilità di superare la base di riferimento e Probabilità di essere la variante migliore. A seconda della metrica misurata, questa colonna può essere etichettata "Durata per utente", "Entrate per utente", "Tasso di fidelizzazione" o "Tasso di conversione".
  3. Dopo un po' di tempo dall'inizio dell'esperimento (almeno 7 giorni per FCM e In-App Messaging o 14 giorni per Remote Config), i dati in questa pagina indicano quale variante, se presente, è il "leader". Alcune misurazioni sono accompagnate da un grafico a barre che presenta i dati in un formato visivo.

Implementare un esperimento per tutti gli utenti

Una volta che un esperimento è stato eseguito per un periodo di tempo sufficiente a determinare una variante "ottimale", o la variante migliore, per la metrica dell'obiettivo, puoi rilasciare l'esperimento per il 100% degli utenti. In questo modo puoi selezionare una variante da pubblicare in futuro per tutti gli utenti. Anche se l'esperimento non ha delineato chiaramente una variante migliore, puoi comunque scegliere di implementarne una per tutti i tuoi utenti.

  1. Nella sezione Engage del menu di navigazione della Firebase console, fai clic su A/B Testing.
  2. Fai clic su Completato o In esecuzione, fai clic su un esperimento che vuoi rilasciare per tutti gli utenti, fai clic sul menu contestuale () Distribuisci variante.
  3. Implementa l'esperimento per tutti gli utenti in uno dei seguenti modi:

    • Per un esperimento che utilizza lo strumento di composizione delle notifiche, utilizza la finestra di dialogo Implementa messaggio per inviare il messaggio agli utenti target rimanenti che non facevano parte dell'esperimento.
    • Per un esperimento Remote Config, seleziona una variante per determinare i valori parametro di Remote Config da aggiornare. I criteri di targeting definiti durante la creazione dell'esperimento vengono aggiunti come nuova condizione nel modello per fare in modo che l'implementazione riguardi solo gli utenti target dell'esperimento. Dopo aver fatto clic su Esamina con Remote Config per rivedere le modifiche, fai clic su Pubblica modifiche per completare l'implementazione.
    • Per un esperimento In-App Messaging, utilizza la finestra di dialogo per determinare quale variante deve essere implementata come campagna In-App Messaging autonoma. Una volta selezionata, viene visualizzata la schermata di composizione dell'intent integrato per apportare eventuali modifiche (se necessarie) prima della pubblicazione.

Espandere un esperimento

Se noti che un esperimento non attira un numero sufficiente di utenti per A/B Testing dichiarare un leader, puoi aumentare la distribuzione dell'esperimento per raggiungere una percentuale maggiore della base utenti dell'app.

  1. Nella sezione Engage del menu di navigazione della Firebase console, fai clic su A/B Testing.
  2. Seleziona l'esperimento in esecuzione che vuoi modificare.
  3. Nella Panoramica dell'esperimento, fai clic sul menu contestuale (), poi su Modifica esperimento in esecuzione.
  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 attuale e fai clic su Pubblica. L'esperimento verrà distribuito alla percentuale di utenti che hai specificato.

Duplicare o interrompere un esperimento

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

Targeting per utenti

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

Criterio di targeting Operatore/i    Valori Nota
Versione contiene,
non contiene,
corrisponde esattamente,
contiene espressione regolare
Inserisci un valore per una o più versioni dell'app che vuoi includere nell'esperimento.

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

Quando utilizzi l'operatore contiene espressione regolare, puoi creare espressioni regolari in formato RE2. L'espressione regolare può corrispondere a tutta o parte della stringa della versione di destinazione. Puoi anche utilizzare gli ancoraggi ^ e $ per trovare una corrispondenza con l'inizio, la fine o l'intera stringa di destinazione.

Segmenti di pubblico include tutti gli elementi di,
include almeno uno degli elementi di,
non include tutti gli elementi di,
non include almeno uno degli elementi di
Seleziona uno o più segmenti di pubblico Analytics per scegliere come target gli utenti che potrebbero essere inclusi nell'esperimento. Alcuni esperimenti che hanno come target segmenti di pubblico Google Analytics potrebbero richiedere alcuni giorni per accumulare dati perché sono soggetti alla Analytics latenza di elaborazione dei dati. È più probabile che si verifichi questo ritardo con i nuovi utenti, che in genere vengono registrati nei segmenti di pubblico idonei 24-48 ore dopo la creazione, o per i segmenti di pubblico creati di recente.

Per Remote Config, ciò significa che anche se un utente è tecnicamente idoneo per un segmento di pubblico, se Analytics non ha ancora aggiunto l'utente 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 l'espressione regolare

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

Sul client, puoi impostare solo valori stringa per le proprietà utente. Per le condizioni che utilizzano operatori numerici, il servizio Remote Config converte il valore della proprietà utente corrispondente in un numero intero/in virgola mobile.
Quando utilizzi l'operatore contiene espressione regolare, puoi creare espressioni regolari in formato RE2. L'espressione regolare può corrispondere a tutta o parte della stringa della versione di destinazione. Puoi anche utilizzare gli ancoraggi ^ e $ per trovare una corrispondenza con l'inizio, la fine o l'intera stringa di destinazione.
Paese/regione N/D Uno o più paesi o regioni utilizzati per selezionare gli utenti che potrebbero essere inclusi nell'esperimento.  
Lingue N/D Una o più lingue e impostazioni internazionali utilizzate per selezionare gli utenti che potrebbero essere inclusi nell'esperimento.  
Prima apertura 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 la tua app per la prima volta dopo una data e un'ora future specificate.
  • Seleziona Intervallo di tempo per scegliere come target gli utenti che aprono la tua app per la prima volta nell'intervallo prima o dopo la data e l'ora specificate. Combina le condizioni Prima e Dopo per scegliere come target gli utenti in un intervallo di tempo specifico.

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

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

A/B Testing metriche

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

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

  • 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 informazioni più dettagliate su 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 relative all'obiettivo

Metrica Descrizione
Utenti che non hanno sperimentato arresti anomali La percentuale di utenti che non hanno riscontrato errori nell'app rilevati dall'SDK Firebase Crashlytics durante l'esperimento.
Entrate pubblicitarie stimate Utili degli annunci stimati.
Entrate stimate totali Valore combinato per gli acquisti e le entrate pubblicitarie stimate.
Entrate generate dagli acquisti Valore combinato per tutti gli eventi purchase e in_app_purchase.
Fidelizzazione (1 giorno) Il numero di utenti che tornano alla tua app quotidianamente.
Fidelizzazione (2-3 giorni) Il numero di utenti che tornano alla tua app entro 2-3 giorni.
Fidelizzazione (4-7 giorni) Il numero di utenti che tornano alla tua app entro 4-7 giorni.
Fidelizzazione (8-14 giorni) Il numero di utenti che tornano alla tua app entro 8-14 giorni.
Fidelizzazione (più di 15 giorni) Il numero di utenti che tornano alla tua app 15 o più giorni dopo l'ultimo utilizzo.
first_open Un evento Analytics che viene attivato quando un utente apre un'app per la prima volta dopo averla installata o reinstallata. Utilizzato nell'ambito di una canalizzazione di conversione.

Altre metriche

Metrica Descrizione
notification_dismiss Un evento Analytics che si attiva quando una notifica inviata da Notifications Composer viene ignorata (solo Android).
notification_receive Un evento Analytics che si attiva quando una notifica inviata dal compositore di notifiche viene ricevuta mentre l'app è in background (solo Android).
os_update Un evento Analytics che monitora quando il sistema operativo del dispositivo viene aggiornato a una nuova versione.Per saperne di più, consulta la sezione Eventi raccolti automaticamente.
screen_view Un evento Analytics che monitora le schermate visualizzate all'interno dell'app. Per saperne di più, consulta Monitorare le visualizzazioni di schermate.
session_start Un evento Analytics che conteggia le sessioni utente nella tua app. Per saperne di più, consulta Eventi raccolti automaticamente.

Esportazione dei dati di BigQuery

Oltre a visualizzare i dati dell'esperimento A/B Testing nella console Firebase, puoi esaminarli e analizzarli in BigQuery. Sebbene A/B Testing non abbia una tabella BigQuery separata, le appartenenze a esperimenti e varianti vengono memorizzate in ogni evento Google Analytics all'interno delle tabelle degli eventi Analytics.

Le proprietà utente che contengono informazioni sull'esperimento hanno il formato userProperty.key like "firebase_exp_%" o userProperty.key = "firebase_exp_01", dove 01 è l'ID esperimento e userProperty.value.string_value contiene l'indice (basato su zero) della variante dell'esperimento.

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

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

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

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

Se hai il piano Spark, puoi utilizzare la sandbox di BigQuery per accedere a BigQuery senza costi, nel rispetto dei limiti della sandbox. Per ulteriori informazioni, consulta Prezzi e sandbox BigQuery.

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

  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 Informazioni sul collegamento di Firebase a BigQuery, 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, potrebbe essere necessario un giorno prima che le tabelle diventino disponibili. Per saperne di più sull'esportazione dei dati del progetto in BigQuery, consulta Esportare i dati del progetto in BigQuery.

Accedere ai dati di A/B Testing in BigQuery

Prima di eseguire una query per i dati di un esperimento specifico, devi ottenere alcuni o tutti i seguenti elementi da utilizzare nella query:

  • ID esperimento:puoi ottenerlo dall'URL della pagina Panoramica dell'esperimento. Ad esempio, se il tuo URL ha il seguente aspetto: https://console.firebase.google.com/project/my_firebase_project/config/experiment/results/25, l'ID esperimento è 25.
  • ID proprietà Google Analytics: il tuo ID proprietà Google Analytics di 9 cifre. Puoi trovarlo in Google Analytics; viene visualizzato anche in BigQuery quando espandi il nome del progetto per mostrare il nome della tabella degli eventi Google Analytics (project_name.analytics_000000000.events).
  • Data dell'esperimento:per comporre una query più rapida ed efficiente, è consigliabile limitare le query alle partizioni della tabella degli eventi giornalieri che contengono i dati dell'esperimento, ovvero le tabelle identificate con il suffisso YYYYMMDD.Google Analytics Pertanto, se l'esperimento è stato eseguito dal 2 febbraio 2024 al 2 maggio 2024, devi specificare un _TABLE_SUFFIX between '20240202' AND '20240502'. Per un esempio, vedi Selezionare i valori di un esperimento specifico.
  • Nomi degli eventi:in genere, corrispondono alle metriche degli obiettivi che hai configurato nell'esperimento. Ad esempio, eventi in_app_purchase, ad_impression o user_retention.

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 query di esempio da eseguire, vedi Esplora le query di esempio.
  4. Fai clic su Esegui.

Eseguire query sui dati dell'esperimento utilizzando la query generata automaticamente della console Firebase

Se utilizzi il piano Blaze, la pagina Panoramica esperimento fornisce una query di esempio che restituisce il nome dell'esperimento, le varianti, i nomi degli eventi e il numero di eventi per l'esperimento che stai visualizzando.

Per ottenere ed eseguire la query generata automaticamente:

  1. Dalla console Firebase, apri A/B Testing e seleziona l'esperimento A/B Testing che vuoi interrogare per aprire la Panoramica dell'esperimento.
  2. Nel menu Opzioni, sotto Integrazione BigQuery, seleziona Esegui query sui dati dell'esperimento. Si aprirà il tuo progetto in BigQuery all'interno della console Google Cloud e verrà fornita una query di base che puoi utilizzare per eseguire query sui dati dell'esperimento.

L'esempio seguente mostra una query generata per un esperimento con tre varianti (inclusa la base di riferimento) denominato "Esperimento di benvenuto invernale". Restituisce il nome dell'esperimento attivo, il nome della variante, l'evento univoco e il conteggio degli eventi per ogni evento. Tieni presente che Query Builder non specifica il nome del progetto nel nome della tabella, in quanto si apre direttamente all'interno del progetto.

  /*
    This query is auto-generated by Firebase A/B Testing for your
    experiment "Winter welcome experiment".
    It demonstrates how you can get event counts for all Analytics
    events logged by each variant of this experiment's population.
  */
  SELECT
    'Winter welcome experiment' AS experimentName,
    CASE userProperty.value.string_value
      WHEN '0' THEN 'Baseline'
      WHEN '1' THEN 'Welcome message (1)'
      WHEN '2' THEN 'Welcome message (2)'
      END AS experimentVariant,
    event_name AS eventName,
    COUNT(*) AS count
  FROM
    `analytics_000000000.events_*`,
    UNNEST(user_properties) AS userProperty
  WHERE
    (_TABLE_SUFFIX BETWEEN '20240202' AND '20240502')
    AND userProperty.key = 'firebase_exp_25'
  GROUP BY
    experimentVariant, eventName

Per altri esempi di query, vai a Esplora le query di esempio.

Esplorare query di esempio

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

Estrai i valori della deviazione standard di acquisto ed esperimento da tutti gli esperimenti

Puoi utilizzare i dati dei risultati dell'esperimento per verificare in modo indipendente i risultati di Firebase A/B Testing. La seguente istruzione SQL BigQuery estrae le varianti dell'esperimento, il numero di utenti unici in ogni variante e la somma delle entrate totali dagli eventi in_app_purchase e ecommerce_purchase, nonché le deviazioni standard per tutti gli esperimenti nell'intervallo di tempo specificato come date di inizio e fine _TABLE_SUFFIX. Puoi utilizzare i dati ottenuti da questa query con un generatore di significatività statistica per i test t unilaterali per verificare che i risultati forniti da Firebase corrispondano alla tua analisi.

Per saperne di più su come A/B Testing calcola l'inferenza, consulta Interpretare i risultati dei test.

  /*
    This query returns all experiment variants, number of unique users,
    the average USD spent per user, and the standard deviation for all
    experiments within the date range specified for _TABLE_SUFFIX.
  */
  SELECT
    experimentNumber,
    experimentVariant,
    COUNT(*) AS unique_users,
    AVG(usd_value) AS usd_value_per_user,
    STDDEV(usd_value) AS std_dev
  FROM
    (
      SELECT
        userProperty.key AS experimentNumber,
        userProperty.value.string_value AS experimentVariant,
        user_pseudo_id,
        SUM(
          CASE
            WHEN event_name IN ('in_app_purchase', 'ecommerce_purchase')
              THEN event_value_in_usd
            ELSE 0
            END) AS usd_value
      FROM `PROJECT_NAME.analytics_ANALYTICS_ID.events_*`
      CROSS JOIN UNNEST(user_properties) AS userProperty
      WHERE
        userProperty.key LIKE 'firebase_exp_%'
        AND event_name IN ('in_app_purchase', 'ecommerce_purchase')
        AND (_TABLE_SUFFIX BETWEEN 'YYYYMMDD' AND 'YYYMMDD')
      GROUP BY 1, 2, 3
    )
  GROUP BY 1, 2
  ORDER BY 1, 2;

Selezionare i valori di un esperimento specifico

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