Cree experimentos de Firebase Remote Config con pruebas A/B

Cuando usas Firebase Remote Config para implementar configuraciones para una aplicación con una base de usuarios activa, debes asegurarte de hacerlo bien. Puede utilizar experimentos de pruebas A/B para determinar mejor lo siguiente:

  • La mejor manera de implementar una función para optimizar la experiencia del usuario. Con demasiada frecuencia, los desarrolladores de aplicaciones no se enteran de que a sus usuarios no les gusta una nueva característica o una experiencia de usuario actualizada hasta que la calificación de su aplicación en la tienda de aplicaciones disminuye. Las pruebas A/B pueden ayudar a medir si a sus usuarios les gustan las nuevas variantes de funciones o si prefieren la aplicación tal como existe. Además, mantener a la mayoría de sus usuarios en un grupo de referencia garantiza que la mayoría de su base de usuarios pueda continuar usando su aplicación sin experimentar ningún cambio en su comportamiento o apariencia hasta que el experimento haya concluido.
  • La mejor manera de optimizar la experiencia del usuario para un objetivo comercial. A veces estás implementando cambios en el producto para maximizar una métrica como los ingresos o la retención. Con las pruebas A/B, usted establece su objetivo comercial y Firebase realiza el análisis estadístico para determinar si una variante supera la línea de base para su objetivo seleccionado.

Para realizar pruebas A/B de variantes de funciones con una línea de base, haga lo siguiente:

  1. Crea tu experimento.
  2. Valide su experimento en un dispositivo de prueba.
  3. Gestiona tu experimento.

Crear un experimento

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

  1. Inicie sesión en Firebase console y verifique que Google Analytics esté habilitado en su proyecto para que el experimento tenga acceso a los datos de Analytics.

    Si no habilitó Google Analytics al crear su proyecto, puede habilitarlo en la pestaña Integraciones , a la que puede acceder usando > Configuración del proyecto en Firebase console .

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

  3. Haga clic en Crear experimento y luego seleccione Remote Config cuando se le solicite el servicio con el que desea experimentar.

  4. Ingrese un Nombre y una Descripción opcional para su experimento y haga clic en Siguiente .

  5. Complete los campos de Orientación y elija primero la aplicación que utiliza su experimento. También puede dirigirse a un subconjunto de sus usuarios para que participen en su experimento haciendo clic en y y luego eligiendo opciones de la siguiente lista:

    • Versión: una o más versiones de tu aplicación.
    • Número de compilación: el código de versión de la aplicación.
    • Idiomas: uno o más idiomas y configuraciones regionales utilizados para seleccionar usuarios que podrían incluirse en el experimento.
    • País/Región: uno o más países o regiones para seleccionar usuarios que deben incluirse en el experimento.
    • Audiencia de usuarios: audiencias de Analytics utilizadas para dirigirse a los usuarios que podrían incluirse en el experimento.
    • Propiedad de usuario: una o más propiedades de usuario de Analytics para seleccionar usuarios que podrían incluirse en el experimento.
    • Primera apertura: oriente a los usuarios según la primera vez que abrieron su aplicación.

      La segmentación de usuarios por primera hora de apertura está disponible después de seleccionar una aplicación para Android o iOS. Es compatible con las siguientes versiones del SDK de Remote Config: plataformas Apple SDK v9.0.0+ y Android SDK v21.1.1+ (Firebase BoM v30.3.0+).

      Los análisis también deben haberse habilitado en el cliente durante el primer evento abierto.

  6. Establezca el porcentaje de usuarios objetivo: ingrese el porcentaje de la base de usuarios de su aplicación que coincide con los criterios establecidos en Usuarios objetivo que desea dividir uniformemente entre la línea base y una o más variantes en su experimento. Puede ser cualquier porcentaje entre 0,01% y 100%. Los usuarios son asignados aleatoriamente a cada experimento, incluidos los experimentos duplicados.

  7. Opcionalmente, configure un evento de activación para garantizar que en su experimento solo se cuenten los datos de los usuarios que activaron por primera vez algún evento de Analytics. Tenga en cuenta que todos los usuarios que coincidan con sus parámetros de orientación recibirán valores experimentales de Remote Config, pero solo aquellos que activen un evento de activación se incluirán en los resultados de su experimento.

    Para garantizar un experimento válido, asegúrese de que el evento que elija ocurra después de que su aplicación active los valores de configuración obtenidos. Además, los siguientes eventos no se pueden utilizar porque siempre ocurren antes de que se activen los valores recuperados:

    • app_install
    • app_remove
    • app_update
    • dynamic_link_first_open
  8. Para los Objetivos del experimento, seleccione la métrica principal para realizar un seguimiento y agregue cualquier métrica adicional que desee realizar de la lista. Estos incluyen objetivos integrados (compras, ingresos, retención, usuarios sin fallas, etc.), eventos de conversión de Analytics y otros eventos de Analytics. Cuando termine, haga clic en Siguiente .

  9. En la sección Variantes , elija una línea de base y al menos una variante para el experimento. Utilice la lista Elegir o crear nueva para agregar uno o más parámetros con los que experimentar. Puedes crear un parámetro que no se haya usado previamente en Firebase console, pero debe existir en tu aplicación para que tenga algún efecto. Puede repetir este paso para agregar varios parámetros a su experimento.

  10. (opcional) Para agregar más de una variante a su experimento, haga clic en Agregar otra variante .

  11. Cambie uno o más parámetros para variantes específicas. Cualquier parámetro que no se modifique es el mismo para los usuarios no incluidos en el experimento.

  12. Expanda Pesos de variante para ver o cambiar el peso de variante del experimento. De forma predeterminada, cada variante tiene el mismo peso. Tenga en cuenta que las ponderaciones desiguales pueden aumentar el tiempo de recopilación de datos y las ponderaciones no se pueden cambiar una vez que comienza el experimento .

  13. Haga clic en Revisar para guardar su experimento.

