Crea experimentos de Firebase Remote Config con A/B Testing

Cuando uses Firebase Remote Config para implementar parámetros de configuración en una aplicación con una base de usuarios activa, debes asegurarte de hacerlo correctamente. Puedes usar los experimentos de A/B Testing para determinar mejor lo siguiente:

  • La mejor forma de implementar una función para optimizar la experiencia del usuario. Muy a menudo, los desarrolladores de apps no se enteran cuando a los usuarios no les gusta una función nueva o una experiencia del usuario actualizada hasta que disminuye la calificación de la app en la tienda de aplicaciones. Las pruebas A/B pueden ayudarte a saber si a los usuarios les gustan las nuevas variantes de las funciones o si prefieren la app como es. Además, tener a la mayoría de los usuarios en un grupo de modelo de referencia garantiza que la mayor parte de ellos puedan continuar usando la app sin ver cambios en el comportamiento o la apariencia hasta que finalice el experimento.
  • La mejor manera de optimizar la experiencia del usuario para lograr un objetivo comercial. En algunos casos, implementas cambios de productos para maximizar métricas, como los ingresos o la retención. Con las pruebas A/B, configuras un objetivo comercial y Firebase ejecuta el análisis estadístico para determinar si el rendimiento de la variante supera el del modelo de referencia para el objetivo que seleccionaste.

Para hacer pruebas A/B en variantes de funciones con un modelo de referencia, sigue estos pasos:

  1. Crea el experimento.
  2. Valida el experimento en un dispositivo de prueba.
  3. Administra el experimento.

Crea un experimento

Un experimento de Remote Config te permite evaluar múltiples variantes de uno o más parámetros de Remote Config.

  1. Accede a Firebase console y verifica que Google Analytics esté habilitado en tu proyecto para que el experimento tenga acceso a los datos de Analytics.

    Si no habilitaste Google Analytics cuando creaste tu proyecto, puedes hacerlo en la pestaña Integraciones que se encuentra en la sección > Configuración del proyecto de Firebase console.

  2. En la sección Participación del menú de navegación de Firebase console, haz clic en A/B Testing.

  3. Haz clic en Crear experimento y selecciona Remote Config cuando se te pida que elijas el servicio con el que deseas experimentar.

  4. Ingresa un Nombre y una Descripción opcional para tu experimento, luego, haz clic en Siguiente.

  5. Completa los campos de Segmentación. Para ello, selecciona primero la app que usa el experimento. Para limitar el experimento a un subconjunto de tus usuarios, haz clic en y; luego, selecciona algunas opciones de esta lista:

    • Versión: una o más versiones de tu app
    • Número de compilación: el código de la versión de la app
    • Idiomas: uno o más idiomas y parámetros de configuraciones locales que se usan para seleccionar a los usuarios del experimento
    • País o región: uno o más países o regiones para seleccionar usuarios que se podrían incluir en el experimento
    • Públicos de usuarios: públicos de Analytics que se usan para segmentar a usuarios que se podrían incluir en el experimento
    • Propiedad del usuario: una o más propiedades de usuario de Analytics para seleccionar usuarios que se podrían incluir en el experimento
    • Primer acceso: se orienta a los usuarios según la fecha en la que abrieron la app por primera vez

      La segmentación de los usuarios según el momento del primer acceso está disponible después de que selecciones una app para iOS o Android y es compatible con las siguientes versiones del SDK de Remote Config: versiones 9.0.0 o superiores del SDK para plataformas de Apple y versiones 21.1.1 o superiores del SDK de Android (versiones 30.3.0 o superiores de Firebase BoM).

      Analytics también debe estar habilitado en el cliente durante el evento de primer acceso.

  6. En Porcentaje de los usuarios de destino, ingresa el porcentaje de la base de usuarios de tu app que coincide con los criterios configurados en Usuarios de destino y que quieres dividir en partes iguales entre el modelo de referencia y una o más variantes del experimento. Puede ser cualquier porcentaje entre el 0.01% y el 100%. Los usuarios se asignan de forma aleatoria a cada experimento, incluidos los experimentos duplicados.

  7. De manera opcional, configura un evento de activación para asegurarte de que solo se incluyan en el experimento los datos de los usuarios que activaron algún evento de Analytics en primer lugar. Ten en cuenta que todos los usuarios que coincidan con tus parámetros de segmentación recibirán valores experimentales de Remote Config, pero solo se incluirán en los resultados del experimento quienes ejecuten un evento de activación.

    Para garantizar un experimento válido, asegúrate de que el evento que elijas ocurra después de que tu app active los valores de configuración recuperados. Además, no se pueden usar los siguientes eventos porque siempre ocurren antes de que se activen los valores recuperados:

    • app_install
    • app_remove
    • app_update
    • dynamic_link_first_open
  8. En Objetivos del experimento, selecciona la métrica principal de la que deseas hacer un seguimiento y agrega cualquier métrica adicional que desees seguir de la lista. Estas incluyen objetivos integrados (compras, ingresos, retención, usuarios que no experimentaron fallas, etc.), eventos de conversión de Analytics y otros eventos de Analytics. Cuando termines, haz clic en Siguiente.

  9. En la sección Variantes, elige un modelo de referencia y al menos una variante del experimento. Usa la lista Seleccionar o crear parámetro nuevo para agregar uno o más parámetros para experimentar. Puedes crear un parámetro que no se haya usado antes en Firebase console, pero debe existir en la app para que tenga efecto. Puedes repetir este paso para agregar múltiples parámetros al experimento.

  10. Opcionalmente, si deseas agregar más de una variante al experimento, haz clic en Agregar otra variante.

  11. Cambia uno o más parámetros de variantes específicas. Todos los parámetros sin modificar serán los mismos para los usuarios que no se incluyan en el experimento.

  12. Expande Ponderaciones de las variantes para ver o cambiar las ponderaciones de variantes del experimento. De forma predeterminada, cada variante tiene la misma ponderación. Ten en cuenta que las ponderaciones desiguales pueden aumentar el tiempo de recopilación de datos y las ponderaciones no se pueden cambiar después de que comienza el experimento.

  13. Haz clic en Revisar para guardar el experimento.

