Создавайте эксперименты с обменом сообщениями внутри приложения с помощью A/B-тестирования

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

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

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

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

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

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

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

  2. В разделе Engage навигационного меню консоли Firebase нажмите A/B Testing .

  3. Нажмите «Создать эксперимент» , а затем, когда появится запрос на выбор сервиса, с которым вы хотите поэкспериментировать, выберите «Встроенные сообщения» .

  4. В качестве альтернативы, в меню навигации консоли Firebase разверните раздел Engage , затем щелкните In-App Messaging . После этого щелкните New experiment .

  5. Введите название и, при желании, описание для вашего эксперимента и нажмите «Далее» .

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

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

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

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

  10. (необязательно) Введите более описательное название для каждого варианта.

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

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

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

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

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

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

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

  1. Получите токен авторизации установки следующим образом:

    Быстрый

    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")
            }
        }
  2. На панели навигации консоли Firebase нажмите «A/B-тестирование» .
  3. Нажмите «Черновик» (и/или «Запуск» для экспериментов с удаленной конфигурацией), наведите курсор на свой эксперимент, щелкните контекстное меню ( ), а затем нажмите «Управление тестовыми устройствами» .
  4. Введите токен авторизации установки для тестового устройства и выберите вариант эксперимента, который будет отправлен на это тестовое устройство.
  5. Запустите приложение и убедитесь, что выбранный вариант принимается на тестовом устройстве.

Чтобы узнать больше об установках Firebase , см. раздел «Управление установками Firebase» .

Управляйте своим экспериментом

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

После завершения эксперимента вы можете зафиксировать настройки, использованные в варианте-победителе, а затем распространить эти настройки на всех пользователей. Или же вы можете провести еще один эксперимент.

Начните эксперимент

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

Мониторинг эксперимента

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

  1. В разделе Engage навигационного меню консоли Firebase нажмите A/B Testing .
  2. Нажмите «Бег» , а затем выберите или найдите название вашего эксперимента. На этой странице вы можете просмотреть различные наблюдаемые и смоделированные статистические данные о вашем эксперименте по бегу, включая следующие:

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

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

После того, как эксперимент продлится достаточно долго и выявите «лидера», или выигрышный вариант, для целевого показателя, вы можете запустить эксперимент для 100% пользователей. Это позволит вам выбрать вариант, который будет доступен всем пользователям в дальнейшем. Даже если ваш эксперимент не выявил явного победителя, вы все равно можете выбрать вариант, доступный всем пользователям.

  1. В разделе Engage навигационного меню консоли Firebase нажмите A/B Testing .
  2. Нажмите «Завершено» или «Выполняется» , выберите эксперимент, который хотите запустить для всех пользователей, затем нажмите контекстное меню ( ) и выберите «Развернуть вариант» .
  3. Для запуска эксперимента на всех пользователях выполните одно из следующих действий:

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

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

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

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

Повторите или прекратите эксперимент.

  1. В разделе Engage навигационного меню консоли Firebase нажмите A/B Testing .
  2. Нажмите «Завершено» или «Выполняется» , наведите указатель мыши на свой эксперимент, щелкните контекстное меню ( ), а затем выберите «Дублировать эксперимент» или «Остановить эксперимент» .

Целевой пользователь

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

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

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

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

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

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

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

Метрики A/B Testing

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

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

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

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

Целевые показатели

Метрическая система Описание
Пользователи без сбоев Процент пользователей, которые не столкнулись с ошибками в вашем приложении, обнаруженными SDK Firebase Crashlytics во время эксперимента.
Предполагаемый доход от рекламы Предполагаемый доход от рекламы.
Предполагаемый общий доход Совокупная стоимость покупки и предполагаемые доходы от рекламы.
Доход от покупки Суммарное значение для всех событий, связанных purchase и in_app_purchase .
Срок хранения (1 день) Количество пользователей, которые ежедневно возвращаются в ваше приложение.
Сохранение эффекта (2-3 дня) Количество пользователей, которые возвращаются в ваше приложение в течение 2-3 дней.
Срок хранения (4-7 дней) Количество пользователей, которые возвращаются в ваше приложение в течение 4-7 дней.
Срок хранения (8-14 дней) Количество пользователей, которые возвращаются в ваше приложение в течение 8-14 дней.
Сохранение данных (более 15 дней) Количество пользователей, которые возвращаются в ваше приложение через 15 или более дней после последнего использования.
первый_открытый Analytics событие, которое срабатывает при первом открытии пользователем приложения после его установки или переустановки. Используется как часть воронки конверсии.

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

Метрическая система Описание
уведомление_отклонить Событие Analytics , которое срабатывает при отклонении уведомления, отправленного редактором уведомлений (только для Android).
notification_receive Событие Analytics , которое срабатывает при получении уведомления, отправленного редактором уведомлений, когда приложение находится в фоновом режиме (только для Android).
os_update Analytics событие, отслеживающее обновление операционной системы устройства до новой версии. Для получения дополнительной информации см. раздел «Автоматически собираемые события» .
screen_view Событие Analytics , отслеживающее просмотренные экраны в вашем приложении. Подробнее см. раздел «Отслеживание просмотров экранов» .
session_start Analytics событие, которое подсчитывает количество пользовательских сессий в вашем приложении. Подробнее см. в разделе «Автоматически собираемые события» .