Crea experimentos de Messaging con A/B Testing

Cuando te comunicas con tus usuarios o comienzas una campaña de marketing nueva, debes asegurarte de hacerlo bien. Las pruebas A/B pueden ayudarte a encontrar la presentación y las palabras ideales mediante la evaluación de las variantes de un mensaje ante distintos grupos de tu base de usuarios. Si tu objetivo es mejorar la retención de una oferta o su conversión, con las pruebas A/B se puede ejecutar un análisis estadístico para determinar si una variante de un mensaje tiene mejor rendimiento que el grupo de control para tu objetivo seleccionado.

Para hacer pruebas A/B en las variantes de función con un grupo de control, haz lo siguiente:

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

Crea un experimento

Usar el Compositor de Notifications en un experimento te permite evaluar múltiples variantes de un solo mensaje de notificación.

  1. Accede a Firebase, actualiza la Configuración de uso compartido de datos y asegúrate de que la función esté habilitada. Sin ella, el experimento no tendrá acceso a los datos de estadísticas.
  2. En la barra de navegación de Firebase console, expande Crece y, luego, haz clic en A/B Testing.
  3. Haz clic en Crear experimento y selecciona Notifications 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 y, a continuación, haz clic en Siguiente.
  5. Completa los campos de Orientación. Para ello, selecciona primero la app que usa el experimento. También puedes seleccionar una o más de las siguientes opciones para limitar el experimento a un subconjunto de tus usuarios:

    • Versión: una o más versiones de tu app
    • Público de usuarios: públicos de Analytics que se usan para orientar 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
    • Predicción: grupos de usuarios que tendrán un comportamiento particular según predicciones realizadas con aprendizaje automático
    • País o región: uno o más países o regiones para seleccionar usuarios que se podrían incluir en el experimento
    • Idioma del dispositivo: uno o más idiomas y configuraciones regionales que se usan para seleccionar usuarios que se podrían incluir en el experimento
  6. En Porcentaje de 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 deseas dividir en partes iguales entre el grupo de control y una o más variantes del experimento. Esto puede ser cualquier porcentaje entre el 0.01% y el 100%. Los porcentajes se vuelven a asignar de forma aleatoria a los usuarios para cada experimento, incluidos los experimentos duplicados.

  7. En la sección Variantes, escribe un mensaje para enviarlo al grupo de control en el campo Ingresa el texto del mensaje. Si no deseas enviar un mensaje al grupo de control, deja este campo en blanco.

  8. Paso opcional: Para agregar más de una variante al experimento, haz clic en Agregar variante. Según la configuración predeterminada, los experimentos tienen un grupo de control y una variante.

  9. Paso opcional: Ingresa un nombre para cada variante del experimento que reemplace los nombres Variante A, Variante B, etcétera.

  10. En la lista desplegable, elige la métrica objetivo que se usará para evaluar las variantes del experimento y agrega las métricas adicionales que desees. Estas incluyen objetivos integrados (participación, compras, ingresos, retención, etc.), eventos de conversión de Analytics y otros eventos de Analytics.

  11. Elige opciones para el mensaje:

    • Fecha de entrega: elige Enviar ahora para iniciar el experimento de inmediato cuando guardes o Programado para especificar un momento en el futuro en el que se iniciará el experimento.
    • Opciones avanzadas: si deseas seleccionar opciones avanzadas para todas las notificaciones que incluye el experimento, expande Opciones avanzadas y cambia cualquiera de las siguientes opciones.
  12. Haz clic en Revisar para guardar el experimento.

Se permiten hasta 300 experimentos por proyecto, que pueden incluir hasta 24 experimentos en ejecución, mientras que el resto está en borrador o completado.

Valida el experimento en un dispositivo de prueba

