Catch up on everything announced at Firebase Summit, and learn how Firebase can help you accelerate app development and run your app with confidence. Learn More

Cree experimentos de mensajería con pruebas A/B

Cuando se comunica con sus usuarios o inicia una nueva campaña de marketing, desea asegurarse de hacerlo bien. Las pruebas A/B pueden ayudarlo a encontrar la redacción y la presentación óptimas al probar variantes de mensajes en partes seleccionadas de su base de usuarios. Ya sea que su objetivo sea una mejor retención o conversión en una oferta, las pruebas A/B pueden realizar análisis estadísticos para determinar si una variante de mensaje está superando la línea de base para su objetivo seleccionado.

Para realizar pruebas A/B de variantes de características 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 usa el redactor 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 cuando creó su proyecto, puede habilitarlo en la pestaña Integraciones , a la que puede acceder usando > Configuración del proyecto en la consola de Firebase .

  2. En la sección Engage de la barra de navegación de Firebase Console , haga 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. Rellene los campos de Orientación , eligiendo 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 incluyen lo siguiente:

    • Versión: una o más versiones de su aplicación
    • Audiencia de usuarios: audiencias de Analytics que se utilizan para orientar 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: Diríjase a los usuarios en función de la primera vez que abrieron su aplicación.
    • Última interacción con la aplicación: Diríjase a los usuarios en función de 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 coincida con los criterios establecidos en Usuarios objetivo que desea dividir equitativamente entre la línea de base y una o más variantes en su experimento. Esto 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 referencia en el campo Introducir 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 de 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 use al evaluar las variantes del experimento junto con cualquier métrica adicional deseada 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 mensaje enumeradas.
  12. Haga clic en Revisar para guardar su experimento.

Tiene permitido hasta 300 experimentos por proyecto, que pueden consistir en hasta 24 experimentos en ejecución, con 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. Puede usar 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 de FCM para un dispositivo de prueba y elija la variante de experimento para enviar a ese dispositivo de prueba.
  5. Ejecute la aplicación y confirme que la variante seleccionada se recibe en el dispositivo de prueba.

Administra tu experimento

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

Cuando termine su experimento, puede tomar nota de la configuración utilizada por la variante ganadora y luego implementar esa configuración para todos los usuarios. O bien, puede ejecutar otro experimento.

Iniciar un experimento

  1. En la sección Engage de la barra de navegación de Firebase Console , haga 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 tiene usuarios que se incluirían en su experimento, expanda los detalles del borrador y busque un número superior al 0 % en la sección Orientación y distribución (por ejemplo, 1 % de usuarios que coincidan con los criterios ).
  4. Para cambiar su experimento, haga clic en Editar .
  5. Para comenzar su experimento, haga clic en Iniciar experimento . Puede ejecutar hasta 24 experimentos por proyecto a la vez.

Supervisar un experimento

Una vez que un experimento ha estado ejecutándose durante un tiempo, puede verificar su progreso y ver cómo se ven los resultados para los usuarios que han participado en su experimento hasta el momento.

  1. En la sección Engage de la barra de navegación de Firebase Console , haga clic en Pruebas A/B .
  2. Haga clic en En ejecución y, a continuación, 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 desde la línea de base : una medida de la mejora de una métrica para una variante dada 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 de 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 acumulativo observado para la línea de base o la variante. El valor se usa para medir el rendimiento de cada variante del experimento y se usa para calcular Mejora , Rango de valor , Probabilidad de superar la línea de base y Probabilidad de ser la mejor variante . Según la métrica que se mida, esta columna puede tener la etiqueta "Duración por usuario", "Ingresos por usuario", "Tasa de retención" o "Tasa de conversión".
  3. Después de que su experimento se haya ejecutado por un tiempo (al menos 7 días para FCM y Mensajería en la aplicación o 14 días para Configuración remota), los datos en esta página indican qué variante, si alguna, es la "líder". Algunas medidas van acompañadas de un gráfico de barras que presenta los datos en un formato visual.

Implementar un experimento para todos los usuarios

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

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

    • Para un experimento que usa el redactor de notificaciones , use el cuadro de diálogo Desplegar 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 agregarán como una nueva condición en su plantilla, para garantizar que el lanzamiento solo afecte a los usuarios objetivo del 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 , use 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, será redirigido a la pantalla de redacción de FIAM para realizar cambios (si es necesario) antes de publicar.

Expandir 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 mayor porcentaje de la base de usuarios de la aplicación.

  1. En la sección Engage de la barra de navegación de Firebase Console , haga 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 Segmentación muestra una opción para aumentar el porcentaje de usuarios que están en el experimento que se está ejecutando actualmente. 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 de la barra de navegación de Firebase Console , haga clic en Pruebas A/B .
  2. Haga clic en Completado o En ejecución , coloque el cursor sobre su experimento, haga clic en el menú contextual ( ) y luego haga clic en Duplicar experimento o Detener experimento .

