Crea esperimenti di messaggistica con A/B Testing

Quando raggiungi i tuoi utenti o avvii una nuova campagna di marketing, devi assicurarti di fare le cose per bene. I test A/B possono aiutarti a trovare la formulazione e la presentazione ottimali testando le varianti dei messaggi su parti selezionate della tua base utenti. Indipendentemente dal fatto che il tuo obiettivo sia migliorare la fidelizzazione o le conversioni di un'offerta, i test A/B possono eseguire analisi statistiche per determinare se una variante del messaggio sta superando la linea di base per l'obiettivo selezionato.

Per 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 che utilizza lo strumento di composizione delle notifiche ti consente di valutare più varianti di un singolo messaggio di notifica.

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

    Se non hai 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 della barra di navigazione della console di Firebase, fai clic su A/B Testing.

  3. Fai clic su Crea esperimento e poi seleziona Notifiche 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 affinché partecipino all'esperimento scegliendo opzioni che includono quanto segue:

    • Versione: una o più versioni della tua app
    • 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
    • Paese/regione: uno o più paesi o regioni per selezionare gli utenti che potrebbero essere inclusi nell'esperimento.
    • Lingua del dispositivo: una o più lingue e impostazioni internazionali utilizzate per selezionare gli utenti che potrebbero essere inclusi nell'esperimento
    • Prima apertura: scegli come target gli utenti in base alla prima volta che hanno aperto la tua app.
    • Ultimo coinvolgimento in-app: scegli come target gli utenti in base all'ultima volta che hanno interagito con la tua app.
  6. Imposta la Percentuale di utenti target: seleziona la percentuale della base utenti della tua app corrispondente ai criteri impostati in Utenti target che vuoi suddividere in modo uniforme tra il valore di riferimento e una o più varianti nell'esperimento. Può essere qualsiasi percentuale compresa tra 0,01% e 100%. Le percentuali vengono riassegnate in modo casuale agli utenti per ogni esperimento, inclusi gli esperimenti duplicati.

  7. Nella sezione Varianti, digita un messaggio da inviare al gruppo di riferimento nel campo Inserisci il testo del messaggio. Per non inviare alcun messaggio al gruppo di riferimento, lascia vuoto questo campo.

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

  9. (Facoltativo) Inserisci un nome per ogni variante dell'esperimento al posto dei nomi Variante A, Variante B e così via.

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

  11. Scegli le opzioni per il tuo messaggio:

    • Data di invio: scegli Invia ora per avviare l'esperimento subito al salvataggio oppure Pianificato per specificare un'ora di lancio dell'esperimento in futuro.
    • Opzioni avanzate: per scegliere le opzioni avanzate per tutte le notifiche incluse nell'esperimento, espandi Opzioni avanzate e modifica una delle opzioni di messaggio elencate.
  12. 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 registrazione FCM associato. Puoi usare questo token per testare varianti dell'esperimento specifiche su un dispositivo di test con la tua app installata. Per convalidare l'esperimento su un dispositivo di test, procedi nel seguente modo:

  1. Ottieni il token di registrazione FCM come segue:

    Swift

    Messaging.messaging().token { token, error in
      if let error = error {
        print("Error fetching FCM registration token: \(error)")
      } else if let token = token {
        print("FCM registration token: \(token)")
        self.fcmRegTokenMessage.text  = "Remote FCM registration token: \(token)"
      }
    }

    Objective-C

    [[FIRMessaging messaging] tokenWithCompletion:^(NSString *token, NSError *error) {
      if (error != nil) {
        NSLog(@"Error getting FCM registration token: %@", error);
      } else {
        NSLog(@"FCM registration token: %@", token);
        self.fcmRegTokenMessage.text = token;
      }
    }];

    Java

    FirebaseMessaging.getInstance().getToken()
        .addOnCompleteListener(new OnCompleteListener<String>() {
            @Override
            public void onComplete(@NonNull Task<String> task) {
              if (!task.isSuccessful()) {
                Log.w(TAG, "Fetching FCM registration token failed", task.getException());
                return;
              }
    
              // Get new FCM registration token
              String token = task.getResult();
    
              // Log and toast
              String msg = getString(R.string.msg_token_fmt, token);
              Log.d(TAG, msg);
              Toast.makeText(MainActivity.this, msg, Toast.LENGTH_SHORT).show();
            }
        });

    Kotlin+KTX

    FirebaseMessaging.getInstance().token.addOnCompleteListener(OnCompleteListener { task ->
        if (!task.isSuccessful) {
            Log.w(TAG, "Fetching FCM registration token failed", task.exception)
            return@OnCompleteListener
        }
    
        // Get new FCM registration token
        val token = task.result
    
        // Log and toast
        val msg = getString(R.string.msg_token_fmt, token)
        Log.d(TAG, msg)
        Toast.makeText(baseContext, msg, Toast.LENGTH_SHORT).show()
    })

    C++

    firebase::InitResult init_result;
    auto* installations_object = firebase::installations::Installations::GetInstance(
        firebase::App::GetInstance(), &init_result);
    installations_object->GetToken().OnCompletion(
        [](const firebase::Future<std::string>& future) {
          if (future.status() == kFutureStatusComplete &&
              future.error() == firebase::installations::kErrorNone) {
            printf("Installations Auth Token %s\n", future.result()->c_str());
          }
        });

    Unity

    Firebase.Messaging.FirebaseMessaging.DefaultInstance.GetTokenAsync().ContinueWith(
      task => {
        if (!(task.IsCanceled || task.IsFaulted) && task.IsCompleted) {
          UnityEngine.Debug.Log(System.String.Format("FCM registration token {0}", task.Result));
        }
      });
  2. Nella barra di navigazione della console Firebase, fai clic su Test A/B.
  3. Fai clic su Bozza, passa il mouse sopra l'esperimento, fai clic sul menu contestuale () e poi su Gestisci dispositivi di test
  4. Inserisci il token FCM 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.

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 lo stato e visualizzare 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 fai clic sul titolo dell'esperimento o cercalo. In questa pagina puoi visualizzare varie statistiche osservate e modellate sull'esperimento in esecuzione, tra cui:

    • % di differenza rispetto al riferimento: una misura del miglioramento di una metrica per una determinata variante rispetto alla base 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, questo è l'intervallo previsto in cui ricadrà 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 viene utilizzato 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 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 potrai selezionare una variante da pubblicare per tutti gli utenti in futuro. 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, su un esperimento che vuoi rilasciare a tutti gli utenti, poi 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 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, si aprirà la schermata di scrittura di FIAM 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 consentire a A/B Testing di dichiararne il 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. Nella 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 il puntatore sopra l'esperimento, fai clic sul menu contestuale () e poi fai clic su Duplica esperimento o Interrompi esperimento.