Cada instalación de Firebase tiene un ID de instancia asociado. 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 ID de instancia de la siguiente manera:

    Swift

    InstanceID.instanceID().instanceID { (result, error) in
      if let error = error {
        print("Error fetching remote instance ID: \(error)")
      } else if let result = result {
        print("Remote instance ID token: \(result.token)")
        self.instanceIDTokenMessage.text  = "Remote InstanceID token: \(result.token)"
      }
    }
    

    Objective‑C

    [[FIRInstanceID instanceID] instanceIDWithHandler:^(FIRInstanceIDResult * _Nullable result,
                                                        NSError * _Nullable error) {
      if (error != nil) {
        NSLog(@"Error fetching remote instance ID: %@", error);
      } else {
        NSLog(@"Remote instance ID token: %@", result.token);
        NSString* message =
          [NSString stringWithFormat:@"Remote InstanceID token: %@", result.token];
        self.instanceIDTokenMessage.text = message;
      }
    }];
    

    Java

    FirebaseInstanceId.getInstance().getInstanceId()
            .addOnCompleteListener(new OnCompleteListener<InstanceIdResult>() {
                @Override
                public void onComplete(@NonNull Task<InstanceIdResult> task) {
                    Log.d("IID_TOKEN", task.getResult().getToken());
                }
            });

    Kotlin+KTX

    FirebaseInstanceId.getInstance().instanceId
            .addOnSuccessListener { result ->
                Log.d("IID_TOKEN", result.token)
            }

    C++

    firebase::InitResult init_result;
    auto* instance_id_object = firebase::instance_id::InstanceId::GetInstanceId(
        firebase::App::GetInstance(), &init_result);
    instance_id_object->GetToken().OnCompletion(
        [](const firebase::Future<std::string>& future) {
          if (future.status() == kFutureStatusComplete &&
              future.error() == firebase::instance_id::kErrorNone) {
            printf("Instance ID Token %s\n", future.result()->c_str());
          }
        });
    

    Unity

    Firebase.InstanceId.FirebaseInstanceId.DefaultInstance.GetTokenAsync().ContinueWith(
      task => {
        if (!(task.IsCanceled || task.IsFaulted) && task.IsCompleted) {
          UnityEngine.Debug.Log(System.String.Format("Instance ID 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, coloca el cursor sobre el experimento, haz clic en el menú contextual () y, luego, en Administrar dispositivos de prueba.
  4. Ingresa el ID de instancia 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.

Administra el experimento

Si creas un experimento con Remote Config, el Compositor de Notifications o los mensajes desde la app de Firebase, puedes validar y comenzar el experimento, supervisarlo mientras se ejecuta y aumentar la cantidad de usuarios incluidos en él.

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 barra de navegación de Firebase console, expande Crece y, luego, 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 tiene usuarios que se incluirían en el experimento, verifica que haya un porcentaje superior al 0% en la sección Orientación y distribución (por ejemplo, el 1% de los usuarios que 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 cómo son los resultados para los usuarios que participaron hasta ahora.

  1. En la barra de navegación de Firebase console, haz clic en Crece y, luego, en A/B Testing.
  2. Haz clic en En ejecución y, luego, en el título del experimento. En esta página puedes ver varias estadísticas sobre el experimento en ejecución, incluidas la métrica objetivo y otras métricas. Para cada métrica, está disponible la siguiente información:

    • Mejora: medida de la mejora de cada métrica para una variante dada en comparación con el punto de referencia (o grupo de control). Se calcula a partir de la comparación entre el rango de valores para la variante y el rango de valores para el punto de referencia.
    • Probabilidad de superar el valor de referencia: probabilidad estimada de que una variante dada supere el punto de referencia para la métrica seleccionada.
    • Probabilidad de ser la mejor variante: probabilidad estimada de que una variante dada supere a las otras variantes para la métrica seleccionada.
    • Valor por usuario: se calcula a partir de los resultados del experimento y corresponde al rango pronosticado en el que caerá el valor de la métrica con el tiempo.
    • Valor total: corresponde al valor acumulado que se observa para la variante o el grupo de control. Este valor se usa para medir el rendimiento de cada variante de 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 mide, esta columna podría tener la etiqueta "Duración por usuario", "Tasa de retención" o "Porcentaje de conversiones".
  3. Si quieres incrementar la cantidad de usuarios incluidos en el experimento, haz clic en Aumentar la distribución y elige un porcentaje superior para agregar más usuarios aptos al experimento.

  4. Después de que se ejecuta el experimento por un tiempo (al menos 7 días en el caso de los mensajes desde la app y FCM, 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 de objetivo, puedes implementar 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 barra de navegación de Firebase console, haz clic en Crece y, luego, en A/B Testing.
  2. Haz clic en Completados o En ejecución y selecciona el experimento que quieres implementar para todos los usuarios. Luego, haz clic en el menú contextual () y elige Implementar 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, usa el diálogo Implementar mensaje para enviar el mensaje a los usuarios de destino restantes que no formaban parte del experimento.
    • En el caso de un experimento de Remote Config, usa el diálogo a fin de determinar qué valores de parámetros de Remote Config se deben cambiar para todos los usuarios.
    • En el caso de un experimento de mensajes desde la app, usa el cuadro de diálogo para determinar qué variante debe implementarse como una campaña independiente de mensajes desde la app. 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 determinar un liderazgo, puedes aumentar la distribución del experimento con el fin de alcanzar a un porcentaje mayor de la base de usuarios de la app.

  1. En la barra de navegación de Firebase console, haz clic en Crece y, luego, en A/B Testing.
  2. Selecciona En ejecución y coloca el cursor sobre el experimento. Haz clic en el menú contextual () y, luego, en Aumentar la distribución.
  3. La consola muestra un diálogo con una opción para aumentar el porcentaje de usuarios incluidos en el experimento en ejecución. Ingresa un número mayor que el porcentaje actual y haz clic en Enviar. Se enviará el experimento al porcentaje de usuarios especificado.

Duplica o detén un experimento

  1. En la barra de navegación de Firebase console, haz clic en Crece y, luego, en A/B Testing.
  2. Selecciona Completados o En ejecución y coloca el cursor sobre el experimento. Luego, haz clic en el menú contextual () y elige Duplicar o Detener.

Orientación a usuarios

Puedes elegir los usuarios que incluirás en el experimento con los siguientes criterios de orientación a 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 con 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.  
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 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 ^$ para buscar coincidencias en el principio, el final o la totalidad de la string objetivo.
Predicción N/A Grupos de usuarios de destino definidos por Firebase Predictions. Por ejemplo, usuarios que probablemente dejarán de usar la app o usuarios que es posible que hagan una compra directa desde la app. Selecciona uno de los valores que define la herramienta de Firebase Predictions. Si una opción no está disponible, es posible que debas visitar la sección Predictions de Firebase console para habilitar Firebase Predictions.  
País del dispositivo N/A Uno o más países o regiones que se usan para seleccionar a los usuarios del experimento.  
Idioma del dispositivo N/A Uno o más idiomas y configuraciones locales que se usan para seleccionar a los usuarios del experimento. Este criterio de orientación solo está disponible para Remote Config.
Primer acceso más de
menos de
entre
Se orienta a los usuarios según la primera vez en la que abrieron la app y se especifica en días. Este criterio de orientación solo está disponible para mensajes desde la app de Firebase.
Interacción más reciente con la app más de
menos de
entre
Se orienta a los usuarios según la última ocasión en la que interactuaron con la app y se especifica en días. Este criterio de orientación solo está disponible para mensajes desde la app de Firebase.

Métricas de A/B Testing

Cuando crees el experimento, selecciona una métrica para comparar las variantes. También puedes elegir otras métricas para hacer un seguimiento que te permita comprender mejor cada variante y detectar los efectos secundarios importantes (como las fallas de la app). 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 objetivo

Métrica Descripción
Retención (1 día) La cantidad de usuarios que vuelven a la app por día.
Retención (de 2 a 3 días) La 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) La 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) La 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) La cantidad de usuarios que vuelven a la app 15 días o más después de la última vez que la usaron.
Notificación abierta Hace un seguimiento para saber si el usuario abre la notificación que recibió del Compositor de Notifications.
Ingresos por compras Valor combinado para todos los eventos ecommerce_purchase y in_app_purchase
Ingresos estimados de AdMob Ingresos estimados de AdMob.
Ingresos totales estimados Valor combinado de los ingresos por compras y los ingresos estimados de AdMob.
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.
notification_open Evento de Analytics que se activa cuando un usuario abre una notificación enviada por el Compositor de Notifications. Se usa como parte de un embudo de conversión.

Otras métricas

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.
notification_dismiss Un evento de Analytics que se activa cuando se descarta una notificación enviada por el Compositor de Notifications (solo en Android).
notification_receive Un 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.
user_engagement Evento de Analytics que se activa de forma periódica mientras la app se ejecuta en primer plano. Para obtener más información, consulta Eventos recopilados automáticamente.

Exporta datos a BigQuery

Puedes acceder a todos los datos de estadísticas relacionados con las pruebas A/B en BigQuery. Esta herramienta te permite analizar los datos con BigQuery SQL, exportarlos a otro proveedor de servicios en la nube o usarlos en tus modelos de AA personalizados. Consulta Cómo vincular Firebase a BigQuery para obtener más información.

Para aprovechar al máximo la exportación de datos de BigQuery, los proyectos de Firebase deben adoptar el plan de precios de prepago “Blaze”. BigQuery cobra por el almacenamiento de datos, las inserciones de transmisión y las búsquedas de datos. La carga y la exportación de los datos no tienen costo. Consulta los precios de BigQuery o la zona de pruebas de BigQuery para obtener más información.

Para comenzar, asegúrate de que tu proyecto de Firebase esté vinculado a BigQuery. Selecciona Configuración > Configuración del proyecto en la barra de navegación izquierda y, luego, selecciona Integraciones > BigQuery > Vincular. En esta página verás las opciones para realizar exportaciones de datos de estadísticas de BigQuery para todas las apps del proyecto.

Sigue estos pasos para buscar los datos de estadísticas de un experimento:

  1. En la lista de experimentos activos, selecciona el experimento deseado para abrir la página de resultados del experimento.
  2. En el menú contextual del panel Descripción general del experimento, selecciona Ver en BigQuery (esta opción no está disponible para proyectos del nivel gratuito).

    Esta acción abrirá el compositor de consultas de la consola de BigQuery con un ejemplo autogenerado de búsqueda de datos de experimentos precargado para revisar. En esta búsqueda tu experimento se codifica como una propiedad del usuario con el nombre del experimento en la clave y la variante del experimento en el valor.

  3. En el compositor de búsquedas, selecciona Ejecutar búsqueda. Los resultados se muestran en el panel inferior.

Ten en cuenta que, como los datos de Firebase en BigQuery se actualizan solo una vez al día, la información disponible en la página del experimento podría estar más actualizada que los datos disponibles en la consola de BigQuery.