создание экспериментов In-App Messaging с A/B-тестированием

Когда вы обращаетесь к пользователям или запускаете новую маркетинговую кампанию, вы хотите быть уверены, что все делаете правильно. A/B-тестирование поможет вам найти оптимальные формулировки и оформление, протестировав варианты сообщений на выбранных частях вашей пользовательской базы. Независимо от того, хотите ли вы повысить удержание пользователей или количество конверсий, A/B-тестирование позволяет провести статистический анализ и определить, какой вариант сообщения эффективнее.

Чтобы провести A/B-тестирование вариантов функции с контрольной группой, выполните следующие действия:

  1. Создайте эксперимент.
  2. Проверьте эксперимент на тестовом устройстве.
  3. Управление экспериментом.

Создание эксперимента

Эксперимент с использованием Firebase In-App Messaging позволяет оценить несколько вариантов одного сообщения в приложении.

  1. Убедитесь, что в вашем проекте включен сервис Google Analytics, чтобы у эксперимента был доступ к данным Analytics.

    Если вы не включили Google Analytics при создании проекта, вы можете сделать это на вкладке Settings (Настройки) > Integrations (Интеграции) в консоли Firebase.

  2. В консоли Firebase начните эксперимент Firebase In-App Messaging, выбрав один из следующих вариантов:

    • От A/B Testing:

      1. Перейдите в раздел DevOps & Engagement (DevOps и вовлечение) > A/B Testing (A/B-тестирование).

      2. Нажмите Создать эксперимент и выберите In-App Messaging.

    • От In-App Messaging:

      1. Перейдите в раздел DevOps и вовлечение > Обмен сообщениями.

      2. Нажмите на значок плюса In-App Messaging и выберите Новый эксперимент.

  3. Укажите название и, если нужно, описание эксперимента, а затем нажмите Далее.

  4. Заполните поля в разделе Таргетинг, выбрав приложение, в котором будет проводиться эксперимент. Вы также можете выбрать подгруппу пользователей для участия в эксперименте, используя следующие параметры:

    • Версия. Одна или несколько версий приложения.
    • Аудитория пользователей: Analytics аудиторий, используемых для таргетинга на пользователей, которые могут быть включены в эксперимент.
    • Свойство пользователя. Одно или несколько Analytics свойств пользователей, которые могут быть включены в эксперимент.
    • Страна/регион. Выберите одну или несколько стран или регионов, чтобы отобрать пользователей, которые могут быть включены в эксперимент.
    • Язык устройства. Один или несколько языков и регионов, используемых для выбора пользователей, которые могут быть включены в эксперимент.
    • Первый запуск. Таргетинг на пользователей, которые впервые открыли ваше приложение.
    • Последнее взаимодействие с приложением. Таргетинг на пользователей, которые взаимодействовали с вашим приложением в определенный период времени.
  5. Укажите процент целевых пользователей. Выберите процент пользовательской базы приложения, соответствующий критериям, заданным в разделе Целевые пользователи, который вы хотите равномерно распределить между контрольной группой и одним или несколькими вариантами в эксперименте. Это может быть любое значение от 0,01% до 100%. Проценты случайным образом переназначаются пользователям для каждого эксперимента, включая дублированные эксперименты.

  6. В разделе Варианты настройте контрольное сообщение в приложении, которое будет отправлено контрольной группе. Для этого используйте интерфейс создания сообщений, который вы используете для обычной кампании с сообщениями в приложении.

  7. Чтобы добавить вариант в эксперимент, нажмите Добавить вариант. По умолчанию в эксперименте есть один базовый элемент и один вариант.

  8. При желании введите более описательное название для каждого варианта.

  9. (Необязательно.) В верхней части раздела Варианты нажмите кнопку Сравнить варианты, чтобы сравнить один или несколько вариантов сообщения с базовым.

  10. Определите целевой показатель для эксперимента, который будет использоваться при оценке вариантов эксперимента, а также любые дополнительные показатели из списка, которые вы хотите использовать. К ним относятся встроенные цели (взаимодействие, покупки, доход, удержание и т. д.), Analytics событий-конверсий и другие события Analytics.

  11. Настройте расписание эксперимента:

    • Укажите дату начала и дату окончания эксперимента.
    • Настройте триггеры для сообщений в приложении во всех вариантах.
  12. Нажмите Проверить, чтобы сохранить эксперимент.

В одном проекте можно создать до 300 экспериментов (включая развертывания), из которых до 24 могут быть активными, а остальные – завершенными.

Проверьте эксперимент на тестовом устройстве