Se permiten hasta 300 experimentos por proyecto, que pueden incluir hasta 24 experimentos en ejecución, y que el resto sean borradores o estén completos.

Valida el experimento en un dispositivo de prueba

Puedes recuperar el token de autenticación asociado a cada instalación de Firebase. Puedes usar este token para probar variantes de experimento específicas en un dispositivo de prueba que tenga instalada tu app. Para validar el experimento en un dispositivo de prueba, haz lo siguiente:

  1. Obtén el token de autenticación de la instalación de la siguiente manera:

    Swift

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

    Objective-C

    [[FIRInstallations installations] authTokenForcingRefresh:true
                                                   completion:^(FIRInstallationsAuthTokenResult *result, NSError *error) {
      if (error != nil) {
        NSLog(@"Error fetching Installation token %@", error);
        return;
      }
      NSLog(@"Installation auth token: %@", [result authToken]);
    }];
    

    Java

    FirebaseInstallations.getInstance().getToken(/* forceRefresh */true)
            .addOnCompleteListener(new OnCompleteListener<InstallationTokenResult>() {
        @Override
        public void onComplete(@NonNull Task<InstallationTokenResult> task) {
            if (task.isSuccessful() && task.getResult() != null) {
                Log.d("Installations", "Installation auth token: " + task.getResult().getToken());
            } else {
                Log.e("Installations", "Unable to get Installation auth token");
            }
        }
    });

    Kotlin+KTX

    val forceRefresh = true
    FirebaseInstallations.getInstance().getToken(forceRefresh)
        .addOnCompleteListener { task ->
            if (task.isSuccessful) {
                Log.d("Installations", "Installation auth token: " + task.result?.token)
            } else {
                Log.e("Installations", "Unable to get Installation auth token")
            }
        }

    C++

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

    Unity

    Firebase.Installations.FirebaseInstallations.DefaultInstance.GetTokenAsync(forceRefresh: true).ContinueWith(
      task => {
        if (!(task.IsCanceled || task.IsFaulted) && task.IsCompleted) {
          UnityEngine.Debug.Log(System.String.Format("Installations token {0}", task.Result));
        }
      });
    
  2. En la barra de navegación de Firebase console, haz clic en A/B Testing.
  3. Haz clic en Borrador (o En ejecución para experimentos de Remote Config), coloca el cursor sobre el experimento, haz clic en el menú contextual () y, luego, en Administrar dispositivos de prueba.
  4. Ingresa el token de autenticación de instalación de un dispositivo de prueba y elige la variante de experimento que se enviará a ese dispositivo.
  5. Ejecuta la app y confirma que el dispositivo de prueba reciba la variante seleccionada.