Targeting degli utenti

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

Criterio di targeting Operatori Valori Nota
Versione contiene,
non contiene,
corrisponde esattamente a,
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 contains 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.

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.
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 selezionare i valori delle 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 proprietà utente corrispondente in un numero intero/in virgola mobile.
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.
Paese/regione N/D Uno o più paesi o regioni utilizzati per selezionare gli utenti che potrebbero essere inclusi nell'esperimento.  
Lingue N/D Una o più lingue e impostazioni internazionali utilizzate per selezionare gli utenti che potrebbero essere inclusi nell'esperimento.  
Prima apertura Più di
Meno di
Tra
Scegli come target gli utenti in base alla prima volta che hanno aperto la tua app, specificata in giorni.
Ultimo coinvolgimento con l'app Più di
Meno di
Tra
Scegli come target gli utenti in base all'ultima volta che hanno interagito con la tua app, specificato in giorni.

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 comprendere meglio il rendimento di ogni variante dell'esperimento e rilevare 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. Nell'esperimento puoi monitorare fino a cinque metriche non relative agli obiettivi.

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

  • Entrate totali stimate, per scoprire le differenze tra le entrate pubblicitarie e gli acquisti in-app combinati tra le due varianti.
  • Fidelizzazione (1 giorno), Fidelizzazione (2-3 giorni), Fidelizzazione (4-7 giorni) per monitorare la fidelizzazione giornaliera/settimanale degli utenti

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 dagli 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 nella 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 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 una notifica inviata dal compositore di notifiche viene ignorata (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 appartenenze all'esperimento e alle varianti vengono archiviate per 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 hai sottoscritto il piano Spark, puoi utilizzare la sandbox di BigQuery per accedere a BigQuery senza costi, rispettando i limiti della sandbox. Consulta Prezzi e la sandbox di BigQuery per ulteriori informazioni.

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. Consulta Informazioni sul collegamento di Firebase a BigQuery e 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 ulteriori informazioni sull'esportazione dei dati del progetto in BigQuery, vedi Esportare i dati del progetto in BigQuery.

Accedere ai dati di A/B Testing in BigQuery

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

  • ID esperimento: puoi 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 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, dovrai 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 degli obiettivi che hai configurato nell'esperimento. Ad esempio, eventi in_app_purchase, eventi 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 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 viene aperto in BigQuery all'interno della console della console Google Cloud e viene 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 numero di eventi per ogni evento. Tieni presente che Query Builder non specifica il nome del progetto nel nome della tabella, perché 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

La seguente query di esempio illustra come ottenere i dati per un determinato esperimento 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