Для каждой установки Firebase можно получить связанный с ней токен аутентификации. С помощью этого токена вы можете тестировать определенные варианты эксперимента на тестовом устройстве с установленным приложением. Чтобы проверить эксперимент на тестовом устройстве, выполните следующие действия:

  1. Получите токен аутентификации установки, выполнив следующие действия:

    Swift

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

    Objective-C

    [[FIRInstallations installations] authTokenForcingRefresh:true
                                                   completion:^(FIRInstallationsAuthTokenResult *result, NSError *error) {
      if (error != nil) {
        NSLog(@"Error fetching Installation token %@", error);
        return;
      }
      NSLog(@"Installation auth token: %@", [result authToken]);
    }];

    Java

    FirebaseInstallations.getInstance().getToken(/* forceRefresh */true)
            .addOnCompleteListener(new OnCompleteListener<InstallationTokenResult>() {
        @Override
        public void onComplete(@NonNull Task<InstallationTokenResult> task) {
            if (task.isSuccessful() && task.getResult() != null) {
                Log.d("Installations", "Installation auth token: " + task.getResult().getToken());
            } else {
                Log.e("Installations", "Unable to get Installation auth token");
            }
        }
    });

    Kotlin

    val forceRefresh = true
    FirebaseInstallations.getInstance().getToken(forceRefresh)
        .addOnCompleteListener { task ->
            if (task.isSuccessful) {
                Log.d("Installations", "Installation auth token: " + task.result?.token)
            } else {
                Log.e("Installations", "Unable to get Installation auth token")
            }
        }

    Веб-приложение

          import { getInstallations, getToken } from "firebase/installations";
    
          const installations = getInstallations(app);
          const installationAuthToken = getToken(installations);
      
  2. В консоли Firebase выберите DevOps & Engagement (DevOps и вовлечение) > A/B Testing (A/B-тестирование).
  3. Нажмите Черновик (и/или Выполняется для экспериментов Remote Config), наведите указатель мыши на эксперимент, откройте контекстное меню () и выберите Управление тестовыми устройствами.
  4. Введите токен аутентификации установки для тестового устройства и выберите вариант эксперимента, который нужно отправить на это устройство.
  5. Запустите приложение и убедитесь, что выбранный вариант получен на тестовом устройстве.

FirebaseПодробнее об управлении установками Firebase…

Как управлять экспериментом

Remote Config, компоновщик уведомлений и Firebase In-App Messaging позволяют проверять и запускать эксперименты, отслеживать их ход и увеличивать количество пользователей, участвующих в них.

Когда эксперимент завершится, вы сможете применить настройки победившего варианта ко всем пользователям. или провести другой эксперимент.

Запуск эксперимента

  1. В консоли Firebase выберите DevOps & Engagement (DevOps и вовлечение) > A/B Testing (A/B-тестирование).
  2. Нажмите Черновик, а затем выберите название эксперимента.
  3. Чтобы убедиться, что в эксперименте будут участвовать пользователи, разверните сведения о проекте и проверьте, что в разделе Таргетинг и распределение указано значение больше 0% (например, 1% пользователей, соответствующих критериям).
  4. Чтобы изменить эксперимент, нажмите Изменить.
  5. Чтобы запустить эксперимент, нажмите Начать эксперимент. В рамках одного проекта можно одновременно проводить до 24 экспериментов.

Как отслеживать ход эксперимента

Через некоторое время после запуска эксперимента вы можете проверить его ход и посмотреть результаты для пользователей, которые уже приняли в нем участие.

  1. В консоли Firebase выберите DevOps & Engagement (DevOps и вовлечение) > A/B Testing (A/B-тестирование).
  2. Нажмите Выполняется, а затем выберите или найдите название эксперимента. На этой странице вы можете посмотреть различные наблюдаемые и смоделированные статистические данные о текущем эксперименте, в том числе:

    • % разницы с базовым вариантом. Показатель улучшения для определенного варианта по сравнению с базовым. Рассчитывается путем сравнения диапазона значений для варианта с диапазоном значений для базового уровня.
    • Вероятность опережения базовой модели. Расчетная вероятность того, что определенный вариант превзойдет базовую модель по выбранному показателю.
    • observed_metric на пользователя. Прогнозируемый диапазон, в который со временем попадет значение показателя. Рассчитывается на основе результатов эксперимента.
    • Общая observed_metric – наблюдаемое совокупное значение для контрольной или экспериментальной группы. Это значение используется для оценки эффективности каждого варианта эксперимента, а также для расчета улучшения, диапазона значений, вероятности опережения базовой модели и вероятности того, что вариант окажется лучшим. В зависимости от отслеживаемого показателя этот столбец может называться "Продолжительность на пользователя", "Доход на пользователя", "Показатель удержания" или "Коэффициент конверсии".
  3. После того как эксперимент продлится некоторое время (не менее 7 дней для FCM и In-App Messaging или 14 дней для Remote Config), на этой странице появятся данные о том, какой вариант является лидером. Некоторые показатели сопровождаются линейчатой диаграммой, которая представляет данные в визуальном формате.

