Google 致力于为黑人社区推动种族平等。查看具体举措

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

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

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

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

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

Эксперимент, в котором используется композитор уведомлений, позволяет оценить несколько вариантов одного сообщения уведомления.

  1. Войдите Firebase, обновление настроек совместного использования данных и убедитесь , что совместное использование данных включено. Без обмена данными у вашего эксперимента не будет доступа к данным аналитики.
  2. В разделе Engage в консоли Firebase панели навигации выберите A / B тестирование.
  3. Нажмите кнопку Создать эксперимент, а затем выберите Уведомления при запросе сервиса вы хотите поэкспериментировать с.
  4. Введите имя и описание для эксперимента, и нажмите кнопку Далее.
  5. Заполните поля таргетинга, первый выбор приложения , которое использует свой эксперимент. Вы также можете настроить таргетинг на участие в эксперименте определенных пользователей, выбрав следующие варианты:

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

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

  8. (необязательно) Чтобы добавить более чем один вариант для эксперимента, нажмите кнопку Добавить вариант. По умолчанию в экспериментах есть одна контрольная группа и один вариант.

  9. (необязательно) Введите имя для каждого варианта в эксперименте заменить имена Вариант А, вариант Б и т.д.

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

  11. Выберите варианты вашего сообщения:

    • Срок поставки: Либо выберите Отправить сейчас немедленно начать эксперимент по экономии, или по расписанию , чтобы указать время запуска эксперимента в будущем.
    • Дополнительные возможности: Чтобы выбрать дополнительные опции для всех уведомлений , включенных в эксперименте, расширить дополнительные параметры, а затем изменить любого из перечисленных опций сообщений.
  12. Нажмите Обзор , чтобы сохранить свой эксперимент.

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

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

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

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

    Быстрый

    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

    [[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;
      }
    }];
    

    Ява

    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();
            }
        });

    Котлин + 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. На Firebase консоли панели навигации выберите A / B тестирование.
  3. Нажмите Draft, парить над экспериментом, нажмите контекстное меню ( ), а затем нажмите кнопку Управления тестовых устройств
  4. Введите токен FCM для тестового устройства и выберите вариант эксперимента для отправки на это тестовое устройство.
  5. Запустите приложение и убедитесь, что выбранный вариант поступает на тестовое устройство.

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

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

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

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

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

Наблюдать за экспериментом

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

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

    • Разница% от базовой линии: Мера улучшения метрики для данного варианта по сравнению с исходным уровнем (или контрольной группой). Вычисляется путем сравнения диапазона значений для варианта с диапазоном значений для базовой линии.
    • Вероятность биений базовой линии: По оценкам , вероятность того, что данный вариант бьет базовый уровень для выбранного показателя.
    • observed_metric для каждого пользователя: на основе результатов эксперимента, это предсказанный диапазон , что значение метрики будет падать в течение долгого времени.
    • Общая observed_metric : Наблюдаемая накопленная величина для контрольной группы или варианты. Значение используется для измерения , насколько хорошо каждый эксперимент вариантные выполняет, и используется для расчета улучшения, Диапазон значений, вероятность биений базовой линии, и вероятность быть лучшим вариантом. В зависимости от измеряемой метрики этот столбец может иметь название «Продолжительность на пользователя», «Доход на пользователя», «Уровень удержания» или «Коэффициент конверсии».
  3. После того, как ваш эксперимент продлится некоторое время (по крайней мере, 7 дней для FCM и обмена сообщениями в приложении или 14 дней для Remote Config), данные на этой странице показывают, какой вариант, если таковой имеется, является «лидером». Некоторые измерения сопровождаются гистограммой, которая представляет данные в визуальном формате.

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

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

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

    • Для эксперимента , который использует композитор Notifications, используйте раскатать диалоговое окно сообщения , чтобы отправить сообщение оставшихся целевых пользователей , которые не были частью эксперимента.
    • Для эксперимента Remote Config выберите вариант, чтобы определить, какие значения параметра Remote Config нужно обновить. Критерии таргетинга, определенные при создании эксперимента, будут добавлены в ваш шаблон в качестве нового условия, чтобы внедрение затронуло только тех пользователей, на которые направлен эксперимент. После нажатия на кнопку Обзор в Remote Config , чтобы просмотреть изменения, нажмите кнопку Опубликовать изменения , чтобы завершить развертывание.
    • Для эксперимента по обмену сообщениями в приложении используйте диалоговое окно, чтобы определить, какой вариант необходимо развернуть как отдельную кампанию по обмену сообщениями в приложении. После выбора вы будете перенаправлены на экран создания FIAM для внесения любых изменений (при необходимости) перед публикацией.