Se le permiten hasta 300 experimentos por proyecto, que podrían consistir en hasta 24 experimentos en ejecución, y el resto como borrador o completado.

Valide su experimento en un dispositivo de prueba

Para cada instalación de Firebase, puedes recuperar el token de autenticación de instalación asociado a ella. Puede utilizar este token para probar variantes de experimentos específicas en un dispositivo de prueba con su aplicación instalada. Para validar su experimento en un dispositivo de prueba, haga lo siguiente:

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

    Rápido

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

    C objetivo

    [[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());
          }
        });
    

    Unidad

    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 la consola Firebase , haga clic en Pruebas A/B .
  3. Haga clic en Borrador (y/o Ejecutando para experimentos de Remote Config), coloque el cursor sobre su experimento, haga clic en el menú contextual ( ) y luego haga clic en Administrar dispositivos de prueba .
  4. Ingrese el token de autenticación de instalación para un dispositivo de prueba y elija la variante del experimento para enviar a ese dispositivo de prueba.
  5. Ejecute la aplicación y confirme que la variante seleccionada se reciba en el dispositivo de prueba.

Para obtener más información sobre las instalaciones de Firebase, consulte Administrar instalaciones de Firebase .

Gestiona tu experimento

Ya sea que cree un experimento con Remote Config, el compositor de notificaciones o Firebase In-App Messaging, luego puede validar e iniciar su experimento, monitorearlo mientras se ejecuta y aumentar la cantidad de usuarios incluidos en su experimento en ejecución.

Cuando finalice el experimento, puede tomar nota de la configuración utilizada por la variante ganadora y luego implementar esa configuración para todos los usuarios. O puede realizar otro experimento.

iniciar un experimento

  1. En la sección Engage del menú de navegación de Firebase console , haz clic en Pruebas A/B .
  2. Haga clic en Borrador y luego haga clic en el título de su experimento.
  3. Para validar que su aplicación tenga usuarios que se incluirían en su experimento, expanda los detalles del borrador y verifique un número mayor al 0% en la sección Orientación y distribución (por ejemplo, 1% de usuarios que cumplen con los criterios ).
  4. Para cambiar su experimento, haga clic en Editar .
  5. Para iniciar su experimento, haga clic en Iniciar experimento . Puede ejecutar hasta 24 experimentos por proyecto a la vez.

Monitorear un experimento

