Crea experimentos de Messaging con pruebas A/B

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 prueba de variantes de un mensaje en porciones seleccionadas de tu base de usuarios. Si tu objetivo es lograr una mejor retención o conversión en una oferta, las pruebas A/B pueden ejecutar un análisis estadístico para determinar si una variante de 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 distintas variantes de un solo mensaje de notificación.

  1. Accede a Firebase, actualiza la Configuración del uso compartido de datos y asegúrate de que esté habilitado el uso compartido de datos. Sin el uso compartido de datos, tu 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. Llena los campos de Orientación. Para ello, selecciona primero la aplicación que utiliza tu 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 participarán en un comportamiento particular según predicciones hechas con aprendizaje automático.
    • País/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 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. (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. (opcional) Ingresa un nombre para cada variante del experimento que reemplace los nombres Variante A, Variante B, etc.

  10. Ingresa el texto de mensaje para cada variante del experimento. 1.. En la lista desplegable, elige la métrica objetivo que se usará para evaluar las variantes del experimento. Opcionalmente, puedes elegir métricas adicionales. 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. Elige opciones para el mensaje:

    • Fecha de envío: 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.

Valida el experimento en un dispositivo de prueba

La instalación de cada app de Firebase tiene un token de ID de instancia (o token de registro) asociado. Puedes usar este token para probar variantes de experimento específicas en un dispositivo de prueba con la app instalada. 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
    Android

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

    Kotlin
    Android

    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 Remote Config o Notifications y, luego, en A/B Testing.
  3. Haz clic en Borrador y en el título del experimento.
  4. Haz clic en Administrar dispositivos de prueba, ingresa el token de ID de instancia para 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 el token de ID de instancia, consulta FIRInstanceID (iOS) o FirebaseInstanceId (Android).

Administra el experimento

Si creas un experimento con Remote Config o el Compositor de Notifications, 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 implementar esa configuración 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 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 número más grande que 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 iniciar el experimento, haz clic en Iniciar experimento. Puedes ejecutar hasta 6 experimentos por proyecto a la vez.

Supervisa un experimento

Después de que el experimento se ejecuta por un tiempo, puedes verificar el progreso y ver cómo lucen 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 en el título del experimento. En esta página, puedes ver varias estadísticas sobre los experimentos en ejecución, incluida la métrica de objetivo y otras métricas. Para cada métrica, está disponible la siguiente información:

    • Mejora: Una medida de la mejora de una 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 punto de referencia: La probabilidad estimada de que una variante dada supere el punto de referencia para la métrica seleccionada.
    • Probabilidad de ser la mejor variante: La 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: El valor acumulado observado para la variante o el grupo de control. El valor se usa para medir el rendimiento de cada variante de experimento y para calcular la mejora, el rango de valores, la probabilidad de superar el punto 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 "Tasa de conversión".
  3. Para aumentar la cantidad de usuarios incluidos en el experimento, haz clic en Aumentar distribución y aumenta el porcentaje para agregar más usuarios aptos al experimento.

  4. Después de que el experimento se ejecuta por un tiempo (al menos 24 horas), 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.

Implementa un experimento en todos los usuarios

Después de que un experimento se ejecuta por un tiempo suficiente con el fin de encontrar una variante "líder" o ganadora para tu métrica de objetivo, puedes implementar el experimento en la totalidad de los usuarios. Esto te permite seleccionar un valor a fin de publicar en Remote Config para todos los usuarios. Incluso si el experimento no creó una ganadora evidente, puedes implementar una variante en todos tus 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 deseas implementar para todos los usuarios. Luego, haz clic en el menú contextual (more_vert) y elige Implementar variante.
  3. Para implementar el experimento en todos los usuarios, sigue uno de los siguientes 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 para determinar qué valores de parámetros de Remote Config se deben cambiar para todos los usuarios.

Expande un experimento

Si descubres que un experimento no atrae a suficientes usuarios a las pruebas A/B 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. Haz clic en En ejecución y desplázate sobre tu experimento. Luego, haz clic en el menú contextual (more_vert) y elige Aumentar distribución.
  3. La consola muestra un diálogo con una opción para aumentar el porcentaje de usuarios que se incluyen en el experimento que se encuentra 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 especificados.

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. Haz clic en Completados o En ejecución y desplázate por tu experimento. Luego, haz clic en el menú contextual (more_vert) 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 expresión regular
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 expresión regular, puedes crear expresiones regulares en formato RE2. Tu 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.

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 expresión regular

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 del usuario correspondiente en un número entero/flotante.
Cuando usas el operador contiene la expresión regular, puedes crear expresiones regulares en formato RE2. Tu 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.
Predicción No corresponde Grupos de usuarios de destino definidos por Firebase Predictions. Por ejemplo, usuarios que probablemente dejarán de usar la app o usuarios que probablemente harán 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 No corresponde Uno o más países o regiones que se usan para seleccionar a los usuarios del experimento.  
Idioma del dispositivo No corresponde 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.

Métricas de pruebas A/B

Cuando crees el experimento, selecciona una métrica para comparar variantes del experimento. También puedes elegir otras métricas para hace un seguimiento que te permita comprender mejor cada variante y detectar los efectos secundarios importantes (como las fallas de la app). Las siguientes tablas proporcionan detalles sobre cómo se calculan las métricas objetivo y otras métricas.

Métricas de objetivo

Métrica Descripción
Participación diaria de los usuarios La cantidad de usuarios que tienen la app en primer plano día a día por un tiempo suficiente para activar el evento de Analytics user_engagement.
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 El porcentaje de usuarios de la app que no encontraron errores detectados por el SDK de Firebase Crash Reporting durante el experimento. Para obtener más información, consulta las métricas de usuario sin fallas.
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 Un evento de Analytics que hace un seguimiento para saber cuándo el sistema operativo del dispositivo se actualiza a una versión nueva.Para obtener más información, consulta Eventos recopilados automáticamente.
screen_view Un evento de Analytics que hace un seguimiento de las pantallas visitadas dentro de tu app. Para obtener más información, consulta el seguimiento de visitas a pantallas.
session_start Un evento de Analytics que cuenta sesiones de usuarios en tu app. Para obtener más información, consulta los eventos recopilados de forma automática.
user_engagement Un 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.

Exportación de datos de BigQuery

Puedes acceder a todos los datos de estadísticas relacionados con tus 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 BigQuery a Firebase 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 de 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.

Para consultar datos de estadísticas en el contexto de un experimento, puedes abrir la página de resultados del experimento y seleccionar Ver en BigQuery. Esto abre el compositor de consultas de la consola de BigQuery con un ejemplo de consulta de datos de experimentos precargados para revisar. Se debe tener 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.

Enviar comentarios sobre...

Si necesitas ayuda, visita nuestra página de asistencia.