Разверните эксперимент

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

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

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

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

Пользовательский таргетинг

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

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

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

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

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

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

На клиенте вы можете установить только строковые значения для свойств пользователя. Для условий, использующих числовые операторы, служба удаленной настройки преобразует значение соответствующего свойства пользователя в целое число / число с плавающей запятой.
При использовании содержит регулярное выражение оператора, вы можете создать регулярные выражения в RE2 формате. Ваше регулярное выражение может полностью или частично соответствовать строке целевой версии. Вы можете также использовать ^ и $ якоря , чтобы соответствовать начало, конец, или полноту целевой строки.
Прогноз N / A Целевые группы пользователей, определенные с помощью прогнозов Firebase, например, те, кто, вероятно, перестанет использовать ваше приложение, или пользователи, которые могут совершить покупку в приложении. Выберите одно из значений, определенных инструментом Firebase Predictions. Если параметр недоступен, вам может потребоваться включить прогнозирование Firebase, посетив раздел прогнозов консоли Firebase.
Страна устройства N / A Одна или несколько стран или регионов используются для выбора пользователей, которые могут быть включены в эксперимент.
Язык устройства N / A Один или несколько языков и локалей, используемых для выбора пользователей, которые могут быть включены в эксперимент. Этот критерий таргетинга доступен только для Remote Config.
Первый открытый больше, чем
меньше, чем
между
Таргетинг на пользователей на основе того, когда они впервые открыли ваше приложение, указывается в днях. Этот критерий таргетинга доступен только для Firebase In-App Messaging.
Последнее взаимодействие с приложением больше, чем
меньше, чем
между
Таргетинг на пользователей определяется в днях, когда они в последний раз взаимодействовали с вашим приложением. Этот критерий таргетинга доступен только для Firebase In-App Messaging.

Показатели A / B-тестирования

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

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

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

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

Метрическая Описание
Пользователи без сбоев Процент пользователей, которые не сталкивались с ошибками в вашем приложении, которые были обнаружены Firebase Crashlytics SDK во время эксперимента.
notification_dismiss Событие Analytics, которое запускается, когда уведомление, отправленное композитором уведомлений, отклоняется (только для Android).
notification_receive Событие Analytics, которое запускается, когда уведомление, отправленное композитором уведомлений, получено, когда приложение работает в фоновом режиме (только для Android).
os_update Аналитика событий , который отслеживает , когда операционная система устройства обновляется на новый version.To узнать больше, см Автоматически собранные события .
screen_view Событие Analytics, отслеживающее просмотры экранов в вашем приложении. Чтобы узнать больше, см Track просмотров экрана .
session_start Событие Analytics, которое подсчитывает сеансы пользователей в вашем приложении. Чтобы узнать больше, см Автоматически собранные события .
user_engagement Событие Analytics, которое периодически запускается, когда ваше приложение находится на переднем плане. Чтобы узнать больше, см Автоматически собранные события .

Экспорт данных BigQuery

Вы можете получить доступ ко всей аналитике данных , связанным с вашим A / B тестов в BigQuery . BigQuery позволяет анализировать данные с помощью BigQuery SQL, экспортировать их в другой облачный провайдер или использовать данные для ваших пользовательских моделей машинного обучения. См Link BigQuery к Firebase для получения дополнительной информации.

Чтобы в полной мере использовать возможности экспорта данных BigQuery, проекты Firebase должны принять тарифный план Blaze с оплатой по факту использования. BigQuery взимает плату за хранение данных, потоковые вставки и запросы данных. Загрузка и экспорт данных бесплатны. См BigQuery Ценообразование , или песочницу BigQuery для получения дополнительной информации.

Для начала убедитесь, что ваш проект Firebase связан с BigQuery. Выберите Настройки> Настройки проекта из левой навигационной панели, затем выберите интеграций> BigQuery> Ссылка. На этой странице отображаются параметры для выполнения экспорта данных аналитики BiqQuery для всех приложений в проекте.

Чтобы запросить данные аналитики для эксперимента:

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

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

  3. В композитору запроса выберите Выполнить запрос. Результаты отображаются на нижней панели.

Обратите внимание: поскольку данные Firebase в BigQuery обновляются только один раз в день, данные, доступные на странице эксперимента, могут быть более актуальными, чем данные, доступные в консоли BigQuery.