Para obtener más información sobre las instalaciones de Firebase, consulta Administra las instalaciones de Firebase.

Administra el experimento

Si creas un experimento con Remote Config, el Compositor de Notifications o Firebase In-App Messaging, puedes validar y comenzar el experimento, supervisarlo mientras se ejecuta y aumentar la cantidad de usuarios incluidos en ese experimento en ejecución.

Una vez finalizado el experimento, puedes tomar nota de la configuración de la variante ganadora y luego implementarla para todos los usuarios. También tienes la posibilidad de ejecutar otro experimento.

Inicia un experimento

  1. En la sección Participación del menú de navegación de Firebase console, haz clic en A/B Testing.
  2. Haz clic en Borrador y, luego, en el título del experimento.
  3. Para validar que tu app tenga usuarios que se incluirían en el experimento, expande los detalles del borrador y verifica si hay una cantidad mayor que el 0% en la sección Segmentación y distribución (por ejemplo, el 1% de los usuarios coincide con los criterios).
  4. Para modificar el experimento, haz clic en Editar.
  5. Para comenzar, haz clic en Iniciar experimento. Puedes ejecutar hasta 24 experimentos por proyecto a la vez.

Supervisa un experimento

Después de que el experimento se ejecute por un tiempo, podrás verificar el progreso y ver los resultados para los usuarios que participaron hasta ahora.

  1. En la sección Participación del menú de navegación de Firebase console, haz clic en A/B Testing.
  2. Haz clic en En ejecución y, luego, haz clic en el título del experimento o búscalo. En esta página, puedes ver varias estadísticas observadas y modeladas sobre el experimento en ejecución, incluidas las siguientes:

    • Porcentaje de diferencia con respecto al modelo de referencia: corresponde a una medida de la mejora en la métrica de una variante dada en comparación con el valor de referencia. Se calcula comparando el rango de valores para la variante y el rango de valores del punto de referencia.
    • Probabilidad de superar el valor de referencia: probabilidad estimada de que una variante dada supere el valor de referencia para la métrica seleccionada.
    • observed_metric por usuario: este valor se calcula a partir de los resultados del experimento y corresponde al rango predicho en el que caerá el valor de la métrica con el tiempo.
    • Total observed_metric: es el valor acumulado observado para el valor de referencia o la variante. Se usa para medir el rendimiento de cada variante del experimento y calcular la mejora, el rango de valores, la probabilidad de superar el valor de referencia y la probabilidad de ser la mejor variante. Según la métrica que se mida, esta columna podría tener la etiqueta “Duración por usuario”, “Ingresos por usuario”, “Tasa de retención” o “Porcentaje de conversiones”.
  3. Después de que el experimento se ejecuta por un tiempo (al menos 7 días en el caso de FCM y In-App Messaging, o 14 días para Remote Config), los datos de esta página indican qué variante es la “líder” (si hay alguna). Algunas mediciones incluyen un gráfico de barras que presenta los datos de manera visual.

Lanza un experimento para todos los usuarios

