Crea esperimenti di messaggistica con A/B Testing

Quando contatti i tuoi utenti o avvii una nuova campagna di marketing, vuoi assicurarti di fare tutto nel modo giusto. Il test A/B può aiutarti a trovare la formulazione e la presentazione ottimali testando le varianti dei messaggi su porzioni selezionate della tua base utenti. Che il tuo obiettivo sia una migliore fidelizzazione o la conversione di un'offerta, il test A/B può eseguire un'analisi statistica per determinare se una variante del messaggio ha un rendimento migliore rispetto alla baseline 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 che utilizza il compositore di 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 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 Coinvolgimento della barra di navigazione della console 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 sperimentare.

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

  5. Compila i campi Targeting, scegliendo prima l'app che utilizza l'esperimento. Puoi anche scegliere come target un sottoinsieme dei tuoi utenti per partecipare all'esperimento scegliendo opzioni che includono quanto segue:

    • Versione:una o più versioni della tua app
    • 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
    • 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 nell'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 dividere equamente tra la baseline e una o più varianti dell'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 base nel campo Inserisci il testo del messaggio. Per non inviare alcun messaggio al gruppo di base, 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 per sostituire i nomi Variante A, Variante B e così via.

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

  11. Scegli le opzioni per il tuo messaggio:

    • Data di pubblicazione:scegli Invia ora per avviare l'esperimento immediatamente dopo il salvataggio oppure Pianificato per specificare un orario di avvio dell'esperimento in futuro.
    • Opzioni avanzate:per scegliere le opzioni avanzate per tutte le notifiche incluse nell'esperimento, espandi Opzioni avanzate e poi modifica una delle opzioni di messaggio elencate.
  12. 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 registrazione FCM associato. Puoi utilizzare questo token per testare varianti specifiche dell'esperimento su un dispositivo di test con la tua app installata. Per convalidare l'esperimento su un dispositivo di test:

  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

    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.

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 monitorarne l'avanzamento e visualizzare i risultati ottenuti finora per gli utenti che hanno partecipato 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 fai clic 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 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 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

Dopo che un esperimento è stato eseguito per un periodo di tempo sufficiente a ottenere 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.
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 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, specificata in giorni.

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 potrebbero 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 abbia aggiunto nuovi acquisti in-app alla tua app e voglia confrontare l'efficacia di due diversi messaggi di "sollecito". In questo caso, potresti decidere di impostare Entrate da acquisto come metrica obiettivo perché vuoi che la variante vincente rappresenti la notifica che ha generato le entrate da acquisto in-app più elevate. Poiché vuoi anche monitorare quale variante ha generato più conversioni future e utenti fidelizzati, puoi aggiungere quanto segue in Altre metriche da monitorare:

  • Entrate totali stimate per vedere la differenza tra le due varianti in termini di entrate combinate generate da acquisti in-app e pubblicità
  • Fidelizzazione (1 giorno), Fidelizzazione (2-3 giorni), Fidelizzazione (4-7 giorni) per monitorare la fidelizzazione giornaliera/settimanale degli utenti

Le tabelle seguenti forniscono dettagli su come vengono calcolate le metriche degli obiettivi e altre metriche.

Metriche 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, ti consigliamo di 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 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. 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 unico 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 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 baseline), 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