Купон сам по себе ничего не считает — он лишь активирует правило работы с корзиной. Именно в правиле вы задаёте, к каким товарам, разделам или свойствам применяется скидка. Разберём, как ограничить действие купона конкретным товаром и чем это отличается от скидки на весь заказ.
Как купон связан с правилом корзины
В коммерческой части Битрикса (модуль sale) действует одна модель: скидку описывает правило работы с корзиной, а купон — это лишь ключ, который его включает. Настройки лежат в разделе Магазин → Маркетинг → Правила работы с корзиной. Само правило состоит из двух частей: блока условий (когда применять) и блока действий (что сделать со скидкой).
Чтобы скидка срабатывала не автоматически, а только по коду, в настройках правила нужно установить тип применения «По купону» и привязать к нему один или несколько купонов на вкладке Купоны. Пока покупатель не введёт код в корзине, правило неактивно.
Условие по конкретному товару
Откройте правило и в блоке условий добавьте ветку Поля товаров в корзине. Внутри выберите параметр «Товар» — появится поле выбора конкретной позиции из каталога. Так скидка применится только к строкам корзины с этим товаром, а остальные позиции останутся по полной цене.
Логику удобно строить через оператор ИЛИ, если товаров несколько: добавьте группу условий и перечислите нужные позиции. Для действия чаще всего используют Применить к товарам в корзине → размер скидки — процент или фиксированную сумму на строку.
- Процент на товар — «−15% на выбранную модель»;
- Фиксированная сумма — «−500 ₽ с каждой единицы»;
- Фиксированная цена — жёстко задать итоговую цену позиции.
Скидка на раздел каталога
Ограничивать купон поштучно неудобно, когда акция идёт на целую категорию. Для этого в условии Поля товаров в корзине выберите параметр «Раздел» и укажите нужный раздел инфоблока каталога. Скидка применится ко всем товарам, которые лежат в этом разделе.
По умолчанию Битрикс проверяет вхождение товара в раздел с учётом вложенности — то есть скидка распространится и на подразделы. Это удобно для акций вида «−10% на всю бытовую технику», но требует аккуратности: убедитесь, что в дереве раздела нет случайных товаров, которые не должны попасть под скидку.
- Добавьте условие
Раздели выберите категорию; - В действии задайте процент или сумму скидки;
- Проверьте, что товар физически привязан к этому разделу (а не только к соседнему).
Условие по свойству товара
Самый гибкий вариант — скидка по свойству инфоблока. Он позволяет собрать «виртуальную» подборку товаров без ручного перечисления. В условии Поля товаров в корзине доступен параметр «Свойство», где можно выбрать любое свойство каталога: бренд, коллекцию, признак распродажи, тип упаковки и т. д.
Например, заведите свойство SALE типа «Да/Нет» и отметьте им уценённые позиции. Тогда одно правило с условием Свойство SALE = Да будет автоматически покрывать все помеченные товары — добавили новый товар с флагом, и он сразу попал под купон, без правки правила.
| Условие | Когда применять | Минус |
|---|---|---|
| Товар | Точечная акция на 1–3 позиции | Ручной список, легко забыть обновить |
| Раздел | Скидка на всю категорию | Затрагивает подразделы и новые товары |
| Свойство | Гибкая подборка по признаку | Нужно заранее заполнять свойство |
Чем отличается от скидки на весь заказ
Разница в блоке действий правила. Есть два принципиально разных варианта.
- Скидка на товар — действие
Применить к товарам в корзине. Уменьшается цена конкретных строк; в детализации заказа скидка «размазана» по позициям, и её видно в каждой строке. - Скидка на заказ — действие вида
Применить ко всей корзинеили скидка на доставку. Итог считается от общей суммы и не привязан к отдельным товарам.
Это важно для возвратов и учёта: если покупатель вернёт часть товаров, «строковая» скидка корректно пересчитается по оставшимся позициям, а скидка на весь заказ такой привязки не имеет. Также скидка на товар корректнее выгружается в 1С при обмене, потому что привязана к конкретной позиции корзины.
Подарочный товар по купону
Частый сценарий — «товар в подарок при вводе кода». Механик несколько, выбор зависит от того, добавляет ли подарок сам покупатель.
Способ 1 — скидка 100% на позицию. Настраиваете правило с условием Товар = подарок и действием «фиксированная цена = 0» или «скидка 100%». Покупатель должен сам положить подарок в корзину, после чего купон обнулит его стоимость. Чтобы он не набрал десять «бесплатных» единиц, ограничьте условие количеством.
Способ 2 — условие на сумму заказа. Комбинируйте: обнуление цены подарка срабатывает только если в корзине уже есть товаров на нужную сумму (условие Сумма в корзине). Так реализуется «подарок при заказе от 5000 ₽».
OnSaleBasketBeforeSaved или кастомная логика на витрине.Проверка и типичные ошибки
После настройки правило легко «не срабатывает» из-за мелочей. Пройдитесь по чек-листу.
- Купон привязан к правилу и активен, срок действия не истёк, лимит использований не исчерпан;
- Правило имеет статус «Активно» и корректный период действия;
- Проверен приоритет и параметр «Прекратить дальнейшую обработку» — другое правило выше по списку могло перехватить корзину;
- Товар реально попадает под условие (та же торговая позиция, тот же раздел/свойство);
- Проверяете под нужным типом плательщика и группой пользователя, если в условиях есть такие ограничения.
После изменения правил очистите кэш скидок: Магазин → Настройки → Правила корзины обычно применяются сразу, но при странном поведении помогает сброс кэша в Настройки → Настройки продукта → Автокэширование. Тестируйте в реальной корзине с вводом кода, а не «на глаз» в админке.
Итог
Купон на товар в Битриксе — это правило работы с корзиной, где в условиях стоит ограничение по товару, разделу или свойству, а в действиях — скидка на строку корзины, а не на весь заказ. Выбор условия зависит от масштаба акции: точечно — по товару, на категорию — по разделу, гибко — по свойству. Подарок реализуется скидкой 100% на позицию, а полностью автоматическое добавление подарка требует доработки.
Если акционная механика выходит за рамки штатных правил — многоступенчатые подарки, синхронизация скидок с 1С, сложные подборки — мы поможем спроектировать и внедрить её без потери производительности каталога. Обращайтесь за разработкой и поддержкой магазина на 1С-Битрикс.
Частые вопросы
Где настраивается скидка на конкретный товар?
В разделе Магазин → Маркетинг → Правила работы с корзиной. Создайте правило, добавьте условие по товару и привяжите к нему купон с типом применения «По купону».
Чем скидка на товар отличается от скидки на заказ?
Скидка на товар уменьшает цену конкретных строк корзины и видна в каждой позиции. Скидка на заказ считается от общей суммы и не привязана к отдельным товарам.
Как сделать скидку на весь раздел каталога?
В условии «Поля товаров в корзине» выберите параметр «Раздел» и укажите нужную категорию. Скидка применится ко всем товарам раздела, включая вложенные подразделы.
Можно ли давать скидку по свойству товара?
Да. В условии выберите параметр «Свойство» и любое свойство каталога, например флаг распродажи. Товары с этим признаком автоматически попадут под скидку без ручного перечисления.
Как настроить подарочный товар по купону?
Создайте правило с условием на товар-подарок и действием «скидка 100%» или «фиксированная цена 0». Покупатель добавляет подарок в корзину, а купон обнуляет его стоимость.
Почему Битрикс не добавляет подарок в корзину сам?
Штатные правила корзины только меняют цену уже добавленных позиций. Автоматическое добавление подарка требует доработки через обработчик события OnSaleBasketBeforeSaved или логику на витрине.
Скидка на товар не применяется, в чём причина?
Проверьте активность правила и купона, срок и лимит использований, приоритет правил и параметр «Прекратить обработку», а также что товар реально попадает под условие.
Можно ли ограничить количество товаров со скидкой?
Да, добавьте в условие ограничение по количеству позиции в корзине. Это защищает от ситуации, когда покупатель набирает много «бесплатных» единиц подарка.
Поможем с настройкой и поддержкой 1С-Битрикс: Управление сайтом
Поможем с настройкой, доработкой и поддержкой 1С-Битрикс: Управление сайтом.