Después de que un experimento se ejecuta por un tiempo suficiente para encontrar una variante "líder" o ganadora para la métrica objetivo, puedes lanzar el experimento en la totalidad de los usuarios. Esto te permite seleccionar una variante y publicarla para todos los usuarios en el futuro. Incluso si no se consiguió una variante ganadora clara por medio del experimento, puedes implementar una variante en todos los usuarios.

  1. En la sección Participación del menú de navegación de Firebase console, haz clic en A/B Testing.
  2. Haz clic en Completados o En ejecución, en el experimento que quieres lanzar para todos los usuarios y en el menú contextual () Implementa la variante.
  3. Para implementar el experimento en todos los usuarios, sigue uno de estos métodos:

    • En el caso de un experimento que usa el Compositor de Notifications, utiliza el diálogo Lanzar mensaje para enviar el mensaje a los usuarios segmentados restantes que no formaban parte del experimento.
    • En el caso de un experimento de Remote Config, selecciona una variante para determinar qué valores de parámetros de Remote Config se deben actualizar. Los criterios de segmentación definidos cuando se creó el experimento se agregan como una condición nueva en tu plantilla para garantizar que el lanzamiento solo afecte a los usuarios para los que se segmenta el experimento. Después de hacer clic en Revisar en Remote Config para ver las modificaciones, haz clic en Publicar cambios para completar el lanzamiento.
    • En el caso de un experimento de In-App Messaging, usa el diálogo para determinar qué Esta variante debe lanzarse como una campaña independiente de In-App Messaging. Cuando la selecciones, se te redireccionará a la pantalla de redacción de FIAM para realizar cambios (si es necesario) antes de publicar.

Expande un experimento

Si descubres que un experimento no atrae a suficientes usuarios a A/B Testing como para declarar un liderazgo, puedes aumentar la distribución del experimento para alcanzar a un porcentaje mayor de la base de usuarios de la app.

  1. En la sección Participación del menú de navegación de Firebase console, haz clic en A/B Testing.
  2. Selecciona el experimento en ejecución que quieres editar.
  3. En la descripción general del experimento, haz clic en el menú contextual () y, luego, en Editar experimento en ejecución.
  4. En el diálogo Segmentación, se muestra una opción para aumentar el porcentaje de usuarios incluidos en el experimento en ejecución. Selecciona una cantidad mayor que el porcentaje actual y haz clic en Publicar. Se enviará el experimento al porcentaje de usuarios especificado.

Duplica o detén un experimento

  1. En la sección Participación del menú de navegación de Firebase console, haz clic en A/B Testing.
  2. Haz clic en Completados o En ejecución, mantén el puntero sobre el experimento, haz clic en el menú contextual () y, luego, en Duplicar experimento o Detener experimento.

Segmentación de usuarios

Puedes elegir los usuarios que incluirás en el experimento con los siguientes criterios de segmentación de usuarios:

Criterio de orientación Operadores Valores Nota
Versión contiene,
no contiene,
coincide exactamente con,
contiene la regex
Ingresa un valor para una o más versiones de la app que deseas incluir en el experimento.

Cuando usas los operadores contiene, no contiene o coincide exactamente con, puedes proporcionar una lista de valores separados por comas.

Cuando usas el operador contiene la regex, puedes crear expresiones regulares en formato RE2. La expresión regular puede buscar una coincidencia total o parcial en la string de la versión objetivo. También puedes usar los delimitadores ^$ para buscar coincidencias en el principio, el final o la totalidad de la string objetivo.

Públicos de usuarios incluye todos los elementos de,
incluye al menos un elemento de,
no incluye ningún elemento de,
no incluye, al menos, un elemento de
Selecciona uno o más públicos de Analytics para elegir a los usuarios del experimento. Algunos experimentos orientados a Google Analytics públicos pueden requerir un días para acumular datos porque están sujetos a Analytics latencia de procesamiento de datos. Es más probable que experimentes este retraso con usuarios nuevos, que suelen estar inscritos en públicos aptos entre 24 y 48 horas después de su creación o para públicos creados recientemente.

En el caso de Remote Config, esto significa que, incluso si un usuario cumple con los requisitos técnicos para un público, si Analytics aún no lo agregó al público cuando se ejecuta “fetchAndActivate()”, no se incluirá al usuario en el experimento.

Propiedad del usuario Para texto:
contiene,
no contiene,
coincide exactamente,
contiene la regex

