Cree experimentos de mensajería con pruebas A/B

Cuando se comunica con sus usuarios o inicia una nueva campaña de marketing, debe asegurarse de hacerlo bien. Las pruebas A/B pueden ayudarle a encontrar la redacción y la presentación óptimas probando variantes de mensajes en partes seleccionadas de su base de usuarios. Ya sea que su objetivo sea una mejor retención o conversión de una oferta, las pruebas A/B pueden realizar análisis estadísticos para determinar si una variante de mensaje 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 que utiliza el compositor de notificaciones le permite evaluar múltiples variantes en un solo mensaje de notificación.

  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 de la barra de navegación de Firebase console , haz clic en Pruebas A/B .

  3. Haga clic en Crear experimento y luego seleccione Notificaciones 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 eligiendo opciones que incluyan lo siguiente:

    • Versión: una o más versiones de tu aplicación.
    • 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.
    • País/Región: uno o más países o regiones para seleccionar usuarios que podrían incluirse en el experimento.
    • Idioma del dispositivo: uno o más idiomas y configuraciones regionales utilizados 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.
    • Última interacción con la aplicación: oriente a los usuarios según la última vez que interactuaron con su aplicación.
  6. Establezca el porcentaje de usuarios objetivo: seleccione 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 porcentajes se reasignan aleatoriamente a los usuarios para cada experimento, incluidos los experimentos duplicados.

  7. En la sección Variantes , escriba un mensaje para enviar al grupo de línea base en el campo Ingresar texto del mensaje . Para no enviar ningún mensaje al grupo de referencia, deje este campo en blanco.

  8. (opcional) Para agregar más de una variante a su experimento, haga clic en Agregar variante . De forma predeterminada, los experimentos tienen una línea base y una variante.

  9. (opcional) Ingrese un nombre para cada variante en su experimento para reemplazar los nombres Variante A , Variante B , etc.

  10. Defina una métrica de objetivo para que su experimento la utilice al evaluar las variantes del experimento junto con cualquier métrica adicional que desee de la lista desplegable. Estas métricas incluyen objetivos integrados (participación, compras, ingresos, retención, etc.), eventos de conversión de Analytics y otros eventos de Analytics.

  11. Elija opciones para su mensaje:

    • Fecha de entrega: elija Enviar ahora para iniciar su experimento inmediatamente después de guardarlo o Programado para especificar una hora para iniciar su experimento en el futuro.
    • Opciones avanzadas: para elegir opciones avanzadas para todas las notificaciones incluidas en su experimento, expanda Opciones avanzadas y luego cambie cualquiera de las opciones de mensajes enumeradas.
  12. 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, puede recuperar el token de registro de FCM 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 registro de FCM de la siguiente manera:

    Rápido

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

    C objetivo

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

    Java

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

    Kotlin+KTX

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

    C++

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

    Unity

    Firebase.Messaging.FirebaseMessaging.DefaultInstance.GetTokenAsync().ContinueWith(
      task => {
        if (!(task.IsCanceled || task.IsFaulted) && task.IsCompleted) {
          UnityEngine.Debug.Log(System.String.Format("FCM registration token {0}", task.Result));
        }
      });
    
  2. En la barra de navegación de la consola Firebase , haga clic en Pruebas A/B .
  3. Haga clic en Borrador , 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 FCM 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.

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 .
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 Más que
Menos que
Entre
Diríjase a los usuarios según la primera vez que abrieron su aplicación, especificada en días.
Última interacción con la aplicación Más que
Menos que
Entre
Diríjase a los usuarios según la última vez que interactuaron con su aplicación, especificada en días.

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 agregó nuevas compras dentro de la aplicación y desea comparar la efectividad de dos mensajes de "empujón" diferentes. En este caso, puede decidir establecer Ingresos por compras como su métrica objetivo porque desea que la variante ganadora represente la notificación que generó los mayores ingresos por compras en la aplicación. Y como también desea realizar un seguimiento de qué variante generó más conversiones futuras y usuarios retenidos, puede agregar lo siguiente en Otras métricas para realizar un seguimiento :

  • Ingresos totales estimados para ver en qué se diferencian las compras integradas en la aplicación y los ingresos publicitarios entre las dos variantes.
  • Retención (1 día) , Retención (2-3 días) , Retención (4-7 días) para realizar un seguimiento de la retención de usuarios diaria/semanal

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