Una vez que un experimento se ha estado ejecutando por un tiempo, puede verificar su progreso y ver cómo se ven los resultados para los usuarios que han participado en su experimento hasta ahora.

  1. En la sección Engage del menú de navegación de Firebase console , haz clic en Pruebas A/B .
  2. Haga clic en Ejecutando y luego haga clic o busque el título de su experimento. En esta página, puede ver varias estadísticas observadas y modeladas sobre su experimento en ejecución, incluidas las siguientes:

    • % de diferencia con respecto a la línea de base : una medida de la mejora de una métrica para una variante determinada en comparación con la línea de base. Se calcula comparando el rango de valores de la variante con el rango de valores de la línea base.
    • Probabilidad de superar la línea de base : la probabilidad estimada de que una variante determinada supere la línea de base para la métrica seleccionada.
    • observed_metric por usuario : según los resultados del experimento, este es el rango previsto en el que caerá el valor de la métrica con el tiempo.
    • Total observed_metric : el valor acumulado observado para la línea de base o variante. El valor se utiliza para medir el rendimiento de cada variante del experimento y para calcular la mejora , el rango de valores , la probabilidad de superar el valor inicial y la probabilidad de ser la mejor variante . Dependiendo de la métrica que se mida, esta columna puede denominarse "Duración por usuario", "Ingresos por usuario", "Tasa de retención" o "Tasa de conversión".
  3. Después de que el experimento se haya ejecutado durante un tiempo (al menos 7 días para FCM y mensajería en la aplicación o 14 días para Remote Config), los datos de esta página indican qué variante, si la hay, es la "líder". Algunas mediciones van acompañadas de un gráfico de barras que presenta los datos en formato visual.

Implementar un experimento para todos los usuarios.

Después de que un experimento se haya ejecutado durante el tiempo suficiente como para tener un "líder" o variante ganadora para su métrica de objetivo, puede publicar el experimento para el 100 % de los usuarios. Esto le permite seleccionar una variante para publicarla para todos los usuarios en el futuro. Incluso si su experimento no ha creado un ganador claro, aún puede optar por lanzar una variante para todos sus usuarios.

  1. En la sección Engage del menú de navegación de Firebase console , haz clic en Pruebas A/B .
  2. Haga clic en Completado o En ejecución , haga clic en un experimento que desee publicar para todos los usuarios y haga clic en el menú contextual ( ) Implementar variante .
  3. Implemente su experimento para todos los usuarios realizando una de las siguientes acciones:

    • Para un experimento que utiliza el redactor de notificaciones , utilice el cuadro de diálogo Implementar mensaje para enviar el mensaje a los usuarios objetivo restantes que no formaron parte del experimento.
    • Para un experimento de Remote Config , seleccione una variante para determinar qué valores de parámetros de Remote Config actualizar. Los criterios de orientación definidos al crear el experimento se agregan como una nueva condición en su plantilla, para garantizar que la implementación solo afecte a los usuarios a los que se dirige el experimento. Después de hacer clic en Revisar en Remote Config para revisar los cambios, haga clic en Publicar cambios para completar la implementación.
    • Para un experimento de mensajería en la aplicación , utilice el cuadro de diálogo para determinar qué variante debe implementarse como una campaña de mensajería en la aplicación independiente. Una vez seleccionado, se le redirigirá a la pantalla de redacción de FIAM para realizar cambios (si es necesario) antes de publicar.

Ampliar un experimento

Si descubre que un experimento no atrae suficientes usuarios para que las pruebas A/B lo declaren líder, puede aumentar la distribución de su experimento para llegar a un porcentaje mayor de la base de usuarios de la aplicación.

  1. En la sección Engage del menú de navegación de Firebase console , haz clic en Pruebas A/B .
  2. Seleccione el experimento en ejecución que desea editar.
  3. En la descripción general del experimento , haga clic en el menú contextual ( ) y luego haga clic en Editar experimento en ejecución .
  4. El cuadro de diálogo Orientación muestra una opción para aumentar el porcentaje de usuarios que están en el experimento en ejecución. Seleccione un número mayor que el porcentaje actual y haga clic en Publicar . El experimento se enviará al porcentaje de usuarios que haya especificado.

Duplicar o detener un experimento

  1. En la sección Engage del menú de navegación de Firebase console , haz clic en Pruebas A/B .
  2. Haga clic en Completado o En ejecución , mantenga el puntero sobre su experimento, haga clic en el menú contextual ( ) y luego haga clic en Duplicar experimento o Detener experimento .

Orientación al usuario