Para números:
<, ≤, =, ≥, >
Las propiedades del usuario de Analytics se usan para seleccionar a quienes participarán en el experimento, con diversas opciones que permiten elegir los valores de propiedades del usuario.

En el cliente puedes configurar solo valores de strings para las propiedades del usuario. En el caso de las condiciones que usan operadores numéricos, el servicio de Remote Config convierte el valor de la propiedad de usuario correspondiente en un número entero o de punto flotante.
Cuando usas el operador contiene la regex, puedes crear expresiones regulares en formato RE2. La expresión regular puede buscar una coincidencia total o parcial en la string de la versión objetivo. También puedes usar los delimitadores ^ y $ para buscar coincidencias en el principio, el final o la totalidad de la string objetivo.
País/región N/A Uno o más países o regiones que se usan para seleccionar a los usuarios del experimento.  
Idiomas N/A Uno o más idiomas y configuraciones locales que se usan para seleccionar a los usuarios del experimento.  
Primer acceso Antes
Después

Se orienta a los usuarios según la primera vez que abren la app:

  • Selecciona Usuarios nuevos para segmentar a los usuarios que abren tu app por primera vez después de una fecha y hora futuras específicas.
  • Selecciona Intervalo de tiempo para segmentar a usuarios que abren tu app por primera vez dentro del rango antes o después de la fecha y hora que especifiques. Combina las condiciones Antes y Después para segmentar contenido a los usuarios en un intervalo de tiempo específico.

Actualmente, la segmentación de los usuarios según el momento del primer acceso está disponible después de que selecciones una app para iOS o Android y es compatible con las siguientes versiones del SDK de Remote Config: versiones 9.0.0 o superiores del SDK para plataformas de Apple y versiones 21.1.1 o superiores del SDK de Android (versiones 30.3.0 o superiores de Firebase BoM).

Analytics también debe estar habilitado en el cliente durante el evento de primer acceso.

A/B Testing métricas

Cuando crees tu experimento, debes elegir una métrica principal o una objetivo para determinar la variante ganadora. También debes hacer un seguimiento de otras métricas que te permitan comprender mejor el rendimiento de cada variante del experimento y de las tendencias importantes que pueden cambiar entre variantes, como la retención de usuarios, la estabilidad de la app y los ingresos por compras directas desde la aplicación. Puedes realizar el seguimiento de hasta cinco métricas no objetivo en el experimento.

Por ejemplo, supongamos que usas Remote Config para iniciar dos flujos de juego diferentes en tu app y quieres realizar optimizaciones para aumentar las compras directas desde la aplicación y los ingresos publicitarios, pero también quieres hacer un seguimiento de la estabilidad y retención de usuarios de cada variante. En este caso, considera elegir Ingresos totales estimados como tu métrica objetivo porque incluye los ingresos por compras directas desde la aplicación y los ingresos publicitarios y, luego, para Otras métricas a las que puedes hacer un seguimiento, puedes agregar lo siguiente:

  • Para realizar un seguimiento de la retención de usuarios diaria y semanal, agrega Retención (de 2 a 3 días) y Retención (de 4 a 7 días).
  • Para comparar la estabilidad entre los dos flujos del juego, agrega Usuarios que no experimentaron fallas.
  • Si deseas obtener vistas más detalladas de cada tipo de ingresos, agrega Ingresos por compras e Ingresos publicitarios estimados.

En las siguientes tablas, se proporciona información sobre la forma en que se calculan las métricas objetivo y otras métricas.

Métricas de objetivos

Métrica Descripción
Usuarios que no experimentaron fallas Porcentaje de usuarios de la app que no experimentaron errores que detectó el SDK de Firebase Crashlytics durante el experimento.
Ingresos publicitarios estimados Ganancias estimadas que provienen de los anuncios
Ingresos totales estimados Valor combinado de los ingresos por compras y los ingresos publicitarios estimados
Ingresos por compras Valor combinado para todos los eventos purchase y in_app_purchase
Retención (1 día) Cantidad de usuarios que vuelven a la app por día.
Retención (de 2 a 3 días) Cantidad de usuarios que vuelven a la app en un período de 2 a 3 días.
Retención (de 4 a 7 días) Cantidad de usuarios que vuelven a la app en un período de 4 a 7 días.
Retención (de 8 a 14 días) Cantidad de usuarios que vuelven a la app en un período de 8 a 14 días.
Retención (15 días o más) Cantidad de usuarios que vuelven a la app 15 días o más luego de la última vez que la usaron
first_open Evento de Analytics que se activa cuando un usuario abre una app por primera vez después de instalarla o reinstalarla. Se usa como parte de un embudo de conversión.

