Когда вы обращаетесь к своим пользователям или запускаете новую маркетинговую кампанию, вы хотите быть уверены в правильности своих действий. A/B-тестирование поможет вам найти оптимальную формулировку и представление сообщения, протестировав варианты на выбранных группах пользователей. Независимо от того, хотите ли вы улучшить удержание или конверсию предложения, A/B-тестирование позволяет провести статистический анализ и определить, превосходит ли вариант сообщения базовый уровень для достижения выбранной цели.
Для A/B-тестирования вариантов функций с использованием базовой линии выполните следующие действия:
- Создайте свой эксперимент.
- Проверьте свой эксперимент на тестовом устройстве.
- Управляйте своим экспериментом.
Создать эксперимент
Эксперимент, использующий Firebase In-App Messaging позволяет оценить несколько вариантов одного сообщения внутри приложения.
Войдите в консоль Firebase и убедитесь, что в вашем проекте включен Google Analytics , чтобы эксперимент имел доступ к данным Analytics .
Если вы не включили Google Analytics при создании проекта, вы можете включить его на вкладке «Интеграции» , доступ к которой осуществляется через > «Настройки проекта» в консоли Firebase .
В разделе «Взаимодействие» навигационного меню консоли Firebase нажмите A/B Testing .
Нажмите «Создать эксперимент» , а затем, когда будет предложено указать службу, с которой вы хотите поэкспериментировать, выберите «Обмен сообщениями внутри приложения» .
Или же в меню навигации консоли Firebase разверните раздел Engage , затем нажмите In-App Messaging . Затем нажмите New experiment .
Введите имя и (необязательно) описание вашего эксперимента и нажмите кнопку «Далее» .
Заполните поля «Таргетинг» , сначала выбрав приложение, в котором будет использоваться ваш эксперимент. Вы также можете выбрать подгруппу пользователей для участия в эксперименте, выбрав следующие параметры:
- Версия: Одна или несколько версий вашего приложения.
- Аудитория пользователей: Analytics аудитории, используемые для таргетинга пользователей, которые могут быть включены в эксперимент.
- Свойство пользователя: одно или несколько свойств пользователя Analytics для выбора пользователей, которые могут быть включены в эксперимент.
- Страна/регион: одна или несколько стран или регионов для выбора пользователей, которые могут быть включены в эксперимент.
- Язык устройства: один или несколько языков и региональных настроек, используемых для выбора пользователей, которые могут быть включены в эксперимент.
- Первое открытие: таргетинг пользователей на основе того, когда они впервые открыли ваше приложение.
- Последнее взаимодействие с приложением: таргетинг пользователей на основе времени их последнего взаимодействия с вашим приложением.
Установите процент целевых пользователей: выберите процент пользователей вашего приложения, соответствующий критериям, заданным в разделе «Целевые пользователи» , который вы хотите равномерно распределить между базовым значением и одним или несколькими вариантами эксперимента. Это может быть любой процент от 0,01% до 100%. Проценты случайным образом перераспределяются между пользователями для каждого эксперимента, включая дублирующиеся эксперименты.
В разделе «Варианты» настройте базовое сообщение в приложении для отправки базовой группе, используя интерфейс конструктора сообщений, который вы используете для обычной кампании по обмену сообщениями в приложении.
Чтобы добавить вариант в эксперимент, нажмите «Добавить вариант» . По умолчанию эксперименты имеют одну базовую линию и один вариант.
(необязательно) Введите более описательное название для каждого варианта.
(необязательно) В верхней части раздела «Варианты» нажмите кнопку «Сравнить варианты» , чтобы сравнить еще один вариант сообщения рядом с базовым сообщением.
Определите целевую метрику для вашего эксперимента, которая будет использоваться при оценке вариантов эксперимента, а также любые дополнительные метрики из списка, которые вы хотите использовать. Эти метрики включают встроенные цели (вовлеченность, покупки, доход, удержание и т. д.), события-конверсии Analytics и другие события Analytics .
Настройте расписание эксперимента:
- Установите дату начала и окончания эксперимента.
- Настройте, как будут запускаться сообщения внутри приложения для всех вариантов.
Нажмите «Обзор» , чтобы сохранить эксперимент.
Вам разрешено проводить до 300 экспериментов в одном проекте, из которых до 24 могут быть запущены, а остальные — черновыми или завершенными.
Проверьте свой эксперимент на тестовом устройстве
Для каждой установки Firebase вы можете получить связанный с ней токен авторизации. Этот токен можно использовать для тестирования определённых вариантов эксперимента на тестовом устройстве с установленным приложением. Чтобы проверить эксперимент на тестовом устройстве, выполните следующие действия:
- Получите токен авторизации для установки следующим образом:
Быстрый
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") } }
- На панели навигации консоли Firebase нажмите A/B-тестирование .
- Нажмите «Черновик» (и/или «Выполнение» для экспериментов удаленной конфигурации), наведите указатель мыши на свой эксперимент, щелкните контекстное меню ( more_vert ), а затем нажмите «Управление тестовыми устройствами» .
- Введите токен авторизации установки для тестового устройства и выберите вариант эксперимента для отправки на это тестовое устройство.
- Запустите приложение и убедитесь, что выбранный вариант принимается на тестовом устройстве.
Дополнительную информацию об установках Firebase см. в разделе Управление установками Firebase .
Управляйте своим экспериментом
Независимо от того, создаете ли вы эксперимент с помощью Remote Config , Notifications Composer или Firebase In-App Messaging , вы можете проверить и запустить свой эксперимент, отслеживать его ход и увеличивать количество пользователей, включенных в запущенный эксперимент.
После завершения эксперимента вы можете записать настройки, использованные в победившем варианте, а затем распространить их на всех пользователей. Или же вы можете провести ещё один эксперимент.
Начать эксперимент
- В разделе «Взаимодействие» навигационного меню консоли Firebase нажмите A/B Testing .
- Нажмите «Черновик» , а затем нажмите название вашего эксперимента.
- Чтобы убедиться, что в вашем приложении есть пользователи, которые будут включены в ваш эксперимент, разверните сведения о проекте и проверьте наличие числа больше 0% в разделе «Таргетинг и распределение» (например, 1% пользователей, соответствующих критериям ).
- Чтобы изменить эксперимент, нажмите «Изменить» .
- Чтобы начать эксперимент, нажмите « Начать эксперимент» . Вы можете проводить до 24 экспериментов в рамках одного проекта одновременно.
Мониторинг эксперимента
По истечении некоторого времени с момента начала эксперимента вы можете проверить его ход и посмотреть, как выглядят результаты для пользователей, принявших участие в нем до сих пор.
- В разделе «Взаимодействие» навигационного меню консоли Firebase нажмите A/B Testing .
Нажмите «Выполняется» , а затем нажмите на название вашего эксперимента или выполните поиск. На этой странице вы можете просмотреть различные наблюдаемые и смоделированные статистические данные о вашем текущем эксперименте, включая следующие:
- Процент отличия от базового значения : показатель улучшения показателя для данного варианта по сравнению с базовым значением. Рассчитывается путём сравнения диапазона значений варианта с диапазоном значений базового значения.
- Вероятность превзойти базовый уровень : расчетная вероятность того, что данный вариант превзойдет базовый уровень для выбранной метрики.
- observed_metric per user : на основе результатов эксперимента это прогнозируемый диапазон, в который попадет значение метрики с течением времени.
- Общая observed_metric : наблюдаемое кумулятивное значение для базового уровня или варианта. Это значение используется для оценки эффективности каждого варианта эксперимента и для расчета показателей «Улучшение» , «Диапазон значений» , «Вероятность превзойти базовый уровень» и «Вероятность быть лучшим вариантом» . В зависимости от измеряемой метрики этот столбец может быть назван «Длительность на пользователя», «Доход на пользователя», «Коэффициент удержания» или «Коэффициент конверсии».
После того, как ваш эксперимент продлится некоторое время (не менее 7 дней для FCM и In-App Messaging или 14 дней для Remote Config ), данные на этой странице покажут, какой вариант, если таковой имеется, является «лидером». Некоторые измерения сопровождаются столбчатой диаграммой, которая представляет данные в наглядном формате.
Проведите эксперимент для всех пользователей
После того, как эксперимент продлится достаточно долго и определится «лидер» (вариант-победитель) по вашей целевой метрике, вы можете опубликовать его для 100% пользователей. Это позволит вам выбрать вариант для публикации для всех пользователей в будущем. Даже если в ходе эксперимента не будет выявлен явный победитель, вы всё равно можете опубликовать вариант для всех пользователей.
- В разделе «Взаимодействие» навигационного меню консоли Firebase нажмите A/B Testing .
- Нажмите «Завершено» или «Выполняется» , нажмите на эксперимент, который вы хотите запустить для всех пользователей, нажмите контекстное меню ( ) «Развернуть вариант» .
Распространите свой эксперимент на всех пользователей, выполнив одно из следующих действий:
- Для эксперимента, в котором используется компоновщик уведомлений , используйте диалоговое окно « Развернуть сообщение» , чтобы отправить сообщение оставшимся целевым пользователям, которые не участвовали в эксперименте.
- Для эксперимента Remote Config выберите вариант, чтобы определить, какие значения параметров Remote Config нужно обновить. Критерии таргетинга, заданные при создании эксперимента, добавляются в шаблон как новое условие, чтобы гарантировать, что внедрение коснётся только пользователей, на которых направлен эксперимент. После нажатия кнопки «Просмотр» в Remote Config для просмотра изменений нажмите кнопку «Опубликовать изменения» , чтобы завершить внедрение.
- Для эксперимента In-App Messaging используйте диалоговое окно, чтобы определить, какой вариант необходимо развернуть как отдельную кампанию In-App Messaging . После выбора варианта вы будете перенаправлены на экран создания сообщения FIAM для внесения необходимых изменений перед публикацией.
Расширить эксперимент
Если вы обнаружите, что эксперимент не привлекает достаточного количества пользователей для A/B Testing чтобы объявить лидера, вы можете расширить распространение своего эксперимента, чтобы охватить больший процент пользовательской базы приложения.
- В разделе «Взаимодействие» навигационного меню консоли Firebase нажмите A/B Testing .
- Выберите текущий эксперимент, который вы хотите отредактировать.
- В Обзоре эксперимента щелкните контекстное меню ( ), а затем щелкните Изменить запущенный эксперимент .
- В диалоговом окне «Настройка таргетинга» отображается параметр, позволяющий увеличить процент пользователей, участвующих в текущем эксперименте. Выберите число, превышающее текущий процент, и нажмите «Опубликовать» . Эксперимент будет запущен для указанного вами процента пользователей.
Дублировать или остановить эксперимент
- В разделе «Взаимодействие» навигационного меню консоли Firebase нажмите A/B Testing .
- Нажмите «Завершено» или «Выполняется» , наведите указатель мыши на свой эксперимент, нажмите контекстное меню ( ), а затем нажмите «Дублировать эксперимент» или «Остановить эксперимент» .
таргетинг пользователей
Вы можете выбрать пользователей для включения в свой эксперимент, используя следующие критерии таргетинга пользователей.
Критерий таргетинга | Оператор(ы) | Ценности) | Примечание |
---|---|---|---|
Версия | содержит, не содержит, точно совпадает, содержит регулярное выражение | Введите значение для одной или нескольких версий приложения, которые вы хотите включить в эксперимент. | При использовании любого из операторов «содержит» , «не содержит» или «точно соответствует » можно указать список значений, разделенных запятыми. Используя оператор contains regex , вы можете создавать регулярные выражения в формате RE2 . Регулярное выражение может соответствовать всей целевой строке версии или её части. Вы также можете использовать якоря ^ и $ для соответствия началу, концу или всей целевой строке. |
Аудитория(и) пользователей | включает в себя все, включает в себя по крайней мере одно из: не включает в себя все, не включает в себя по крайней мере один из | Выберите одну или несколько аудиторий Analytics , чтобы охватить пользователей, которые могут быть включены в ваш эксперимент. | Для некоторых экспериментов, ориентированных на аудитории Google Analytics может потребоваться несколько дней для сбора данных, поскольку они подвержены задержкам обработки данных Analytics . Чаще всего эта задержка возникает при работе с новыми пользователями, которые обычно регистрируются в подходящих аудиториях через 24–48 часов после создания, или с недавно созданными аудиториями . |
Свойство пользователя | Для текста: содержит, не содержит, точно совпадает, содержит регулярное выражение Для чисел: <, ≤, =, ≥, > | Свойство пользователя Analytics используется для выбора пользователей, которые могут быть включены в эксперимент, с рядом вариантов выбора значений свойств пользователя. На клиенте можно задать только строковые значения для свойств пользователя. Для условий, использующих числовые операторы, служба Remote Config преобразует значение соответствующего свойства пользователя в целое число или число с плавающей точкой. | Используя оператор contains regex , вы можете создавать регулярные выражения в формате RE2 . Регулярное выражение может соответствовать всей целевой строке версии или её части. Вы также можете использовать якоря ^ и $ для соответствия началу, концу или всей целевой строке. |
Страна/регион | Н/Д | Одна или несколько стран или регионов, используемых для отбора пользователей, которые могут быть включены в эксперимент. | |
Языки | Н/Д | Один или несколько языков и локалей, используемых для выбора пользователей, которые могут быть включены в эксперимент. | |
Первый открытый | Больше, чем Меньше, чем Между | Таргетируйте пользователей на основе времени первого открытия ими вашего приложения (указывается в днях). | |
Последнее использование приложения | Больше, чем Меньше, чем Между | Таргетируйте пользователей на основе времени их последнего взаимодействия с вашим приложением (указано в днях). |
Метрики A/B Testing
При создании эксперимента вы выбираете основную, или целевую , метрику, которая используется для определения победившего варианта. Вам также следует отслеживать другие метрики, чтобы лучше понимать эффективность каждого варианта эксперимента и отслеживать важные тенденции, которые могут различаться для каждого варианта, например, удержание пользователей, стабильность приложения и доход от покупок внутри приложения. В ходе эксперимента вы можете отслеживать до пяти нецелевых метрик.
Например, предположим, что вы добавили в приложение новые покупки и хотите сравнить эффективность двух разных «подталкивающих» сообщений. В этом случае вы можете выбрать целевой показатель « Доход от покупок» , поскольку хотите, чтобы выигрышный вариант соответствовал уведомлению, которое принесло наибольший доход от покупок в приложении. Кроме того, поскольку вы хотите отслеживать, какой вариант привел к большему количеству будущих конверсий и удержанию пользователей, вы можете добавить в раздел «Другие отслеживаемые метрики» следующее:- Расчет общего дохода , чтобы увидеть, как ваш совокупный доход от покупок в приложении и рекламы отличается в двух вариантах.
- Удержание (1 день) , Удержание (2–3 дня) , Удержание (4–7 дней) для отслеживания ежедневного/еженедельного удержания пользователей.
В следующих таблицах приведены подробные сведения о том, как рассчитываются целевые показатели и другие показатели.
Показатели цели
Метрическая | Описание |
---|---|
Пользователи без сбоев | Процент пользователей, которые не столкнулись с ошибками в вашем приложении, которые были обнаружены Firebase Crashlytics SDK в ходе эксперимента. |
Предполагаемый доход от рекламы | Предполагаемый доход от рекламы. |
Предполагаемый общий доход | Совокупная стоимость покупки и предполагаемые доходы от рекламы. |
Доход от покупки | Суммарное значение всех событий purchase и in_app_purchase . |
Удержание (1 день) | Количество пользователей, которые ежедневно возвращаются в ваше приложение. |
Удержание (2-3 дня) | Количество пользователей, которые возвращаются в ваше приложение в течение 2–3 дней. |
Удержание (4-7 дней) | Количество пользователей, которые возвращаются в ваше приложение в течение 4–7 дней. |
Удержание (8-14 дней) | Количество пользователей, которые возвращаются в ваше приложение в течение 8–14 дней. |
Удержание (15+ дней) | Количество пользователей, которые возвращаются в ваше приложение через 15 или более дней после последнего использования. |
первый_открытый | Событие Analytics , которое срабатывает при первом открытии пользователем приложения после его установки или переустановки. Используется как часть воронки конверсии. |
Другие показатели
Метрическая | Описание |
---|---|
уведомление_отклонить | Событие Analytics , которое срабатывает при отклонении уведомления, отправленного компоновщиком уведомлений (только для Android). |
уведомление_получить | Событие Analytics , которое срабатывает при получении уведомления, отправленного компоновщиком уведомлений, когда приложение находится в фоновом режиме (только для Android). |
os_update | Событие Analytics , которое отслеживает момент обновления операционной системы устройства до новой версии. Подробнее см. в разделе Автоматически собираемые события . |
экран_вид | Событие Analytics , отслеживающее просмотры экранов в вашем приложении. Подробнее см. в разделе Отслеживание просмотров экранов . |
session_start | Событие Analytics , которое подсчитывает сеансы пользователей в вашем приложении. Подробнее см. в разделе Автоматически собираемые события . |