Puede dirigirse a los usuarios para incluirlos en su experimento utilizando los siguientes criterios de orientación de usuarios.

Criterio de focalización Operador(es) Valores) Nota
Versión contiene,
no contiene,
coincide exactamente,
contiene expresiones regulares
Ingrese un valor para una o más versiones de la aplicación que desee incluir en el experimento.

Cuando utilice cualquiera de los operadores contiene , no contiene o coincide exactamente , puede proporcionar una lista de valores separados por comas.

Al utilizar el operador contiene expresiones regulares , puede crear expresiones regulares en formato RE2 . Su expresión regular puede coincidir total o parcialmente con la cadena de la versión de destino. También puede utilizar los anclajes ^ y $ para hacer coincidir el principio, el final o la totalidad de una cadena de destino.

Audiencias de usuarios incluye todo,
incluye al menos uno de,
no incluye todos,
no incluye al menos uno de
Seleccione una o más audiencias de Analytics para dirigirse a los usuarios que podrían incluirse en su experimento. Algunos experimentos dirigidos a audiencias de Google Analytics pueden requerir algunos días para acumular datos porque están sujetos a la latencia del procesamiento de datos de Analytics. Es más probable que encuentre este retraso con usuarios nuevos, que generalmente se inscriben en audiencias calificadas entre 24 y 48 horas después de la creación, o para audiencias creadas recientemente .

Para Remote Config, esto significa que incluso si un usuario técnicamente califica para una audiencia, si Analytics aún no ha agregado al usuario a la audiencia cuando se ejecuta `fetchAndActivate()`, el usuario no se incluirá en el experimento.

Propiedad del usuario Para texto:
contiene,
no contiene,
coincide exactamente,
contiene expresiones regulares

Para números:
<, ≤, =, ≥, >
Una propiedad de usuario de Analytics se utiliza para seleccionar usuarios que podrían incluirse en un experimento, con una variedad de opciones para seleccionar valores de propiedad de usuario.

En el cliente, solo puede establecer valores de cadena para las propiedades del usuario. Para condiciones que utilizan operadores numéricos, el servicio Remote Config convierte el valor de la propiedad de usuario correspondiente en un número entero/flotante.
Al utilizar el operador contiene expresiones regulares , puede crear expresiones regulares en formato RE2 . Su expresión regular puede coincidir total o parcialmente con la cadena de la versión de destino. También puede utilizar los anclajes ^ y $ para hacer coincidir el principio, el final o la totalidad de una cadena de destino.
País/Región N / A Uno o más países o regiones solían seleccionar usuarios que podrían incluirse en el experimento.
Idiomas N / A Uno o más idiomas y configuraciones regionales utilizados para seleccionar usuarios que podrían incluirse en el experimento.
Primero abierto Antes
Después

Diríjase a los usuarios según la primera vez que abren su aplicación:

  • Seleccione Nuevos usuarios para dirigirse a los usuarios que abren su aplicación por primera vez después de una fecha y hora futuras específicas.
  • Seleccione Intervalo de tiempo para dirigirse a los usuarios que abren su aplicación por primera vez dentro del intervalo antes o después de la fecha y hora que especifique. Combine condiciones de antes y después para dirigirse a usuarios dentro de un rango de tiempo específico.

La segmentación por usuario por primera apertura está disponible después de seleccionar una aplicación para Android o iOS. Actualmente es compatible con las siguientes versiones del SDK de Remote Config: plataformas Apple SDK v9.0.0+ y Android SDK v21.1.1+ (Firebase BoM v30.3.0+).

Los análisis también deben haberse habilitado en el cliente durante el primer evento abierto.

Métricas de pruebas A/B

Cuando crea su experimento, elige una métrica principal o de objetivo que se utiliza para determinar la variante ganadora. También debe realizar un seguimiento de otras métricas que le ayudarán a comprender mejor el rendimiento de cada variante del experimento y realizar un seguimiento de las tendencias importantes que pueden diferir para cada variante, como la retención de usuarios, la estabilidad de la aplicación y los ingresos por compras dentro de la aplicación. Puede realizar un seguimiento de hasta cinco métricas sin objetivos en su experimento.