Otras métricas

Métrica Descripción
notification_dismiss Evento de Analytics que se activa cuando se descarta una notificación enviada por el Compositor de Notifications (solo en Android)
notification_receive Evento de Analytics que se activa cuando se recibe una notificación enviada por el Compositor de Notifications mientras la app se ejecuta en segundo plano (solo en Android)
os_update Evento de Analytics que hace un seguimiento para saber cuándo el sistema operativo del dispositivo se actualiza a una nueva versión. Para obtener más información, consulta Eventos recopilados automáticamente.
screen_view Evento de Analytics que hace un seguimiento de las pantallas visitadas dentro de la app. Para obtener más información, consulta Realiza seguimientos de las vistas de pantallas.
session_start Evento de Analytics que cuenta las sesiones de usuario en la app. Para obtener más información, consulta Eventos recopilados automáticamente.

Exportación de datos de BigQuery

Además de ver los datos del experimento A/B Testing en Firebase console, puedes inspeccionar y analizar los datos de experimentos en BigQuery Si bien A/B Testing no tiene una tabla de experimentos de BigQuery independiente, las membresías de experimentos y variantes se almacenan en cada evento de Google Analytics en las tablas de eventos de Analytics.

Las propiedades del usuario que contienen información del experimento tienen el formato userProperty.key like "firebase_exp_%" o userProperty.key = "firebase_exp_01", en el que 01 es el ID del experimento, y userProperty.value.string_value contiene el índice (basado en cero) de la variante del experimento.

Puedes utilizar estas propiedades de usuario del experimento para extraer datos del experimento. Esto te permite dividir los resultados del experimento de muchas formas y verificar los resultados de A/B Testing de forma independiente.

Para comenzar, completa lo siguiente como se describe en esta guía:

  1. Habilita la exportación de BigQuery para Google Analytics en Firebase console
  2. Accede a los datos de A/B Testing con BigQuery
  3. Explora consultas de ejemplo

Habilita la exportación de BigQuery para Google Analytics en Firebase console

Si tienes el plan Spark, puedes usar la zona de pruebas de BigQuery para acceder a BigQuery sin costo, sujeto a los límites de la zona de pruebas. Consulta los precios y la zona de pruebas de BigQuery para obtener más información.

Primero, asegúrate de que estás exportando los datos de Analytics a BigQuery:

  1. Abre la pestaña Integraciones, que se encuentra en la sección > Configuración del proyecto de Firebase console.
  2. Si ya usas BigQuery con otros servicios de Firebase, haz clic en Administrar. De lo contrario, haz clic en Vincular.
  3. Consulta Información para vincular Firebase a BigQuery y, luego, haz clic en Siguiente.
  4. En la sección Configurar la integración, habilita el botón de activación de Google Analytics.
  5. Selecciona una región y elige la configuración de exportación.

  6. Haz clic en Vincular a BigQuery.

En función de cómo elegiste exportar los datos, las tablas pueden tardar hasta un día en estar disponibles. Si necesitas más información para exportar datos de proyectos a BigQuery, consulta Cómo exportar datos de proyectos a BigQuery.

Accede a los datos de A/B Testing en BigQuery

