Кого считать увидевшим тест: событие показа варианта
Как задать exposure event для A/B-теста: назначение, применение варианта, результат, повторные показы и риск отбора только кликнувших.

Сервис выдал посетителю вариант Б, но нужный блок не загрузился. Другой человек получил блок, ничего не нажал и ушёл. Если считать увидевшими только кликнувших, эксперимент выберет людей по действию, на которое сам пытается повлиять.
Перед запуском нужны разные отметки: assignment — назначение, exposure — согласованный момент возможности получить вариант, outcome — результат. Название exposure не доказывает, что человек глазами прочитал текст.
Разведите три события во времени
Сохраните ID эксперимента, версию, единицу назначения, вариант и время. Для exposure добавьте причину срабатывания: открытие общей страницы, вход в общий экран или применение ветки интерфейса. Условие должно быть проверяемым до результата.
Amplitude описывает exposure settings как правила включения в анализ. Это конфигурация продукта, которую нужно согласовать с реальным пользовательским сценарием. Срабатывание технического события и фактическая видимость компонента могут расходиться.
В JavaScript SDK Amplitude вызов variant() при настроенной интеграции или exposure provider может автоматически отправлять exposure. Поэтому разработчик должен проверить место вызова. Предварительное чтение флага при старте приложения способно отметить пользователя раньше нужного экрана.
Заполненный контракт для блока цены
Условный сценарий: тест меняет объяснение цены на странице тарифа. Единица — авторизованный аккаунт, назначение сохраняется. Обе версии страницы используют одно условие входа. Ниже предлагаемый контракт, не настройка какого-либо реального сайта.
| Поле | Правило | Проверка |
|---|---|---|
| Assignment | Первое подходящее открытие страницы тарифа | Один аккаунт сохраняет группу |
| Exposure | Общий экран готов применить назначенную ветку | Условие не зависит от клика по новому тексту |
| Outcome | Оплата за 7 суток от согласованного начала окна | Одинаковое окно в обеих группах |
| Повторный визит | Дополнительный показ остаётся в журнале | Аккаунт не становится новой единицей |
| Сбой варианта | Назначение остаётся, ошибка отмечается | Не удалять неудачную загрузку незаметно |
На схеме это выглядит так: назначили А → применили ветку А → получили либо не получили оплату. В другом пути: назначили Б → сбой загрузки → оплаты нет. Второй путь тоже описывает последствия назначения и важен для оценки полного изменения.
Кого включать в основной отчёт
Для эффекта решения «показывать этот вариант подходящим аккаунтам» основной анализ по исходному назначению сохраняет всех назначенных, включая отсутствие клика и технический сбой. Конкретный протокол фиксирует аналитик до старта.
Срез по достигшим общей точки может помочь оценить воздействие в релевантном сценарии, если достижение точки не зависит от варианта и симметрично определяется для обеих групп. Если Б меняет навигацию до неё, такой отбор уже способен сместить сравнение. Не превращайте его в основной результат задним числом.
- Флаг прочитан, страница не открыта: есть assignment, но нет обещанного пользовательского показа.
- Блок вне экрана: технически применённая версия не равна прочитанному сообщению.
- Кнопка нажата: это возможный outcome, а не нейтральное условие включения.
- Пользователь вернулся: новый показ не добавляет второго пользователя в знаменатель.
Точность знаменателя разобрана в контракте метрики. Здесь добавляется причинный вопрос: не выбрали ли мы участников по поведению, которое мог изменить эксперимент?
Приёмка до первого платного посетителя
Пройдите контроль, вариант, медленную загрузку, ошибку компонента и повторный визит. Сопоставьте видимое состояние с журналом событий. Проверьте порядок по времени возникновения, задержку доставки и связь идентификаторов, а не только порядок строк в интерфейсе.
В отчёте рядом покажите назначенных, отметившихся exposure и совершивших outcome. Разница между первыми двумя — диагностический материал. Начните с одной трассы на каждый пограничный случай и исправьте момент отправки события до интерпретации роста конверсии.