Как запустить эксперимент для всех пользователей

Когда будет определен выигравший вариант, вы сможете выпустить его для всех пользователей. вы сможете показывать его всем пользователям. Даже если в эксперименте нет явного победителя, вы можете распространить определенный вариант на всех пользователей.

  1. В консоли Firebase выберите DevOps & Engagement (DevOps и вовлечение) > A/B Testing (A/B-тестирование).
  2. Нажмите Завершено или Выполняется, выберите эксперимент, который хотите применить ко всем пользователям, откройте контекстное меню и нажмите Применить вариант.
  3. Чтобы запустить эксперимент для всех пользователей, выполните одно из следующих действий:

    • Если вы проводите эксперимент с помощью Компоновщика уведомлений, используйте диалоговое окно Развернуть сообщение, чтобы отправить сообщение остальным целевым пользователям, которые не участвовали в эксперименте.
    • Для эксперимента Remote Config выберите вариант, чтобы определить, какие значения параметров Remote Config нужно обновить. Критерии таргетинга, заданные при создании эксперимента, будут добавлены в шаблон в качестве нового условия, чтобы развертывание затронуло только пользователей, на которых был нацелен эксперимент. Нажмите Проверить в Remote Config, чтобы посмотреть изменения, а затем – Опубликовать изменения, чтобы завершить развертывание.
    • Для эксперимента In-App Messaging используйте диалоговое окно, чтобы определить, какой вариант нужно запустить как отдельную кампанию In-App Messaging. После этого вы будете перенаправлены на экран создания сообщения, где сможете внести изменения перед публикацией.

Как расширить эксперимент

Если вы обнаружите, что эксперимент не привлекает достаточно пользователей, чтобы A/B Testing мог определить лидера, вы можете увеличить распространение эксперимента, чтобы охватить больший процент пользовательской базы приложения.

  1. В консоли Firebase выберите DevOps & Engagement (DevOps и вовлечение) > A/B Testing (A/B-тестирование).
  2. Выберите активный эксперимент, который нужно изменить.
  3. В разделе Обзор эксперимента нажмите на значок контекстного меню и выберите Изменить текущий эксперимент.
  4. В диалоговом окне Таргетинг вы увидите параметр, позволяющий увеличить долю пользователей, участвующих в эксперименте. Выберите число, которое больше текущего процента, и нажмите Опубликовать. Эксперимент будет запущен для указанного вами процента пользователей.

Как скопировать или остановить эксперимент

  1. В консоли Firebase выберите DevOps & Engagement (DevOps и вовлечение) > A/B Testing (A/B-тестирование).
  2. Нажмите Завершено или Выполняется, наведите указатель на эксперимент, откройте контекстное меню и выберите Дублировать эксперимент или Остановить эксперимент.

Таргетинг на пользователей

Вы можете настроить таргетинг на пользователей, которых хотите включить в эксперимент, используя следующие критерии таргетинга.

Критерий таргетинга Операторы Значения Примечание
Версия содержит;
не содержит;
точное соответствие;
содержит регулярное выражение.
Укажите одну или несколько версий приложения, которые вы хотите включить в эксперимент.

При использовании операторов содержит, не содержит или точное соответствие можно указать список значений, разделенных запятыми.

При использовании оператора содержит регулярное выражение можно создавать регулярные выражения в формате RE2. Регулярное выражение может соответствовать всей строке целевой версии или ее части. Вы также можете использовать якоря ^ и $, чтобы сопоставлять начало, конец или всю целевую строку.

Аудитории пользователей включает все;
включает хотя бы один;
не включает все;
не включает хотя бы один.
Выберите одну или несколько аудиторий Analytics, чтобы настроить таргетинг на пользователей, которые могут быть включены в эксперимент. Для некоторых экспериментов, нацеленных на Google Analytics аудиторий, может потребоваться несколько дней, чтобы накопить данные, поскольку они подвержены Analytics задержке обработки данных. Чаще всего задержка возникает при добавлении новых пользователей, которые обычно включаются в подходящие аудитории через 24–48 часов после создания, или при работе с недавно созданными аудиториями.
Свойство пользователя Для текста:
содержит;
не содержит;
точное соответствие;
содержит регулярное выражение.