Antes de consultar datos de un experimento específico, debes obtener algunos o todos los siguientes elementos para usarlos en tu consulta:

  • ID del experimento: Puedes obtenerlo en la URL de la página Descripción general del experimento. Por ejemplo, si la URL es similar a https://console.firebase.google.com/project/my_firebase_project/config/experiment/results/25, el ID del experimento es 25.
  • ID de propiedad de Google Analytics: Este es tu ID de propiedad de Google Analytics de 9 dígitos. Puedes encontrarlo en Google Analytics. También aparece en BigQuery cuando expandes el nombre de tu proyecto para mostrar el nombre de la tabla de eventos de Google Analytics (project_name.analytics_000000000.events).
  • Fecha del experimento: Para redactar una consulta más rápida y eficiente, se recomienda limitar las consultas a las particiones de tablas de eventos diarios de Google Analytics que contienen los datos del experimento, es decir, tablas identificadas con un sufijo YYYYMMDD. Por lo tanto, si el experimento se ejecutó entre el 2 de febrero de 2024 y el 2 de mayo de 2024, debes especificar un _TABLE_SUFFIX between '20240202' AND '20240502'. Para ver un ejemplo, consulta Selecciona los valores de un experimento específico.
  • Nombres de eventos: Por lo general, se corresponden con las métricas de objetivo que configuraste en el experimento. Por ejemplo, eventos in_app_purchase, ad_impression o eventos user_retention.
.

Después de recopilar la información que necesitas para generar tu consulta, haz lo siguiente:

  1. Abre BigQuery en la consola de Google Cloud.
  2. Selecciona tu proyecto y, luego, Crear consulta en SQL.
  3. Agrega tu consulta. Si deseas obtener consultas de ejemplo para ejecutar, lee Explora consultas de ejemplo.
  4. Haz clic en Ejecutar.

Consulta datos del experimento con la consulta generada automáticamente de Firebase console

Si usas el plan Blaze, en la página Descripción general del experimento se proporciona una consulta de muestra que devuelve el nombre del experimento, las variantes, los nombres de los eventos y la cantidad de eventos del experimento que que estás viendo.

Para obtener y ejecutar la consulta generada automáticamente, sigue estos pasos:

  1. En Firebase console, abre A/B Testing y selecciona el experimento de A/B Testing que quieres consultar para abrir la Descripción general del experimento.
  2. En el menú Opciones, debajo de Integración de BigQuery, selecciona Consultar datos del experimento. Esto abrirá tu proyecto en BigQuery en la consola de Google Cloud y proporcionará una consulta básica que puedes usar para consultar los datos de tu experimento.

En el siguiente ejemplo, se muestra una consulta generada para un experimento con tres variantes (incluido el modelo de referencia) llamadas “Experimento de bienvenida de invierno”. Devuelve el nombre del experimento activo, el nombre de la variante, el evento único y el recuento de eventos de cada evento. Ten en cuenta que el compilador de consultas no especifica el nombre de tu proyecto en el nombre de la tabla, ya que se abre directamente en tu proyecto.

  /*
    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

Para ver más ejemplos de consultas, ve a Explora consultas de ejemplo.

Explora consultas de ejemplo

En las siguientes secciones, se proporcionan ejemplos de consultas que puedes usar para extraer datos de experimentos de A/B Testing de las tablas de eventos de Google Analytics.

Extrae los valores de la desviación estándar del experimento y la compra de todos los experimentos

Puedes usar los datos de los resultados del experimento para verificar resultados de Firebase A/B Testing. En la siguiente instrucción de SQL de BigQuery, se extraen las variantes del experimento, la cantidad de usuarios únicos de cada variante y se suman los ingresos totales de los eventos de in_app_purchase y ecommerce_purchase, y las desviaciones estándar de todos los experimentos dentro del período especificado como las fechas de inicio y finalización de _TABLE_SUFFIX. Puedes usar los datos que obtienes de esta consulta con un generador de importancia estadística para pruebas t de una cola para verificar que los resultados que proporciona Firebase coincidan con tu propio análisis.

Si deseas obtener más información sobre cómo A/B Testing calcula la inferencia, consulta Cómo interpretar los resultados de la prueba.

  /*
    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;

Selecciona los valores de un experimento específico

En la siguiente consulta de ejemplo, se muestra cómo obtener datos para un experimento específico en BigQuery. Esta consulta de ejemplo devuelve el nombre del experimento, los nombres de las variantes (incluido el modelo de referencia), los nombres de los eventos y los recuentos de eventos.

  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