# A/B-тест промокодов: как выбрать механику акции и не раздать маржу

> Скидка 10%, бонусы или подарок к заказу — что принесет больше маржи? Разбираем методику A/B-теста промокодов: от гипотезы и выборки до подсчета uplift по деньгам.

**Рубрика:** Статьи  
**Автор:** Дарья Касаткина, CRM-маркетолог, ClientCore  
**Дата:** 2026-09-18

«Скидка 15% по промокоду» — ушло всей базе. Выручка за неделю подросла, финансист смотрит на маржу и хмурится, а на вопрос «какая часть покупателей пришла бы и без скидки» никто ответить не может. На следующий месяц акцию повторяют. Потому что «в прошлый раз сработало».

Мы в ClientCore регулярно разбираем промо-историю новых клиентов и почти всегда находим одно и то же: 20–40% промокодов активируют люди, которые купили бы и так. Дарья Касаткина, CRM-маркетолог ClientCore, помогла собрать рабочую методику: как протестировать механику акции до большого запуска и выбрать вариант, который приносит маржу.

> **Читайте также:** [A/B-тест персонализации: как отделить эффект контента от эффекта шаблона](https://clientcore.ru/blog/articles/a-b-test-personalizacii-kak-otdelit-effekt-kontenta-ot-effekta-shablona)

## Скидка по привычке: откуда берутся потери

Механику акции обычно выбирают так: посмотрели на конкурентов, вспомнили, что «в прошлый раз вроде зашло», заложили 15%, потому что 20% — страшно, а 10% — «незаметно». Данных за этим решением нет.

Между тем разные механики работают на трех уровнях: конверсия в заказ, средний чек, маржа после вычета стоимости стимула. И уровни эти двигаются не синхронно. Скидка 20% может поднять конверсию на треть и одновременно уронить маржу на заказ почти в ноль. Подарок себестоимостью 250 рублей иногда дает тот же подъем конверсии, что скидка 15%, но съедает вдвое меньше маржи. Пока это не протестировано на вашей базе — любой выбор остается гаданием.

Иногда сильный стимул вообще лежит вне скидочной логики. В проекте для ресторана «Урюк» мы заменили привычную скидочную механику розыгрышем сертификатов через email: выручка от акции оказалась в 20,7 раза выше затрат на призовой фонд, плюс 2435 новых участников программы лояльности ([кейс](https://clientcore.ru/blog/articles/keis-uryk-rozygrysh-sertifikatov)). Скидка раздает маржу всем участникам акции, розыгрыш — нескольким победителям, а азарт на конверсию работает не хуже.

> Первое, что я прошу у нового клиента, — историю акций за полгода с маржой по каждой. Почти всегда находится кампания, которая „сработала" по выручке и ушла в минус по марже. После этого разговор про тесты идет легко: люди видят конкретную сумму, которую подарили покупателям».
>
> — Дарья Касаткина, CRM-маркетолог, ClientCore

## Что тестировать: от механики к деталям

Тесты имеет смысл выстраивать в порядке убывания влияния на деньги.

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

Второй уровень — глубина стимула: 10% против 15%. Часто выясняется, что разница в конверсии минимальная, а в марже — ощутимая.

Третий уровень — условия: порог применения («от 3000 ₽»), срок жизни кода, ассортиментные ограничения.

> Когда спрашивают, что тестировать в рассылках в первую очередь, я отвечаю: то, что бьет по марже напрямую. Тема письма влияет на открытия, механика — на то, сколько денег останется после акции. Бюджет тестов всегда ограничен размером базы, тратить его на кнопки стоит в последнюю очередь».
>
> — Дарья Касаткина, CRM-маркетолог, ClientCore

**Норма**

- одна переменная на тест: скидка 15% против подарка при одинаковом письме, сегменте и дедлайне
- гипотеза сформулирована и записана до запуска
- у каждого варианта заранее посчитана стоимость стимула

**Red flag**

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

## Как собрать тест: выборка, контроль, длительность

**Случайное распределение.** Никаких «первых пяти тысяч по списку» — база в списке отсортирована не случайно, и ветки получатся разными по составу. В Mindbox это решается встроенным A/B-механизмом или рандомизацией внутри сценария.

**Размер выборки.** Ориентир: при конверсии в заказ около 1% и разнице, которую вы хотите поймать, в 20% относительных (с 1% до 1,2%), нужно порядка 20–25 тысяч получателей на ветку. Чем ниже базовая конверсия, тем больше требуется база. На маленькой базе тестируют контрастные различия: скидку против подарка, а не 10% против 12%.

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

**Длительность.** Срок действия кода плюс 3–7 дней на отложенные покупки, обычно это 2–4 недели. Остановка на третий день, потому что «один вариант явно лидирует», — классическое подглядывание: ранние реагирующие клиенты не репрезентативны.

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

> Клиент однажды принес результат теста: вариант Б победил с отрывом в 40%. Стали разбираться — общий код из ветки Б за неделю до этого опубликовал купонный сайт, и на него скупили всё подряд люди, которые рассылку вообще не получали. Персональные пулы в Mindbox закрывают эту дыру раз и навсегда».
>
> — Дарья Касаткина, CRM-маркетолог, ClientCore

## Метрика теста: маржинальный uplift

Главная ловушка промокодных тестов — победитель по конверсии проигрывает по деньгам. Поэтому считаем так:

**Маржинальный uplift = (маржа на получателя в тестовой ветке − маржа на получателя в контроле) / маржа на получателя в контроле.**

Маржа ветки — это сумма по всем заказам: выручка минус себестоимость минус стоимость стимула (размер скидки или себестоимость подарка), деленная на число получателей ветки.

Пример с реалистичной арифметикой. Ветка А — скидка 15%: конверсия 2,1%, средний чек 4200 ₽, маржинальность 35%. Ветка Б — подарок себестоимостью 280 ₽ с порогом от 4000 ₽: конверсия 1,9%, чек 4400 ₽. Контроль: конверсия 1,4%, чек 4100 ₽. Считаем на 1000 получателей:

- контроль: 14 заказов × 4100 × 0,35 = 20 090 ₽ маржи;
- ветка А: 21 × 4200 × 0,35 = 30 870 ₽ минус скидки 13 230 ₽ = 17 640 ₽ — хуже контроля;
- ветка Б: 19 × 4400 × 0,35 = 29 260 ₽ минус подарки 5320 ₽ = 23 940 ₽ — uplift +19%.

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

**Норма**

- решение принимается после закрытия окна атрибуции
- стоимость стимула вычтена из маржи, а не забыта в выручке
- есть контрольная группа без стимула

**Red flag**

- победитель выбран по конверсии в заказ
- результат снят через три дня, «пока горячо»
- в расчете фигурирует только выручка от промокода

## Ошибки, которые убивают выводы

**Смешанные сегменты.** Если в ветки попали вперемешку новые подписчики и лояльные клиенты, результат усреднится до бессмыслицы: их реакция на скидку различается в разы. Решение — стратификация при распределении или отдельные тесты по RFM-сегментам.

**Каннибализация.** Промокод забрали те, кто купил бы завтра за полную цену. Без контрольной группы этот перекос невиден — выручка ветки выглядит красиво, а прироста нет.

**Ранняя остановка.** Об этом выше, но повторимся: пик активности первых дней не равен итоговому результату.

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

> Самый коварный эффект — приучение. У одного ритейлера доля заказов по промокодам за год выросла с 18% до 54%: база просто научилась ждать скидку. Отучали полгода — растягивали интервалы, переводили скидки в бонусы и персональные предложения. Теперь в каждый план тестов я закладываю контрольный замер доли промо-заказов раз в квартал».
>
> — Дарья Касаткина, CRM-маркетолог, ClientCore

## Результат теста — это актив

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

Победившую механику внедряйте в регулярные кампании, но смотрите на результат в разрезе сегментов — часто победитель для «спящих» клиентов и для лояльных разный. В проекте MINIDINO мы пересобрали рассылки с упором на точность сегментов вместо охвата и получили +110% к эффективности email за квартал ([кейс](https://clientcore.ru/blog/articles/keis-minidino-rost-effektivnosti-email)). С промокодами логика та же: механика, которая реанимирует «спящего» клиента, лояльному просто раздает маржу.

Планируйте повторные тесты. Эффект механик выгорает, база меняется, прошлогодний победитель через год может оказаться аутсайдером. Рабочий формат — план тестов на квартал вперед: 2–3 гипотезы по механикам, одна по глубине стимула.

> **Читайте также:** [Uplift-расчет: формулы прироста для коммуникаций и типичные ошибки оценки](https://clientcore.ru/blog/articles/uplift-raschet-formuly-prirosta-dlya-kommunikaciy-i-tipichnye-oshibki-ocenki)

---

[Открыть статью на сайте](https://clientcore.ru/blog/articles/a-b-test-promokodov-kak-vybrat-mehaniku-akcii-i-ne-razdat-marzhu)
