Когда вы обращаетесь к своим пользователям или начинаете новую маркетинговую кампанию, вам нужно убедиться, что вы все делаете правильно. A/B-тестирование может помочь вам найти оптимальную формулировку и презентацию путем тестирования вариантов сообщения на выбранных частях вашей пользовательской базы. Независимо от того, является ли ваша цель лучшим удержанием или конверсией предложения, A/B-тестирование может выполнить статистический анализ, чтобы определить, превосходит ли вариант сообщения базовый уровень для выбранной вами цели.
Чтобы провести A/B-тестирование вариантов функций с базовым уровнем, выполните следующие действия:
- Создайте свой эксперимент.
- Проверьте свой эксперимент на тестовом устройстве.
- Управляйте своим экспериментом.
Создать эксперимент
Эксперимент, в котором используется Firebase In-App Messaging позволяет оценить несколько вариантов одного сообщения внутри приложения.
Войдите в консоль Firebase и убедитесь, что Google Analytics включен в вашем проекте, чтобы эксперимент имел доступ к данным Analytics .
Если вы не включили Google Analytics при создании проекта, вы можете включить его на вкладке «Интеграции» , доступ к которой можно получить, выбрав > «Настройки проекта» в консоли Firebase .
В разделе «Взаимодействие» навигационного меню консоли Firebase нажмите A/B Testing .
Нажмите «Создать эксперимент » и выберите «Сообщения в приложении», когда будет предложено выбрать службу, с которой вы хотите поэкспериментировать.
Либо в меню навигации консоли Firebase разверните «Взаимодействовать» и нажмите In-App Messaging . Затем нажмите «Новый эксперимент» .
Введите имя и (необязательно) описание вашего эксперимента и нажмите «Далее» .
Заполните поля «Таргетинг» , сначала выбрав приложение, в котором используется ваш эксперимент. Вы также можете настроить таргетинг на участие в эксперименте определенной группы пользователей, выбрав следующие варианты:
- Версия: одна или несколько версий вашего приложения.
- Аудитория пользователей: аудитории 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)") }
Цель-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+KTX
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 , Composer Notifications или Firebase In-App Messaging , вы можете затем проверить и запустить эксперимент, отслеживать его во время его выполнения и увеличивать количество пользователей, включенных в текущий эксперимент.
Когда ваш эксперимент будет завершен, вы можете принять к сведению настройки, используемые победившим вариантом, а затем распространить эти настройки на всех пользователей. Или вы можете провести еще один эксперимент.
Начать эксперимент
- В разделе «Взаимодействие» навигационного меню консоли Firebase нажмите A/B Testing .
- Нажмите «Черновик» , а затем нажмите на название эксперимента.
- Чтобы убедиться, что в вашем приложении есть пользователи, которые будут включены в ваш эксперимент, разверните сведения о черновике и проверьте число, превышающее 0 % в разделе "Таргетинг и распространение" (например, 1 % пользователей, соответствующих критериям ).
- Чтобы изменить эксперимент, нажмите «Изменить» .
- Чтобы начать эксперимент, нажмите «Начать эксперимент» . Одновременно можно проводить до 24 экспериментов в каждом проекте.
Мониторинг эксперимента
После того, как эксперимент продлится какое-то время, вы сможете следить за его ходом и посмотреть, как выглядят ваши результаты для пользователей, которые уже участвовали в вашем эксперименте.
- В разделе «Взаимодействие» навигационного меню консоли Firebase нажмите A/B Testing .
Нажмите «Выполнение» , а затем нажмите или найдите название своего эксперимента. На этой странице вы можете просмотреть различные наблюдаемые и смоделированные статистические данные о проводимом эксперименте, в том числе следующие:
- % разницы от базового уровня : мера улучшения показателя для данного варианта по сравнению с базовым уровнем. Рассчитывается путем сравнения диапазона значений варианта с диапазоном значений базового плана.
- Вероятность превышения базового уровня : расчетная вероятность того, что данный вариант превысит базовый уровень для выбранного показателя.
- observed_metric для каждого пользователя : на основе результатов эксперимента это прогнозируемый диапазон, в который значение метрики попадет с течением времени.
- Общая 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 или более дней после последнего его использования. |
first_open | Событие Analytics , которое срабатывает, когда пользователь впервые открывает приложение после его установки или переустановки. Используется как часть воронки конверсии. |
Другие показатели
Метрика | Описание |
---|---|
уведомление_отклонить | Событие Analytics , которое срабатывает, когда уведомление, отправленное композитором уведомлений, отклоняется (только для Android). |
уведомление_получить | Событие Analytics , которое срабатывает при получении уведомления, отправленного композитором уведомлений, когда приложение находится в фоновом режиме (только для Android). |
os_update | Событие Analytics , которое отслеживает обновление операционной системы устройства до новой версии. Дополнительные сведения см. в разделе Автоматически собираемые события . |
screen_view | Событие Analytics , которое отслеживает экраны, просматриваемые в вашем приложении. Подробнее см. в разделе Отслеживание просмотров экрана . |
session_start | Событие Analytics , которое подсчитывает сеансы пользователей в вашем приложении. Дополнительные сведения см. в разделе Автоматически собираемые события . |