Segmentación de usuarios

Puede segmentar a los usuarios para incluirlos en su experimento utilizando los siguientes criterios de segmentación por usuario.

Criterio de orientació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.

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

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

Audiencia(s) de usuarios incluye todo,
incluye al menos uno de,
no incluye todo,
no incluye al menos uno de
Seleccione una o más audiencias de Analytics para dirigirse a los usuarios que podrían estar incluidos 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 de procesamiento de datos de Analytics. Es más probable que experimente este retraso con los usuarios nuevos, que normalmente se inscriben en audiencias calificadas entre 24 y 48 horas después de la creación, o para audiencias creadas recientemente .
Propiedad de 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 gama de opciones para seleccionar valores de propiedad de usuario.

En el cliente, solo puede establecer valores de cadena para las propiedades del usuario. Para las condiciones que utilizan operadores numéricos, el servicio de configuración remota convierte el valor de la propiedad de usuario correspondiente en un número entero/flotante.
Al usar el operador contiene expresiones regulares, puede crear expresiones regulares en formato RE2 . Su expresión regular puede coincidir con la totalidad o parte de la cadena de la versión de destino. También puede usar 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 utilizados para 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 en función de la primera vez que abrieron su aplicación, especificada en días. Este criterio de segmentación solo está disponible para Firebase In-App Messaging.
Última interacción con la aplicación Más que
Menos que
Entre
Diríjase a los usuarios en función de la última vez que interactuaron con su aplicación, especificada en días. Este criterio de segmentación solo está disponible para Firebase In-App Messaging.

Métricas de prueba A/B

Cuando crea su experimento, elige una métrica principal o de objetivo que se usa para determinar la variante ganadora. También debe realizar un seguimiento de otras métricas para ayudarlo 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 no relacionadas con objetivos en su experimento.

Por ejemplo, supongamos que agregó nuevas compras en la aplicación a su aplicación y desea comparar la efectividad de dos mensajes de "empujón" diferentes. En este caso, puede decidir establecer Ingresos por compras como la métrica de su objetivo porque desea que la variante ganadora represente la notificación que resultó en los mayores ingresos por compras en la aplicación. Y dado que también desea realizar un seguimiento de qué variante resultó en más conversiones futuras y usuarios retenidos, puede agregar lo siguiente en Otras métricas para realizar un seguimiento :

  • Ingresos totales estimados para ver cómo su compra en la aplicación combinada y los ingresos publicitarios difieren 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 su 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 bloqueos 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 de 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-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 o más días después de la última vez que la usaron.
primer_abierto Un evento de Analytics que se activa cuando un usuario abre una aplicación por primera vez 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_descartar 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).
os_update Un evento de Analytics que realiza un seguimiento cuando el sistema operativo del dispositivo se actualiza 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 .
sesión_inicio 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

Puede acceder a todos los datos analíticos relacionados con sus pruebas A/B en BigQuery . BigQuery le permite analizar los datos con BigQuery SQL, exportarlos a otro proveedor de la nube o usar los datos para sus modelos de aprendizaje automático personalizados. Consulta Vincular BigQuery a Firebase 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 pago por uso "Blaze". BigQuery cobra por almacenar datos, transmitir inserciones y consultar datos. Cargar y exportar datos no tiene costo. Consulte los precios de BigQuery o la zona de pruebas de BigQuery para obtener más información.

Para comenzar, asegúrese de que su proyecto de Firebase esté vinculado a BigQuery. Seleccione Configuración > Configuración del proyecto en la barra de navegación izquierda, luego seleccione Integraciones > BigQuery > Vínculo . Esta página muestra opciones para realizar la exportación de datos analíticos de BiqQuery para todas las aplicaciones del proyecto.

Para consultar los datos analíticos de un experimento:

  1. En su lista de experimentos activos , seleccione el experimento deseado para abrir la página de resultados del experimento.
  2. Desde el menú contextual en el panel de descripción general del experimento , seleccione Consultar datos del experimento (esta opción no está disponible para proyectos en el nivel sin costo) .

    Esto abre el compositor de consultas de la consola de BigQuery con una consulta de ejemplo generada automáticamente de datos de experimentos precargados para su revisión. En esta consulta, su experimento se codifica como una propiedad de usuario con el nombre del experimento en la clave y la variante del experimento en el valor.

  3. En el redactor de consultas, seleccione Ejecutar consulta. Los resultados se muestran en el panel inferior.

Tenga en cuenta que, debido a que los datos de Firebase en BigQuery se actualizan solo una vez al día, los datos disponibles en la página del experimento pueden estar más actualizados que los datos disponibles en la consola de BigQuery.