1С Битрикс · 6 мин чтения

Скидки и купоны в 1С-Битрикс: как настроить акции в интернет-магазине

Скидки и купоны в Битрикс - это не один инструмент, а как минимум четыре разных механизма, которые путают между собой даже опытные менеджеры интернет-магазинов. За последние пару лет я настраивал акции на десятке проектов на 1С-Битрикс - от простого промокода на минус 10 процентов до программ с накопительными баллами и персональными купонами по email-рассылке. Разберу, какие типы скидок есть в системе из коробки, как настроить купон на скидку руками через админку и где обычно ломаются акции на боевых магазинах.

Какие скидки поддерживает 1С-Битрикс из коробки

За скидки в модулях «Торговый каталог» и «Интернет-магазин» отвечают два независимых блока: «Правила скидок» - автоматические условия, которые срабатывают сами, и «Купоны на скидку» - код, который покупатель вводит вручную в корзине. Отдельно живёт модуль бонусных программ, если он подключён в редакции «Бизнес» или выше - это уже накопительные баллы, а не разовая скидка.

На обычном b2c-магазине среднего размера одновременно нужны три-четыре механики:

Тип скидки Где настраивается Типовой сценарий
Скидка на товар/раздел каталога Правила скидок, привязка к каталогу Постоянная скидка на прошлую коллекцию
Скидка на корзину Правила скидок, условие по сумме Бесплатная доставка от 3000 ₽
Купон на скидку Купоны на скидку + правило Промокод в рассылке или у блогера
Бонусные баллы Модуль бонусных программ Накопительная программа лояльности

Важно: правила скидок и купоны - это не два разных типа скидки, а два способа активации одного и того же правила. Купон без привязанного к нему правила скидок ничего не сделает, это просто код.

Как настроить купон на скидку в Битрикс шаг за шагом

Порядок действий в админке такой:

  1. Магазин → Маркетинг → Правила скидок - создаём правило: условие (сумма заказа, товар, группа пользователей) и действие (скидка в процентах или фиксированная сумма)
  2. В настройках правила ставим галку «Скидка по купону» - без неё правило будет срабатывать автоматически, без ввода кода
  3. Магазин → Маркетинг → Купоны на скидку - привязываем купон к созданному правилу
  4. Выбираем тип купона: одноразовый, многоразовый или персональный (привязан к конкретному пользователю)
  5. Задаём количество купонов, срок действия и, если нужно, префикс кода

На одном проекте клиенту нужно было 300 одноразовых купонов на скидку 10% для рассылки по базе в Unisender сроком на 14 дней. В админке это делается через пакетную генерацию: указываешь количество и маску кода вроде PROMO-XXXXXX, система сама создаёт нужное число уникальных записей, дальше выгружаешь их в CSV и передаёшь в сервис рассылки. Руками вбивать коды при таких объёмах смысла нет - уйдёт полдня.

Бесплатный материал

🎁 Полезный скрипт в подарок

Подпишитесь на Telegram - пришлю готовый скрипт по этой теме.

Без спама. Отписка в 1 клик.

Правила скидок или купон на скидку - что выбрать для акции

Путаница чаще всего в том, что оба механизма технически одно и то же «правило», просто с разным способом запуска.

Критерий Правило скидок (без купона) Купон на скидку
Активация Автоматически по условию Ввод кода покупателем
Контроль количества использований Нет Есть (лимит и тип купона)
Годится для Постоянных скидок в каталоге Маркетинговых кампаний с измеримым откликом
Аналитика Сложнее отследить источник Легко посчитать конверсию по коду

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

Тонкая настройка условий: таргетинг по группам, товарам и датам

Конструктор условий в правилах скидок Битрикс позволяет комбинировать: группу пользователей (оптовики, розница, VIP), конкретные разделы или товары каталога, количество единиц в заказе, диапазон дат и даже дни недели. На практике часто нужен сценарий, который в интерфейс просто не укладывается - например, «скидка 5% при повторном заказе спустя 30 дней после первого» или «скидка суммируется только для товаров одного бренда». Такие вещи через UI не собрать, приходится вешать обработчик на событие вроде OnSaleComponentOrderJsData или OnBeforeSaleOrderSave и считать условие в PHP-коде.