Для чисел:
<, ≤, =, ≥, >
Свойство пользователя Analytics используется для выбора пользователей, которые могут быть включены в эксперимент, с диапазоном вариантов выбора значений свойств пользователя.

На стороне клиента для свойств пользователя можно задавать только строковые значения. Для условий, в которых используются числовые операторы, сервис Remote Config преобразует значение соответствующего свойства пользователя в целое число или число с плавающей запятой.
При использовании оператора содержит регулярное выражение вы можете создавать регулярные выражения в формате RE2. Регулярное выражение может соответствовать всей строке целевой версии или ее части. Вы также можете использовать якоря ^ и $, чтобы сопоставить начало, конец или всю целевую строку.
Страна/регион Н/Д Одна или несколько стран или регионов, используемых для выбора пользователей, которые могут быть включены в эксперимент.  
Языки Н/Д Один или несколько языков и регионов, используемых для выбора пользователей, которые могут быть включены в эксперимент.  
Первый запуск Больше
Меньше
Между
Таргетинг на пользователей, которые впервые открыли ваше приложение в течение указанного количества дней.
Последнее взаимодействие с приложением Больше
Меньше
Между
Таргетинг на пользователей, которые взаимодействовали с вашим приложением в течение определенного количества дней.

A/B Testing показателя

При создании эксперимента вы выбираете основной, или целевой, показатель, который используется для определения наиболее эффективного варианта. Также отслеживайте другие показатели, чтобы лучше понимать эффективность каждого варианта эксперимента и выявлять важные тенденции, которые могут различаться для каждого варианта, например удержание пользователей, стабильность приложения и доход от покупок в приложении. В эксперименте можно отслеживать до пяти показателей, не связанных с целями.

Например, вы добавили в приложение новые покупки и хотите сравнить эффективность двух разных сообщений с предложением их совершить. В этом случае в качестве целевого показателя можно выбрать Доход от покупок, чтобы победителем стал вариант уведомления, который принес наибольший доход от покупок в приложении. Поскольку вы также хотите отслеживать, какой вариант привел к большему количеству будущих конверсий и удержанных пользователей, вы можете добавить в раздел Другие показатели для отслеживания следующие показатели:

  • Расчетный общий доход. Позволяет сравнить общий доход от покупок в приложении и рекламы для двух вариантов.
  • Удержание (1 день), Удержание (2–3 дня), Удержание (4–7 дней), чтобы отслеживать удержание пользователей по дням или неделям.

В таблицах ниже приведены подробные сведения о том, как рассчитываются показатели целей и другие показатели.

Показатели целей

Показатель Описание
Пользователи, у которых не возникали сбои Процент пользователей, у которых не возникало ошибок в приложении, обнаруженных SDK Firebase Crashlytics во время эксперимента.

Примечание. Firebase Crashlytics не поддерживается для веб-приложений.

Расчетный доход от рекламы Расчетный доход от рекламы.
Общий расчетный доход Общая ценность покупок и расчетного дохода от рекламы.
Доход от покупок Общая ценность всех событий purchase и in_app_purchase.
Удержание (1 день) Количество пользователей, которые ежедневно возвращаются в ваше приложение.
Удержание (2–3 дня) Количество пользователей, которые возвращаются в приложение в течение 2–3 дней.
Удержание (4–7 дней) Количество пользователей, которые возвращаются в приложение в течение 4–7 дней.
Удержание (8–14 дней) Количество пользователей, которые вернулись в приложение в течение 8–14 дней.
Удержание (более 15 дней) Количество пользователей, которые вернулись в приложение через 15 или более дней после последнего использования.
first_open Событие Analytics, которое активируется, когда пользователь впервые открывает приложение после установки или переустановки. Используется как часть воронки конверсии.

Другие показатели

Показатель Описание
notification_dismiss Событие Analytics, которое регистрируется, когда пользователь закрывает уведомление, отправленное Компоновщиком уведомлений (только для Android).
notification_receive Событие Analytics, которое активируется, когда уведомление, отправленное Компоновщиком уведомлений, получено в момент, когда приложение функционирует в фоновом режиме (только для Android).
os_update Событие Analytics, которое регистрируется при обновлении операционной системы устройства. Подробнее об автоматически регистрируемых событиях…

Этот показатель не поддерживается для веб-приложений.

screen_view Событие Analytics, которое отслеживает просмотры экранов в приложении. Подробнее об отслеживании просмотров экранов…
session_start Событие Analytics, которое подсчитывает сеансы пользователей в приложении. Подробнее об автоматически регистрируемых событиях…