Por ejemplo, supongamos que está utilizando Remote Config para iniciar dos flujos de juegos diferentes en su aplicación y desea optimizar las compras dentro de la aplicación y los ingresos por publicidad, pero también desea realizar un seguimiento de la estabilidad y la retención de usuarios de cada variante. En este caso, podría considerar elegir Ingresos totales estimados como su métrica objetivo porque incluye ingresos por compras en la aplicación e ingresos por publicidad y luego, en Otras métricas para realizar un seguimiento , puede agregar lo siguiente:

  • Para realizar un seguimiento de la retención de usuarios diaria y semanal, agregue Retención (2-3 días) y Retención (4-7 días) .
  • Para comparar la estabilidad entre los dos flujos de juego, agregue usuarios sin fallas .
  • Para ver vistas más detalladas de cada tipo de ingresos, agregue Ingresos por compras e Ingresos publicitarios estimados .

Las siguientes tablas proporcionan detalles sobre cómo se calculan las métricas de objetivos y otras métricas.

Métricas de objetivos

Métrico Descripción
Usuarios sin fallos El porcentaje de usuarios que no encontraron errores en su aplicación que fueron detectados por el SDK de Firebase Crashlytics durante el experimento.
Ingresos publicitarios estimados Ingresos publicitarios estimados.
Ingresos totales estimados Valor combinado de compra e ingresos publicitarios estimados.
Ingresos por compras Valor combinado para todos los eventos purchase e in_app_purchase .
Retención (1 día) La cantidad de usuarios que regresan a su aplicación diariamente.
Retención (2-3 días) La cantidad de usuarios que regresan a su aplicación dentro de 2 o 3 días.
Retención (4-7 días) La cantidad de usuarios que regresan a su aplicación dentro de 4 a 7 días.
Retención (8-14 días) La cantidad de usuarios que regresan a su aplicación dentro de 8 a 14 días.
Retención (más de 15 días) La cantidad de usuarios que regresan a su aplicación 15 días o más después de la última vez que la usaron.
primero_abierto Un evento de Analytics que se activa cuando un usuario abre por primera vez una aplicación después de instalarla o reinstalarla. Se utiliza como parte de un embudo de conversión.

Otras métricas

Métrico Descripción
notificación_desestimar Un evento de Analytics que se activa cuando se descarta una notificación enviada por el redactor de notificaciones (solo Android).
notificación_recibir Un evento de Analytics que se activa cuando se recibe una notificación enviada por el redactor de notificaciones mientras la aplicación está en segundo plano (solo Android).
actualización_OS Un evento de Analytics que rastrea cuándo se actualiza el sistema operativo del dispositivo a una nueva versión. Para obtener más información, consulte Eventos recopilados automáticamente .
vista_pantalla Un evento de Analytics que rastrea las pantallas vistas dentro de su aplicación. Para obtener más información, consulte Seguimiento de vistas de pantalla .
inicio_sesión Un evento de Analytics que cuenta las sesiones de usuario en su aplicación. Para obtener más información, consulte Eventos recopilados automáticamente .

Exportación de datos de BigQuery

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

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

Puede utilizar estas propiedades de usuario del experimento para extraer datos del experimento. Esto le brinda el poder de dividir los resultados de su experimento de muchas maneras diferentes y verificar de forma independiente los resultados de las pruebas A/B.

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

  1. Habilite la exportación de BigQuery para Google Analytics en Firebase console
  2. Acceda a los datos de las pruebas A/B mediante BigQuery
  3. Explorar consultas de ejemplo

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

Si tienes el plan Spark, puedes usar el espacio aislado de BigQuery para acceder a BigQuery sin costo alguno, sujeto a los límites del espacio aislado . Consulta Precios y el sandbox de BigQuery para obtener más información.

Primero, asegúrese de exportar sus datos de Analytics a BigQuery:

  1. Abra la pestaña Integraciones , a la que puede acceder usando > Configuración del proyecto en Firebase console .
  2. Si ya usas BigQuery con otros servicios de Firebase, haz clic en Administrar . De lo contrario, haga clic en Enlace .
  3. Revise Acerca de vincular Firebase a BigQuery y luego haga clic en Siguiente .
  4. En la sección Configurar integración , habilite la opción Google Analytics .
  5. Seleccione una región y elija la configuración de exportación.

  6. Haz clic en Vincular a BigQuery .