Писать такой обработчик с нуля каждый раз - трата времени, особенно если логика типовая (скidka за повторную покупку, скидка на набор товаров, ограничение купона по IP или email). У меня в библиотеке готовых скриптов собрано несколько шаблонов подобных обработчиков под Битрикс - обычно проще адаптировать готовый код под задачу, чем разбираться с событийной моделью модуля sale с нуля.

Автоматизация акций и синхронизация с внешними сервисами

Когда скидок и купонов становится много, ручное управление через админку превращается в отдельную работу. Для клиентов с активным маркетингом я обычно связываю Битрикс с внешними сервисами через REST API (CRest):

  • Массовая генерация персональных купонов по сегменту из CRM - например, всем, кто не заказывал 60 дней
  • Автоматическая отправка купона в Telegram-бот при смене статуса сделки в Bitrix24 CRM
  • Сценарий в n8n: заявка с формы → создание сделки в CRM → генерация купона через REST API → письмо или сообщение клиенту
  • Синхронизация условия «бесплатная доставка от суммы заказа» со стоимостью доставки СДЭК, чтобы скидка на доставку и реальный тариф не расходились

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

Если нужно связать скидки с CRM и рассылками через сценарии в n8n, такая автоматизация у меня стоит от 25 000 ₽ - обычно окупается уже на первой волне рассылки за счёт точной аналитики по купонам.

Частые ошибки при настройке скидок в Битрикс

Собрал то, с чем реально сталкивался на боевых магазинах:

  • Не сброшен кэш скидок - правило изменили, а в корзине по-прежнему старая цена. Модуль кэширует результат расчёта, кэш нужно сбрасывать вручную через Настройки → Кэширование, либо на время тестов отключать
  • Пересечение нескольких правил скидок - без галки «Не применять другие скидки» правила складываются, и на одном проекте это дало минус 12% к марже за выходные, пока никто не заметил
  • Персональный купон без проверки уникальности - многоразовый купон разослали как персональный, в итоге код разошёлся по форумам и его использовали сотни раз
  • Срок действия акции без учёта часового пояса сервера - «до 23:59» на сервере в UTC обрывается на три часа раньше московского времени
  • Двойной дисконт - скидка по купону считается от каталожной цены, а не от уже сниженной оптовой, из-за чего скидка фактически больше заявленной

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

Если акция уже настроена, но скидки считаются неправильно или нужно быстро разобраться в чужой конфигурации правил - по услугам беру такие задачи в разовую доработку, не обязательно с нуля.

Чтобы сайт работал без сбоев

Техподдержка

от 15 000 ₽/мес

Подробнее →

Частые вопросы

Можно ли применить два купона на один заказ в Битрикс?

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

Как ограничить купон одним использованием на одного покупателя?

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

Почему скидка не отображается в корзине после изменения правила?

Чаще всего дело в кэше модуля скидок - Битрикс кэширует результат расчёта, и после правки правила старое значение может держаться, пока кэш не сброшен вручную через Настройки → Производительность → Кэширование, либо не истечёт по таймауту.

Сколько купонов можно сгенерировать за раз в Битрикс?

Жёсткого лимита в базе нет, но массовая генерация через админку на объёмах в несколько тысяч кодов ощутимо грузит базу и может подвиснуть. Для таких объёмов я генерирую купоны через REST API пакетами, а не через интерфейс - это быстрее и не блокирует админку для остальных сотрудников.

Есть задача?

Обсудим в мессенджере

Расскажите, что нужно сделать — отвечу в течение 4 часов в рабочее время. Первая консультация бесплатно.

Самозанятый Калинкин Н. А. · работаю с физлицами и юрлицами

Продолжая пользование настоящим сайтом Вы выражаете своё согласие на обработку Ваших персональных данных (файлов куки) с использованием Yandex.Metrika.
Понятно