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 utenti attiva, devi assicurarti di farlo nel modo giusto. 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 non si rendono conto che i loro utenti non apprezzano una nuova funzionalità o un'esperienza utente aggiornata finché la valutazione della loro app nell'app store non diminuisce. A/B Testing può aiutarti a misurare se gli 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 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 A/B Testing, 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. Gestisci l'esperimento.

Crea un esperimento

Un esperimento Remote Config ti consente di valutare più varianti su uno o più Remote Config parametri.

  1. 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 attivarla nella scheda Integrazioni > Impostazioni della console Firebase.

  2. Nella console Firebase, vai a DevOps e coinvolgimento > A/B Testing.

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

  4. Nella sezione Varianti, scegli una base di riferimento e almeno una variante per l'esperimento. Puoi aggiungere uno o più parametri con cui sperimentare. Puoi ripetere questo passaggio per aggiungere più parametri all'esperimento.

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

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

  7. 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.

  8. Definisci i criteri di targeting per l'esperimento utilizzando le condizioni Remote Config:

    • Riutilizza una condizione esistente:se una condizione esistente nel modello Remote Config corrisponde già al tuo pubblico di destinazione, selezionala dall'elenco.

    • Verifica l'ordine di valutazione delle condizioni:assicurati che le condizioni nella pagina Condizioni siano organizzate nell'ordine di priorità corretto. Poiché Remote Config valuta le condizioni in sequenza dall'alto verso il basso, altre condizioni con priorità più elevata possono impedire a un numero sufficiente di utenti di raggiungere la condizione associata al tuo esperimento.

    • Crea una nuova condizione: se nessuna condizione esistente soddisfa i tuoi requisiti di targeting o se preferisci duplicare una condizione esistente (ad esempio, se preferisci non utilizzare una condizione già utilizzata da altri parametri), crea una nuova condizione scegliendo prima l'app che utilizza l'esperimento. Se crei una condizione separata o duplicata per un esperimento, assicurati che la nuova condizione abbia una priorità superiore rispetto a quella esistente; in caso contrario, gli utenti corrispondono prima alla condizione esistente e nessuno verrà incluso nell'esperimento.

      Puoi quindi scegliere come target un sottoinsieme specifico di utenti facendo clic su e e selezionando una o più opzioni dall'elenco seguente:

      • Versione: una o più versioni della tua app
      • Numero di build:il numero di build (Apple) o il codice versione (Android) della tua app
      • Piattaforma:una o più piattaforme (iOS, Android o web) da scegliere come target
      • Sistema operativo: scegli come target gli utenti delle app web in base al sistema operativo e alla versione
      • Browser: scegli come target gli utenti di app web in base al browser web e alla versione del browser
      • Categoria dispositivo:scegli come target gli utenti di app web in base al fatto che il loro dispositivo sia mobile o non mobile
      • 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
      • Utente in percentuale casuale:scegli come target una percentuale di utenti selezionata in modo casuale all'interno di un intervallo percentile definito
      • Segmento importato:scegli come target gli utenti che appartengono a segmenti personalizzati importati caricati nel tuo progetto
      • Data/ora:scegli come target gli utenti in base a un intervallo di tempo specificato
      • Prima apertura:scegli come target gli utenti in base alla prima volta che hanno aperto la tua app
      • ID installazione:scegli come target dispositivi di test o istanze client specifici utilizzando i relativi ID installazione Firebase (FID)
      • L'utente esiste:ha come target tutti gli utenti in tutte le app del progetto
      • Indicatore personalizzato:scegli come target gli utenti in base agli indicatori lato client personalizzati chiave-valore passati in fase di runtime
  9. Imposta l'esposizione: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% e 100%. Gli utenti vengono assegnati in modo casuale a ogni esperimento, inclusi quelli duplicati.

  10. (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

    L'evento Analytics che selezioni come evento di attivazione non deve essere utilizzato anche come metrica principale (o come metrica aggiuntiva) nello stesso esperimento. In questo modo, verrà generato un errore di convalida nella console Firebase e l'esperimento non verrà avviato.

  11. Per gli obiettivi dell'esperimento, seleziona la metrica principale da monitorare e aggiungi eventuali altre metriche da monitorare dall'elenco. Questi includono obiettivi integrati (acquisti, entrate, fidelizzazione, utenti senza arresti anomali e così via), eventi di conversione Analytics e altri eventi Analytics. Al termine, fai clic su Avanti.

  12. Fai clic su Salva per salvare l'esperimento. Devi pubblicare il modello per iniziare a eseguire l'esperimento.

Sono consentiti fino a 300 esperimenti per progetto (inclusi i rollout), che potrebbero consistere in un massimo di 24 esperimenti e rollout in esecuzione, mentre il resto è costituito da esperimenti completati.

Gestisci l'esperimento

Quando crei un esperimento con Remote Config, puoi avviarlo, 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.

Modificare un esperimento

  1. Nella sezione DevOps e coinvolgimento del menu di navigazione della console Firebase, fai clic su Remote Config.
  2. Fai clic sulla scheda Test A/B.
  3. Fai clic su In esecuzione e poi su un esperimento che vuoi modificare.
  4. Fai clic sul menu contestuale () e poi su Modifica esperimento in esecuzione.
  5. Per verificare che la tua app abbia utenti che verrebbero inclusi nell'esperimento, espandi i dettagli e controlla che nella sezione Targeting e distribuzione sia presente un numero superiore a 0% (ad esempio, 1% degli utenti che corrispondono ai criteri).

Monitorare un esperimento

Dopo un po' di tempo dall'avvio di un esperimento, puoi monitorarne l'avanzamento e vedere l'aspetto dei risultati per gli utenti che hanno partecipato all'esperimento finora.

  1. Nella sezione DevOps e coinvolgimento del menu di navigazione della console Firebase, fai clic su Remote Config.
  2. Fai clic sulla scheda Test A/B.
  3. 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 relative all'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 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".
  4. Dopo che l'esperimento è stato eseguito per un po' di tempo (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 abbastanza lungo da fornire una variante "ottimale", o la variante migliore, per la metrica dell'obiettivo, puoi implementare 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 rilasciarne una per tutti i tuoi utenti.

  1. Nella sezione DevOps e coinvolgimento del menu di navigazione della console Firebase, fai clic su Remote Config.
  2. Fai clic sulla scheda Test A/B.
  3. 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.
  4. Implementa l'esperimento per tutti gli utenti nel seguente modo:
    • 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.

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 DevOps e coinvolgimento del menu di navigazione della console Firebase, fai clic su Remote Config.
  2. Fai clic sulla scheda Test A/B.
  3. Seleziona l'esperimento in esecuzione che vuoi modificare.
  4. Nella Panoramica dell'esperimento, fai clic sul menu contestuale () e poi su Modifica esperimento in esecuzione.
  5. 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à implementato per la percentuale di utenti che hai specificato.

Duplicare un esperimento

  1. Nella sezione DevOps e coinvolgimento del menu di navigazione della console Firebase, fai clic su Remote Config.
  2. Fai clic sulla scheda Test A/B.
  3. Seleziona l'esperimento in esecuzione o completato che vuoi interrompere.
  4. 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.

Interrompere un esperimento

  1. Nella sezione DevOps e coinvolgimento del menu di navigazione della console Firebase, fai clic su Remote Config.
  2. Fai clic sulla scheda Test A/B.
  3. Seleziona l'esperimento in esecuzione o completato che vuoi interrompere.
  4. Fai clic su Completato o In esecuzione, tieni il puntatore sopra l'esperimento, fai clic sul menu contestuale () e poi fai clic su Interrompi esperimento.

Identificazione del client web e persistenza degli esperimenti

Quando un utente avvia un'applicazione web utilizzando Firebase A/B Testing in un browser per la prima volta, viene generato un ID installazione Firebase (FID) univoco. Questo FID viene memorizzato in modo permanente in IndexedDB del browser per identificare l'istanza dell'app tra le sessioni.

Firebase A/B Testing utilizza l'FID per assegnare gli utenti alle varianti dell'esperimento, mentre Google Analytics lo utilizza per l'aggregazione degli eventi per misurare e analizzare il comportamento degli utenti all'interno di ogni variante.

Poiché FID è memorizzato in IndexedDB, Firebase A/B Testing considera un utente come nuovo utente se accede alla tua app da un browser diverso o in una finestra di navigazione in incognito oppure se svuota IndexedDB del browser. Ciò significa che un utente potrebbe essere incluso in diverse varianti dell'esperimento quando utilizza browser o sessioni di navigazione diversi.

Targeting per utenti

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

Nella console Firebase sono supportati i seguenti tipi di regole. Funzionalità equivalenti sono disponibili nell'API REST Remote Config, come descritto nel riferimento alle espressioni condizionali.

Tipo di regola Operatore/i Valori Nota
App == Seleziona un ID app da un elenco di app associate al tuo progetto Firebase. Quando aggiungi un'app a Firebase, inserisci un ID pacchetto o un nome del pacchetto Android che definisce un attributo esposto come ID app nelle regole di Remote Config.

Utilizza questo attributo nel seguente modo:
  • Per le piattaforme Apple:utilizza CFBundleIdentifier dell'app. Puoi trovare l'identificatore bundle nella scheda Generale per il target principale dell'app in Xcode.
  • Per Android:utilizza l'applicationId dell'app. Puoi trovare applicationId nel file build.gradle(.kts) a livello di app.
Versione dell'app Per i valori stringa:
corrisponde esattamente,
contiene,
non contiene,
contiene l'espressione regolare

Per i valori numerici:
<, <=, =, !=, >, >=

Specifica le versioni della tua app da scegliere come target.

Prima di utilizzare questa regola, devi utilizzare una regola ID app per selezionare un'app Android/Apple associata al tuo progetto Firebase.

Per le piattaforme Apple:utilizza CFBundleShortVersionString dell'app.

Nota:assicurati che la tua app Apple utilizzi l'SDK Firebase per le piattaforme Apple versione 6.24.0 o successive, in quanto CFBundleShortVersionString non viene inviato nelle versioni precedenti (vedi le note di rilascio).

Per Android:utilizza versionName dell'app.

I confronti tra stringhe per questa regola sono sensibili alle maiuscole. Quando utilizzi l'operatore corrisponde esattamente, contiene, non contiene o contiene espressione regolare, puoi selezionare più valori.

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.

Numero build Per i valori stringa:
corrispondenza esatta,
contiene,
non contiene,
espressione regolare

Per i valori numerici:
=, ≠, >, ≥, <, ≤

Specifica le build della tua app da scegliere come target.

Prima di utilizzare questa regola, devi utilizzare una regola ID app per selezionare un'app Apple o un'app per Android associata al tuo progetto Firebase.

Questo operatore è disponibile solo per le app Apple e Android. Corrisponde a CFBundleVersion per Apple e versionCode per Android. I confronti tra stringhe per questa regola sono sensibili alle maiuscole.

Quando utilizzi gli operatori corrisponde esattamente, contiene, non contiene o contiene espressione regolare, puoi selezionare più valori.

Quando utilizzi l'operatore contiene espressione regolare, 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 gli ancoraggi ^ e $ per trovare una corrispondenza con l'inizio, la fine o l'intera stringa di destinazione.

Piattaforma == iOS
Android
Web
 
Sistema operativo ==

Specifica i sistemi operativi di destinazione.

Prima di utilizzare questa regola, devi utilizzare una regola ID app per selezionare un'app web associata al tuo progetto Firebase.

Questa regola restituisce true per una determinata istanza di app web se il sistema operativo e la relativa versione corrispondono a un valore target nell'elenco specificato.
Browser ==

Specifica i browser da scegliere come target.

Prima di utilizzare questa regola, devi utilizzare una regola ID app per selezionare un'app web associata al tuo progetto Firebase.

Questa regola restituisce true per una determinata istanza di app web se il browser e la relativa versione corrispondono a un valore target nell'elenco specificato.
Categoria dispositivo è, non è dispositivo mobile Questa regola valuta se il dispositivo che accede alla tua app web è mobile o non mobile (computer o console). Questo tipo di regola è disponibile solo per le app web.
Lingue è in Seleziona una o più lingue. Questa regola restituisce true per una determinata istanza dell'app se l'istanza dell'app è installata su un dispositivo che utilizza una delle lingue elencate.
Paese/regione è in Seleziona una o più regioni o paesi. Questa regola restituisce il valore true per una determinata istanza dell'app se l'istanza si trova in una delle regioni o dei paesi elencati. Il codice paese del dispositivo viene determinato utilizzando l'indirizzo IP del dispositivo nella richiesta o il codice paese determinato da Firebase Analytics (se i dati di Analytics vengono condivisi con Firebase).
Segmenti di pubblico Include almeno un elemento Seleziona uno o più segmenti di pubblico Google Analytics da un elenco che hai configurato per il tuo progetto.

Questa regola richiede una regola ID app per selezionare un'app associata al tuo progetto Firebase.

Nota:poiché molti segmenti di pubblico Analytics sono definiti da eventi o proprietà utente, che possono essere basati sulle azioni degli utenti dell'app, potrebbe essere necessario del tempo prima che una regola Utente nel segmento di pubblico diventi effettiva per una determinata istanza dell'app. Ciò significa che, anche se un utente soddisfa tecnicamente i requisiti per un segmento di pubblico, se Analytics non ha ancora aggiunto l'utente al segmento di pubblico quando viene eseguito fetchAndActivate(), l'utente non corrisponderà alla condizione.

Proprietà utente Per i valori stringa:
contiene,
non contiene,
corrisponde esattamente,
contiene l'espressione regolare

Per i valori numerici:
=, ≠, >, ≥, <, ≤

Nota: sul client puoi impostare solo valori stringa per le proprietà utente. Per le condizioni che utilizzano operatori numerici, Remote Config converte il valore della proprietà utente corrispondente in un numero intero/in virgola mobile.
Seleziona un'opzione da un elenco di proprietà utente Google Analytics disponibili. Per scoprire come utilizzare le proprietà utente per personalizzare l'app per segmenti molto specifici della tua base utenti, consulta Remote Config e proprietà utente.

Per saperne di più sulle proprietà utente, consulta le seguenti guide:

Quando utilizzi gli operatori corrisponde esattamente, contiene, non contiene o contiene espressione regolare, puoi selezionare più valori.

Quando utilizzi l'operatore contiene espressione regolare, 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 gli ancoraggi ^ e $ per trovare una corrispondenza con l'inizio, la fine o l'intera stringa di destinazione.

Nota:le proprietà utente raccolte automaticamente non sono disponibili quando crei condizioni Remote Config.
Utente in percentuale casuale Cursore (nella console Firebase). L'API REST utilizza gli operatori <=, > e between. 0-100

Utilizza questo campo per applicare una modifica a un campione casuale di istanze dell'app (con dimensioni del campione anche dello 0,0001%), utilizzando il widget cursore per segmentare in modo casuale gli utenti (istanze dell'app) in gruppi.

Ogni istanza dell'app viene mappata in modo permanente a un numero intero o frazionario casuale, in base a un seed definito nel progetto.

Una regola utilizzerà la chiave predefinita (mostrata come Modifica seme nella console Firebase) a meno che tu non modifichi il valore del seme. Puoi ripristinare l'utilizzo della chiave predefinita per una regola deselezionando il campo Seed.

Per indirizzare in modo coerente le stesse istanze dell'app all'interno di intervalli di percentuale specifici, utilizza lo stesso valore di seed in tutte le condizioni. In alternativa, seleziona un nuovo gruppo di istanze dell'app assegnato in modo casuale per un determinato intervallo di percentuale specificando un nuovo seed.

Ad esempio, per creare due condizioni correlate che si applicano ciascuna a una percentuale non sovrapposta del 5% degli utenti di un'app, puoi configurare una condizione in modo che corrisponda a una percentuale compresa tra lo 0% e il 5% e un'altra condizione in modo che corrisponda a un intervallo compreso tra il 5% e il 10%. Per consentire ad alcuni utenti di apparire in modo casuale in entrambi i gruppi, utilizza valori iniziali diversi per le regole all'interno di ogni condizione.

Segmento importato è in Seleziona uno o più segmenti importati. Questa regola richiede la configurazione di segmenti importati personalizzati.
Data/Ora Before, After Una data e un'ora specificate, nel fuso orario del dispositivo o in un fuso orario specificato, ad esempio "(GMT+11) Sydney time". Confronta l'ora attuale con l'ora di recupero del dispositivo.
Prima apertura Before, After

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 effettuano la prima apertura della tua app entro l'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 per Android, iOS o web.

Richiede i seguenti SDK:

  • SDK Firebase per Google Analytics
  • SDK per piattaforme Apple 9.0.0 o versioni successive o SDK Android 21.1.1 o versioni successive (Firebase BoM 30.3.0 o versioni successive) e SDK JavaScript 12.8.0 o versioni successive.

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

ID di installazione è in Specifica uno o più ID installazione (fino a 50) da scegliere come target. Questa regola restituisce true per una determinata installazione se l'ID dell'installazione è presente nell'elenco separato da virgole di valori.

Per scoprire come ottenere gli ID installazione, consulta Recuperare gli identificatori client.
Utente esistente (nessun operatore) Ha come target tutti gli utenti di tutte le app all'interno del progetto corrente.

Utilizza questa regola di condizione per trovare tutti gli utenti all'interno del progetto, indipendentemente dall'app o dalla piattaforma.

Indicatore personalizzato Per i valori stringa:
contiene,
non contiene,
corrisponde esattamente,
contiene l'espressione regolare

Per i valori numerici:
=, ≠, >, ≥, <, ≤

Per i valori di versione:
=, ≠, >, ≥, <, ≤

I confronti tra stringhe per questa regola sono sensibili alle maiuscole. Quando utilizzi l'operatore corrisponde esattamente, contiene, non contiene o contiene espressione regolare, puoi selezionare più valori. Quando utilizzi l'operatore di espressione regolare contains, 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 gli ancoraggi ^ e $ per trovare una corrispondenza con l'inizio, la fine o l'intera stringa di destinazione.

Per gli ambienti client sono supportati i seguenti tipi di dati:
  • iOS: int, double
  • Android: int, long, double
  • Web: numero

Numero che rappresenta i numeri di versione da corrispondere (ad esempio, 2.1.0).

Per saperne di più sulle condizioni degli indicatori personalizzati e sulle espressioni condizionali da utilizzare, consulta Condizioni degli indicatori personalizzati ed Elementi utilizzati per creare le condizioni.

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 differire 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 che tu voglia anche monitorare la stabilità e la fidelizzazione degli utenti di ogni variante. In questo caso, potresti prendere in considerazione la scelta di Entrate totali stimate come metrica obiettivo, perché include le entrate generate dagli acquisti in-app e quelle pubblicitarie. Per Altre metriche da monitorare, potresti aggiungere le seguenti:

  • Per monitorare la fidelizzazione degli utenti giornaliera e settimanale, aggiungi Fidelizzazione utenti (2-3 giorni) e Fidelizzazione utenti (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 nella tua app rilevati dall'SDK Firebase Crashlytics durante l'esperimento.

Nota:Firebase Crashlytics non è supportato per le applicazioni web.

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 ogni giorno.
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 la prima volta che un utente apre un'app dopo averla installata o reinstallata. Utilizzato nell'ambito di un funnel 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.

Questa metrica non è supportata per le applicazioni web.

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 degli esperimenti A/B Testing nella console Firebase, puoi esaminarli e analizzarli in BigQuery. Anche se A/B Testing non ha 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 (in base 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

Attiva 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 saperne di più, consulta la sezione Prezzi e sandbox BigQuery.

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

  1. Nella console Firebase, vai a Impostazioni > scheda Integrazioni.

  2. Nella scheda BigQuery, fai clic su Gestisci e verifica che il tuo progetto esporti i dati Analytics in BigQuery.

    Se sulla scheda è presente il pulsante Collega, devi configurare l'esportazione (continua con il passaggio successivo).

  3. Se devi configurare l'esportazione:

    1. Leggi Informazioni sul collegamento di Firebase a BigQuery, poi fai clic su Avanti.

    2. Nella sezione Configura integrazione, attiva Google Analytics.

    3. Seleziona una regione e scegli le impostazioni di esportazione.

    4. 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 ulteriori informazioni 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 Google Analytics giornalieri che contengono i dati dell'esperimento, ovvero le tabelle identificate con il suffisso YYYYMMDD. Pertanto, se l'esperimento è stato eseguito dal 2 febbraio 2024 al 2 maggio 2024, devi specificare un valore di _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. Nella console Google Cloud, vai a BigQuery.
  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. Nella console Firebase, vai a DevOps e coinvolgimento > A/B Testing.
  2. Seleziona l'esperimento A/B Testing per cui vuoi eseguire una query per aprire la Panoramica dell'esperimento.
  3. Nel menu Opzioni, sotto Integrazione BigQuery, seleziona Esegui query sui dati dell'esperimento. Il progetto si apre in BigQuery all'interno 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) denominate "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.

Esplora 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 somma le entrate totali degli eventi in_app_purchase e ecommerce_purchase e le deviazioni standard per tutti gli esperimenti nell'intervallo di tempo specificato come date di inizio e fine _TABLE_SUFFIX. Puoi utilizzare i dati ottenuti da questa query con un generatore di significatività statistica per test t 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 la pagina 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