Dependiendo de cómo elija exportar los datos, las tablas pueden tardar hasta un día en estar disponibles. Para obtener más información sobre cómo exportar datos del proyecto a BigQuery, consulte Exportar datos del proyecto a BigQuery .

Acceder a los datos de las pruebas A/B en BigQuery

Antes de consultar datos para un experimento específico, querrá obtener algunos o todos los siguientes elementos para utilizarlos en su consulta:

  • ID del experimento: puede obtenerlo en la URL de la página de descripción general del experimento . Por ejemplo, si su URL se parece 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 su ID de propiedad de Google Analytics de 9 dígitos. Puede encontrar esto en Google Analytics; también aparece en BigQuery cuando expandes el nombre de tu proyecto para mostrar el nombre de tu tabla de eventos de Google Analytics ( project_name.analytics_000000000.events ).
  • Fecha del experimento: para redactar una consulta más rápida y eficiente, es una buena práctica limitar las consultas a las particiones de la tabla de eventos diarios de Google Analytics que contienen los datos del experimento (tablas identificadas con el sufijo YYYYMMDD ). Por lo tanto, si su experimento se realizó desde el 2 de febrero de 2024 hasta el 2 de mayo de 2024, deberá especificar un _TABLE_SUFFIX between '20240202' AND '20240502' . Para ver un ejemplo, consulte Seleccionar los valores de un experimento específico .
  • Nombres de eventos: normalmente, se corresponden con las métricas de objetivos que configuró en el experimento. Por ejemplo, eventos in_app_purchase , ad_impression o eventos user_retention .

Después de recopilar la información que necesita para generar su consulta:

  1. Abra BigQuery en la consola de Google Cloud.
  2. Seleccione su proyecto, luego seleccione Crear consulta SQL .
  3. Añade tu consulta. Para ver ejemplos de consultas para ejecutar, consulte Explorar consultas de ejemplo .
  4. Haga clic en Ejecutar .

Consultar datos del experimento mediante la consulta generada automáticamente de Firebase console

Si está utilizando el plan Blaze, la página de descripción general del experimento proporciona una consulta de ejemplo que devuelve el nombre del experimento, las variantes, los nombres de los eventos y la cantidad de eventos para el experimento que está viendo.

Para obtener y ejecutar la consulta generada automáticamente:

  1. Desde Firebase console, abra Pruebas A/B y seleccione el experimento de Pruebas A/B que desea consultar para abrir la descripción general del experimento .
  2. En el menú Opciones, debajo de Integración de BigQuery , seleccione Consultar datos del experimento . Esto abre su proyecto en BigQuery dentro de la consola de Google Cloud y proporciona una consulta básica que puede usar para consultar los datos de su experimento.

El siguiente ejemplo muestra una consulta generada para un experimento con tres variantes (incluida la línea base) denominada "Experimento de bienvenida de invierno". Devuelve el nombre del experimento activo, el nombre de la variante, el evento único y el recuento de eventos para cada evento. Tenga en cuenta que el generador de consultas no especifica el nombre de su proyecto en el nombre de la tabla, ya que se abre directamente dentro de su 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 ejemplos de consultas adicionales, vaya a Explorar consultas de ejemplo .

Explorar consultas de ejemplo

Las siguientes secciones proporcionan ejemplos de consultas que puede utilizar para extraer datos de experimentos de pruebas A/B de las tablas de eventos de Google Analytics.

Extraiga los valores de desviación estándar de compra y experimento de todos los experimentos.

Puedes utilizar los datos de los resultados del experimento para verificar de forma independiente los resultados de las pruebas Firebase A/B. La siguiente declaración SQL de BigQuery extrae variantes de experimentos, la cantidad de usuarios únicos en cada variante y suma los ingresos totales de los eventos in_app_purchase y ecommerce_purchase , y las desviaciones estándar de todos los experimentos dentro del rango de tiempo especificado como las fechas de inicio y finalización _TABLE_SUFFIX . Puede utilizar los datos que obtenga de esta consulta con un generador de significancia estadística para pruebas t de una cola para verificar que los resultados que proporciona Firebase coincidan con su propio análisis.

Para obtener más información sobre cómo las pruebas A/B calculan la inferencia, consulte Interpretar los resultados de las pruebas .

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

Seleccionar los valores de un experimento específico

La siguiente consulta de ejemplo ilustra 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 (incluida la línea de base), 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