Скидки в магазине живут своей жизнью: где-то забыли отключить прошлогоднюю акцию, промокод из старой рассылки расшарили в публичном «купоннике» и по нему заказывают сотнями, две скидки неожиданно сложились и товар ушёл в минус, а постоянные покупатели не понимают, где их обещанные бонусы, потому что на кассе один баланс, а на сайте другой. Знакомая ситуация для растущего магазина, где акции добавляли по одной, без единой логики. Решение — выстроить программу лояльности в 1С-Битрикс как систему: понятные правила скидок, контролируемые промокоды, прозрачные бонусные баллы и, где нужно, связка с внешней системой лояльности и 1С.
Эта статья — практический разбор того, как устроена лояльность в интернет-магазине на 1С-Битрикс: как работают штатные «Правила работы с корзиной», как делать скидки на товар, корзину и доставку, как контролировать приоритеты и стекление скидок, как выпускать одноразовые промокоды, чем бонусные баллы отличаются от скидок и когда для них нужна внешняя система, как синхронизировать баланс с 1С и CRM и как защититься от злоупотреблений. Материал основан на наших проектах по интеграциям с внешними системами и разработке магазинов — по делу, без маркетинговых обещаний и выдуманных цифр.
Коротко
- Скидки, акции и промокоды в 1С-Битрикс закрываются штатными «Правилами работы с корзиной» и купонами: скидки на товар, корзину и доставку с условиями, сроками и приоритетами.
- Промокоды делают одноразовыми или с лимитом активаций и привязкой к пользователю — иначе их размножат и по ним будут заказывать бесконтрольно.
- Бонусные баллы — это отдельная механика с балансом, начислением, списанием и сгоранием; для единого баланса на кассе и сайте почти всегда нужна внешняя система лояльности или 1С.
- У баланса бонусов должен быть один «хозяин» — единый источник истины, а сайт связывается с ним по API; два независимых счётчика неизбежно разъедутся.
- Заранее заложите антифрод (одноразовость, привязка к оплате, лимит доли заказа баллами) и явное отображение выгоды — скрытая скидка режет маржу, но не продаёт.
Зачем магазину программа лояльности
Программа лояльности решает две разные задачи, и их важно различать с самого начала. Первая — привлечение и стимулирование покупки прямо сейчас: скидки, акции, распродажи, промокоды снижают барьер и подталкивают оформить заказ. Вторая — удержание и повторные продажи: бонусные баллы, накопительные уровни и карты дают повод вернуться и покупать снова. Первая задача про маржу здесь и сейчас, вторая — про пожизненную ценность клиента. Хорошая программа сочетает обе, но не путает их: распродажа и накопительная система работают по разной логике.
Пока акций немного, ими управляют вручную и на глаз. Но с ростом ассортимента и потока заказов это ломается: скидки конфликтуют друг с другом, промокоды утекают, никто не считает, какая акция реально принесла выручку, а какая просто раздала маржу. CRM-маркетинг требует персональных предложений, а их не на чем построить, если данные о покупках разрознены. Система лояльности собирает всё это в управляемый механизм с правилами, ограничениями и аналитикой.
Что даёт выстроенная программа лояльности магазину на 1С-Битрикс:
- Управляемые скидки. Единый движок правил вместо десятка разрозненных «ручных» скидок, которые конфликтуют между собой и уводят товар в минус.
- Контролируемые промокоды. Одноразовые и лимитированные коды, привязанные к акциям и клиентам, — их нельзя размножить и «слить» в публичные купонники.
- Удержание клиентов. Бонусные баллы и уровни дают повод вернуться, а не купить один раз и уйти к конкуренту за скидкой.
- Персонализация. Предложения по сегментам — новым, спящим, VIP-клиентам — вместо одной скидки на всех.
- Аналитика. Видно, какая акция окупилась, а какая просто раздала маржу, — решения по бюджету принимаются на данных.
Важно сразу задать рамку: не всё нужно строить сложно. Значительная часть задач лояльности закрывается штатными средствами 1С-Битрикс — правилами корзины и купонами, — и городить внешнюю систему ради обычных скидок и промокодов не нужно. А вот полноценные бонусные баллы с единым балансом на всех каналах продаж — это почти всегда интеграция. Разбираемся, где проходит эта граница.
Механики лояльности: из чего собирается программа
Прежде чем что-то настраивать, полезно разложить лояльность на механики. Их несколько, они решают разные задачи и реализуются по-разному: что-то штатно, что-то через интеграцию. Смешивать их в голове — верный способ поставить неверную задачу.
| Механика | Что делает | Как реализуется в 1С-Битрикс |
|---|---|---|
| Скидки на товар и корзину | Снижает цену по условию (сумма, товар, группа) | Штатно: «Правила работы с корзиной» |
| Скидка на доставку | Бесплатная или сниженная доставка по условию | Штатно: правило корзины на доставку |
| Промокоды и купоны | Скидка по коду с ограничениями | Штатно: купоны, привязанные к правилам |
| Накопительные скидки | Растущая скидка по сумме покупок | Штатно (группы/условия) или доработка |
| Бонусные баллы | Начисление и списание баллов с баланса | Чаще внешняя система лояльности или 1С + API |
| Карты лояльности и уровни | Идентификация клиента, статусы (silver/gold) | Внешняя система / CRM + интеграция |
| Персональные предложения | Скидки и купоны по сегментам | Купоны + сегментация в CRM |
Из таблицы видно главное разделение: скидки, акции и промокоды — это штатный функционал, который собирается из правил корзины и купонов без внешних систем. А бонусные баллы, карты и единый баланс — это, как правило, интеграция: логику баланса ведёт отдельная система лояльности или 1С, а сайт подключается к ней. Причина проста: скидка живёт в рамках одного заказа, а баллы — это долгоживущий счёт клиента, который должен быть одинаковым на кассе, на сайте и в приложении. Единый счёт на всех каналах — это уже не задача одного сайта.
Правила работы с корзиной: штатный движок скидок
Основной инструмент скидок в 1С-Битрикс — «Правила работы с корзиной». Это встроенный движок, который по заданным условиям применяет к заказу скидки: на конкретные товары, на всю корзину или на доставку. Практически любая скидочная механика магазина собирается именно из правил корзины, поэтому разобраться в них — половина дела.
Устройство правила простое и логичное: у него есть условия (когда правило срабатывает) и действие (что оно делает со скидкой). Пока условия выполнены, действие применяется. Помимо этого у правила есть срок действия, привязка к группам пользователей, сайтам и приоритет — им определяется порядок применения, когда правил несколько.
- Условие — проверка: сумма корзины больше N, в корзине товар из определённого раздела, покупатель из группы «Оптовики», действует промокод, количество товара от N штук и так далее. Условия комбинируются логикой «И» и «ИЛИ».
- Действие — что сделать: снизить цену товара на процент или сумму, дать скидку на всю корзину, сделать доставку бесплатной, зафиксировать цену. Действие применяется к тому, что описано в правиле.
- Область и срок — для кого и когда: группы пользователей, сайт, диапазон дат и времени, активность. Просроченное или выключенное правило не работает.
- Приоритет — порядок применения нескольких правил и признак, останавливает ли правило дальнейшую обработку (об этом отдельно ниже).
Ключевая мысль: правило корзины — это конструктор. Из условий и действий собираются самые разные акции: «скидка 10% при заказе от суммы», «бесплатная доставка от суммы», «−15% на раздел в выходные», «скидка для оптовой группы», «−500 ₽ по промокоду». Не нужно искать «готовую кнопку акции» под каждый случай — почти всё это выражается через комбинацию условий и действий. Для B2B правила корзины отлично дополняют механику оптовых цен по группам клиентов: типы цен задают базовый прайс для группы, а правила корзины добавляют поверх акционные скидки.
Скидки на товар, корзину и доставку
Действия правил делятся на три больших семейства по тому, к чему применяется скидка. Понимание разницы важно, потому что от этого зависит и логика акции, и то, как скидка считается при нескольких правилах.
Скидка на товар
Применяется к конкретным позициям — товарам определённого раздела, бренда, свойства или отобранным по условию. Это скидка «на строку корзины»: она уменьшает цену именно этих товаров. Типичные акции — «−20% на всю обувь», «скидка на товары бренда», «спеццена на товары из распродажной коллекции». Такую скидку удобно показывать прямо в карточке товара как перечёркнутую старую цену и новую.
Скидка на корзину
Применяется ко всему заказу целиком, а не к отдельным товарам. Это скидка «на итог»: «−10% при заказе от суммы», «−500 ₽ на весь заказ по промокоду», «скидка постоянному клиенту на любой заказ». Она не привязана к конкретным позициям и считается от суммы корзины. Такие скидки удобны для порогов «купи на N — получи скидку», которые подталкивают добрать корзину до нужной суммы.
Скидка на доставку
Отдельное семейство — правила, которые влияют на стоимость доставки: делают её бесплатной или сниженной по условию. Классика — «бесплатная доставка при заказе от суммы» или «бесплатная доставка по промокоду». Это мощный психологический рычаг: стоимость доставки часто становится причиной брошенной корзины, и её обнуление заметно повышает конверсию. Тему потерь на этом шаге мы разбираем в статье про брошенную корзину в 1С-Битрикс.
| Тип скидки | К чему применяется | Типичная акция |
|---|---|---|
| На товар | Конкретные позиции (раздел, бренд, свойство) | −20% на раздел, спеццена на бренд |
| На корзину | Вся сумма заказа | −10% при заказе от суммы, −500 ₽ по промокоду |
| На доставку | Стоимость доставки | Бесплатная доставка от суммы или по промокоду |
| Фиксация цены | Конкретные позиции | Спеццена «по акции» на выбранные товары |
Смешивать эти типы в одной акции можно, но именно на стыке возникают вопросы приоритетов и стекления: если на товар уже действует скидка на позицию, а сверху накладывается скидка на корзину, нужно чётко понимать, как они складываются и от какой базы считаются. Об этом — два следующих раздела.
Условия срабатывания правил
Гибкость правил корзины кроется в условиях. Именно они превращают простой движок в конструктор акций. Условия проверяют состояние корзины и покупателя, комбинируются логическими операторами и вложенными группами «И»/«ИЛИ», а действие применяется, только когда все нужные условия выполнены.
Что чаще всего проверяют условия в магазине:
- Сумму корзины. «От N рублей» — основа порогов «купи на сумму, получи скидку/бесплатную доставку».
- Состав корзины. Наличие товара определённого раздела, бренда, свойства или конкретной позиции — для акций на категорию или комплект.
- Количество. «От N штук товара» — для оптовых порогов и акций «больше берёшь — дешевле».
- Группу пользователя. Розница, опт, дилеры, «постоянные» — привязка скидки к сегменту покупателей.
- Промокод. Условие «применён купон» связывает правило с введённым кодом.
- Дату и время. Акция выходного дня, ночная распродажа, сезонное предложение — правило активно в заданном окне.
Сила — в комбинациях. «−15% на раздел «Обувь» при заказе от суммы для группы «Постоянные» по выходным» — это одно правило с четырьмя условиями, соединёнными «И». А «бесплатная доставка при заказе от суммы ИЛИ по промокоду» — правило с условиями через «ИЛИ». Практически любую разумную акцию можно выразить набором условий, не прибегая к программированию.
Когда штатных условий не хватает — например, нужна скидка по сложному признаку, которого нет в стандартном наборе (история покупок, внешний статус клиента, данные из другой системы), — логику дописывают программно через события модуля продаж. Но это уже разработка, и к ней прибегают, только когда конструктор действительно упёрся в потолок, а не «на всякий случай».
Приоритеты и стекление скидок
Самая коварная тема во всей механике скидок — что происходит, когда к одному заказу подходит несколько правил. Именно здесь магазины теряют маржу и получают товары в минус. Разберём аккуратно.
У каждого правила есть приоритет — число, определяющее порядок применения. Правила обрабатываются по приоритету, и это влияет и на порядок, и на базу, от которой считается следующая скидка. Кроме того, у правила есть признак, останавливает ли оно дальнейшую обработку: если да, после его применения остальные правила уже не сработают. Это и есть главный рычаг контроля над стеклением.
- Стекление (складывание) скидок. Если несколько правил применяются подряд, скидки складываются — и часто считаются каскадом: вторая скидка берётся уже от цены со сработавшей первой. Итоговая выгода клиента может оказаться больше, чем вы планировали.
- Запрет стекления. Чтобы скидки не складывались, правилу задают признак «прекратить дальнейшую обработку». Тогда сработает только одно правило — например, самое приоритетное или самое выгодное для клиента, по вашему решению.
- Порядок и база. Приоритет определяет, какое правило сработает первым и, значит, от какой базы посчитается следующее. При каскаде порядок напрямую влияет на итоговую цену.
Классическая ошибка: в магазине действует общая скидка на раздел, промокод на корзину и скидка постоянного клиента — и никто не задал, складываются они или нет. В итоге на популярный товар налипают три скидки сразу, и он уходит ниже закупки. Чтобы этого не было, для каждой акции заранее решают: она складывается с другими или исключает их. И проверяют это на реальной корзине, а не в теории.
Отдельно стоит держать в голове взаимодействие правил корзины с базовыми ценами и наценками. Если у группы уже своя цена (оптовый прайс), а сверху ложится акционная скидка правила корзины, итог считается от этой цены. Поэтому оптовые цены и акционные скидки проектируют вместе — иначе оптовик получит скидку от розничной базы или наоборот. Это ещё один аргумент за то, чтобы ценообразование и лояльность вёл один человек или одна команда.
Промокоды и купоны
Промокод в 1С-Битрикс — это купон, привязанный к правилу работы с корзиной. Механика двухслойная и это важно понимать: сама скидка описывается правилом (условия и действие), а купон — это «ключ», который включает или уточняет это правило. Покупатель вводит код при оформлении, система проверяет купон, находит связанное правило и применяет скидку.
Такая связка даёт гибкость. Одно правило «−10% на корзину при вводе купона» может обслуживать множество разных кодов — например, целую партию персональных промокодов из рассылки. Или наоборот: под каждую акцию своё правило со своим набором купонов. Купон несёт не только сам код, но и ограничения: сколько раз его можно применить, до какой даты он действует, на одного пользователя или на всех.
Типы купонов по кратности применения:
- Одноразовый. Сгорает после первого успешного применения. Идеален для персональных предложений и компенсаций: код из письма нельзя использовать повторно и нельзя «слить» другим.
- С ограничением числа активаций. Работает N раз суммарно или N раз на одного пользователя. Подходит для акций «первым 100 покупателям» или «одна скидка в одни руки».
- Многоразовый (неограниченный). Публичный промокод из рекламы, который может применить кто угодно и сколько угодно раз в рамках срока акции.
Выбор типа — это не техническая мелочь, а вопрос экономики и безопасности акции. Публичный многоразовый код удобно раздавать в рекламе, но его быстро находят в купонниках и используют не по назначению. Одноразовые персональные коды защищены, но их нужно генерировать пачками и раздавать адресно. Для CRM-рассылок и персональных предложений почти всегда выбирают одноразовые или лимитированные коды — об этой связке с рассылками мы пишем в статье про email- и CRM-маркетинг в 1С-Битрикс.
Генерация купонов и ограничения
Когда промокодов нужно много — например, уникальный код каждому подписчику рассылки, — их генерируют партиями. Штатно к правилу можно выпустить набор купонов, а для больших объёмов и особой логики генерацию автоматизируют. Разберём, что важно на этом этапе.
- Определите правило-основу. Сначала настраивается правило корзины со скидкой (что и на сколько), к которому будут привязаны купоны. Купон без правила ничего не делает.
- Задайте ограничения купона. Кратность (одноразовый / N активаций / на пользователя), срок действия, привязку. Это и есть защита от злоупотреблений.
- Сгенерируйте партию. Для рассылки — пачка уникальных кодов нужного объёма. Коды делают достаточно случайными, чтобы их нельзя было угадать перебором.
- Раздайте адресно. Каждый код уходит своему клиенту (в письмо, SMS, личный кабинет), а связь «код ↔ клиент» сохраняется для аналитики и антифрода.
- Отслеживайте активацию. Кто применил, когда, на какую сумму — это данные для оценки акции и для контроля, что коды не утекли.
Полезные ограничения, которые стоит закладывать в купоны:
- Срок действия. Купон с дедлайном создаёт ощущение срочности и не «висит» вечным риском для маржи.
- Минимальная сумма заказа. Через условие правила — чтобы скидка не применялась к копеечному заказу и не уходила в минус.
- Ограничение на товары. Промокод действует только на определённые разделы или, наоборот, не действует на уже уценённые товары.
- Одна скидка в одни руки. Лимит на пользователя, чтобы один клиент не активировал промокод многократно.
- Несовместимость с другими акциями. Через политику стекления — чтобы промокод не складывался с уже действующей распродажей.
Особое внимание — исключению уже уценённых товаров. Очень частая потеря: на распродажный товар с большой скидкой клиент вводит ещё и промокод, и суммарная скидка съедает всю маржу. Правильная настройка либо запрещает промокод на товары из распродажи, либо запрещает стекление. Это ровно тот случай, когда одна невыставленная галочка стоит реальных денег на потоке заказов.
Накопительные скидки и уровни
Накопительная скидка — это скидка, которая растёт по мере того, как клиент покупает больше. «Купил на N — получаешь 5%, на 2N — 7%, на 3N — 10%». Это классика удержания: клиенту невыгодно уходить, потому что он «заработал» статус. Реализуют её в 1С-Битрикс двумя основными путями, и выбор зависит от того, насколько динамична логика.
Через группы пользователей
Простой и надёжный путь: под каждый уровень заводят группу («Скидка 5%», «Скидка 7%», «Скидка 10%»), а скидку привязывают к группе через правило корзины или тип цены. Клиент по достижении порога переводится в следующую группу — вручную менеджером или автоматически по сумме покупок. Плюс — прозрачность и стабильность. Минус — уровней не может быть слишком много, и перевод между ними нужно чем-то запускать.
Через расчёт по истории покупок
Более гибкий путь: скидка вычисляется по накопленной сумме покупок клиента. Здесь уже нужна логика подсчёта суммы за период и определения уровня — это доработка или внешняя система. Такой подход оправдан, когда уровней много, пороги сложные или нужен пересчёт с учётом возвратов и срока «жизни» накопления.
| Способ | Когда подходит | Ограничения |
|---|---|---|
| Группы пользователей + правила | Несколько фиксированных уровней | Нужен механизм перевода между группами |
| Расчёт по истории покупок | Много уровней, сложные пороги | Доработка или внешняя система лояльности |
| Внешняя система лояльности | Единые уровни на кассе и сайте | Интеграция по API, единый источник истины |
Важный нюанс: если у магазина есть офлайн-точки, накопительные уровни почти всегда ведёт внешняя система или 1С, потому что клиент копит статус и в магазине, и на сайте. Тогда сайт не считает уровень сам, а спрашивает его у системы лояльности. Вести уровни отдельно на сайте и отдельно на кассе — прямой путь к тому, что у клиента будет два разных статуса и он это заметит.
Бонусные баллы: начисление и списание
Бонусные баллы — это отдельная механика, принципиально отличающаяся от скидок. Скидка уменьшает цену в текущем заказе. Балл — это единица на счёте клиента, которую он накапливает с покупок и тратит на будущие. По сути это внутренняя «валюта» лояльности со своим балансом, правилами начисления, списания и сгорания.
Ключевые правила, которые нужно спроектировать до внедрения:
- Начисление. Сколько баллов даётся за покупку (процент от суммы, фикс за товар, повышенный процент для уровня) и — критично — в какой момент: при оформлении, при оплате или после получения заказа. Начислять до оплаты рискованно: заказ могут отменить.
- Списание. Сколько баллов можно потратить на заказ и какую долю его суммы они могут покрыть. Обычно ограничивают процент оплаты баллами, чтобы клиент не покупал «полностью за бонусы».
- Курс. Сколько стоит один балл в рублях при списании. Курс фиксируют явно, чтобы избежать путаницы.
- Сгорание. Срок жизни баллов. Сгорающие баллы мотивируют вернуться, но правила сгорания нужно честно доносить до клиента.
- Возврат и сторнирование. Что происходит с начисленными баллами при возврате товара и со списанными — при отмене заказа. Без этого баланс быстро разъезжается.
Здесь и возникает главный архитектурный вопрос: где живёт баланс. Если магазин чисто онлайновый и учёт простой, баланс можно вести на стороне сайта. Но как только появляются офлайн-точки, мобильное приложение или касса, баланс должен быть единым для всех каналов — а это уже задача внешней системы лояльности или 1С. Сайт в этом случае не хранит баланс, а работает с ним по API: спрашивает доступный остаток, резервирует списание, подтверждает начисление после оплаты.
Баллы или скидки: что выбрать
Частый вопрос на старте — что внедрять: скидки или бонусные баллы. Ответ зависит от задачи, и часто правильный ответ — «и то, и другое, но для разных целей». Сравним честно.
| Критерий | Скидки | Бонусные баллы |
|---|---|---|
| Когда выгода | Сейчас, в этом заказе | Отложенно, в следующем заказе |
| Главная задача | Привлечь, стимулировать покупку | Удержать, вернуть клиента |
| Влияние на маржу | Режет прямо сейчас | Отложенное, часть баллов не тратится |
| Сложность реализации | Штатно (правила корзины) | Баланс, начисление/списание, часто внешняя система |
| Понятность клиенту | Максимально простая | Нужно объяснять правила и курс |
| Эффект удержания | Слабый: купил и ушёл | Сильный: «жалко потерять накопленное» |
Логика выбора такая. Если задача — раскачать продажи, привлечь новых, распродать остатки — работают скидки, акции и промокоды: они дают понятную выгоду сразу и не требуют сложной инфраструктуры. Если задача — удерживать постоянных, повышать частоту покупок, строить долгие отношения — работают баллы и уровни: они создают «привязку» и повод вернуться. Многие магазины комбинируют: скидки на входе (первый заказ, распродажа) и баллы на удержании (накопление, уровни).
Важный трезвый момент про экономику баллов: часть начисленных баллов клиенты никогда не тратят (забывают, не доходят до порога, баллы сгорают). Это делает баллы дешевле для магазина, чем эквивалентная прямая скидка, — но и слабее как немедленный стимул. Скидка «в лоб» дороже, но действует сразу. Осознанный выбор между ними — это про то, что вам сейчас важнее: оборот сегодня или лояльная база завтра.
Карты лояльности
Карта лояльности — это способ идентифицировать клиента и привязать к нему баланс баллов, уровень и историю покупок. Физическая пластиковая карта постепенно уступает место виртуальной: номер телефона, штрихкод или QR в приложении, привязка к аккаунту на сайте. Суть одна — узнать клиента на любой точке контакта и показать ему его лояльность.
Для магазина на 1С-Битрикс карта важна прежде всего как идентификатор для связки каналов. Клиент предъявляет карту на кассе и вводит тот же телефон на сайте — и это один и тот же клиент с одним балансом и уровнем. Именно карта (а точнее, идентификатор за ней) склеивает офлайн и онлайн в единый профиль. Без такой склейки лояльность распадается на несвязанные куски.
- Идентификатор. Телефон, номер карты, штрихкод/QR — то, по чему клиент узнаётся на кассе, на сайте и в приложении.
- Привязка к профилю. На сайте карта связывается с личным кабинетом, чтобы клиент видел баланс и уровень онлайн.
- Единый баланс и уровень. За картой стоит счёт в системе лояльности, общий для всех каналов.
- История. Покупки по карте формируют историю, на которой строятся уровни и персональные предложения.
Реализуют карты почти всегда через внешнюю систему лояльности или CRM: именно там живёт профиль клиента с балансом, а сайт подключается к нему. Заводить «свои» карты только на сайте имеет смысл лишь для чисто онлайнового магазина без офлайна. Как только есть касса — карта и её баланс должны быть общими, и это снова возвращает нас к интеграции по API.
Акции и распродажи
Акции и распродажи — это скидочные механики, ограниченные во времени и оформленные как событие. Технически они собираются из тех же правил корзины и купонов, но с акцентом на срок, охват и подачу. Разберём типовые форматы и что важно в каждом.
- Сезонная распродажа. Скидка на раздел или весь каталог на период. Правило корзины с условием на дату и товарным охватом. Важно не забыть выключить её вовремя.
- Флеш-акция. Короткое окно с ощущением срочности («только сегодня», «−30% до полуночи»). Условие на узкий диапазон времени плюс явный таймер на витрине.
- Порог «купи на сумму». «При заказе от суммы — скидка / подарок / бесплатная доставка». Мотивирует добрать корзину. Условие на сумму + действие.
- Комплекты и наборы. «Купи A и B — скидка на комплект». Условие на состав корзины. Повышает средний чек.
- Товар недели / категория дня. Регулярная ротация скидок для повторных заходов и приучения к возврату.
Что критично в любой акции — управляемость сроков. Акция должна автоматически включаться и, главное, выключаться по дате. «Забытая» акция, которую не отключили, тихо режет маржу неделями. Поэтому у каждого правила задают срок, а перед запуском проверяют, что после дедлайна оно перестанет применяться. И отдельно — что акции не конфликтуют между собой и с базовыми скидками групп (снова тема стекления).
Персональные предложения по сегментам
Одна скидка на всех — грубый инструмент. Куда эффективнее давать разные предложения разным сегментам: новым клиентам — приветственную скидку, спящим — «мы соскучились» с бонусом, VIP — повышенный кешбэк, брошенным корзинам — напоминание с промокодом. Это уже территория CRM-маркетинга, но опирается она на ту же механику купонов и правил.
Как это устроено технически:
- Сегментация. Клиентов делят на группы по поведению: новые, постоянные, спящие, VIP, «бросившие корзину». Сегменты считаются по данным покупок и активности — обычно в CRM или системе лояльности.
- Предложение под сегмент. Каждому сегменту — своя механика: персональный промокод, повышенные баллы, доступ к закрытой распродаже.
- Доставка предложения. Промокод и оффер уходят клиенту в письмо, SMS, push или показываются в личном кабинете и на сайте.
- Применение и учёт. Персональный (одноразовый) код срабатывает у конкретного клиента, а активация фиксируется для оценки сегментной кампании.
Ключевая связка здесь — сегменты в CRM плюс одноразовые купоны на сайте. CRM отвечает за то, «кому и что предложить», а 1С-Битрикс — за то, чтобы персональный промокод корректно применился и дал ровно ту скидку, которая задумана. Про построение таких кампаний и триггерных рассылок мы подробно пишем в статье про email- и CRM-маркетинг в 1С-Битрикс — там про сегменты, триггеры и цепочки, а здесь — про то, как выданная в них скидка технически отрабатывает на сайте.
Отдельно про важную деталь: персональные предложения почти всегда строятся на одноразовых кодах. Публичный промокод из персональной рассылки мгновенно теряет смысл — его расшарят, и «персональная» скидка станет общей. Поэтому под сегментные кампании генерируют уникальные коды и раздают их адресно, а на сайте следят, что каждый код работает один раз и у своего клиента.
Интеграция с внешней системой лояльности по API
Когда лояльность выходит за пределы простых скидок — появляются баллы, карты, уровни, единый баланс на кассе и сайте, — в игру вступает внешняя система лояльности. Это специализированный сервис, который ведёт профили клиентов, балансы, правила начисления и списания. Сайт на 1С-Битрикс в этой схеме — один из каналов, который обращается к системе по API.
Что делает интеграция в этом сценарии:
- Идентифицирует клиента. По телефону, номеру карты или идентификатору находит профиль в системе лояльности.
- Запрашивает баланс и уровень. Показывает клиенту актуальный остаток баллов и статус на сайте и в корзине.
- Резервирует и подтверждает списание. При оплате баллами — резервирует их при оформлении и подтверждает при оплате, а при отмене освобождает.
- Начисляет баллы. После подтверждённой оплаты сообщает системе о покупке, чтобы та начислила баллы по своим правилам.
- Получает акции и правила. Персональные предложения и правила часто приходят из системы лояльности, а не задаются на сайте.
Принципиально важно: правила лояльности живут в системе лояльности, а не на сайте. Сайт не считает баллы сам — он спрашивает систему «сколько начислить», «сколько можно списать», «какой баланс». Это тот же принцип разделения ролей, что и в связке с CRM или 1С: у каждой сущности один хозяин. Сайт отвечает за витрину, оформление и корректное отображение выгоды, а логика баллов — за системой лояльности.
Технически связка строится на тех же принципах, что любая ответственная интеграция: обмен по HTTPS, авторизация по токенам/ключам, обработка недоступности сервиса без потери заказа, идемпотентность операций начисления и списания (повторный вызов не должен начислить баллы дважды). Особенно критична идемпотентность: двойное начисление или двойное списание баллов клиент замечает сразу, и это подрывает доверие к программе. Эти же принципы мы применяем во всех проектах рубрики «Интеграции».
Синхронизация бонусов с 1С и CRM
Программа лояльности редко живёт в одиночестве — рядом почти всегда есть 1С (учёт) и CRM (клиенты и продажи). Чтобы бонусы работали как единая система, эти части нужно синхронизировать, и здесь снова главный принцип — единый источник истины для каждого типа данных.
Типичное разделение ролей в связке лояльности с учётом и CRM:
- 1С. Может быть источником начислений и списаний, если продажи (включая офлайн) проводятся через неё. Тогда баланс баллов ведётся или сверяется с 1С, а сайт отражает его.
- Система лояльности. Если она есть, именно она — хозяин баланса и правил, а 1С и сайт с ней синхронизируются.
- CRM. Хранит профиль клиента, сегменты и историю коммуникаций; на её сегментах строятся персональные предложения и рассылки промокодов.
- Сайт (1С-Битрикс). Витрина и точка применения: показывает баланс и выгоду, применяет промокоды, инициирует начисление/списание через хозяина баланса.
Опасность та же, что во всех многосистемных связках, — рассинхрон. Если баллы начисляет и 1С, и сайт независимо, балансы разъедутся. Поэтому определяют одного хозяина баланса, а остальные системы к нему обращаются или получают от него обновления. Операции начисления и списания делают идемпотентными, а обмен — устойчивым к сбоям: если синхронизация не прошла, её повторяют, а не «теряют» начисление. Общие подходы к обмену с учётной системой мы разбираем в материалах про интеграцию с 1С, а к клиентским данным — в статьях про CRM.
Отображение выгоды в карточке и корзине
Скидка, которую покупатель не видит, не работает на продажу — она просто молча режет маржу. Поэтому отображение выгоды — не косметика, а часть механики лояльности. Правильная подача выгоды в нужный момент напрямую влияет на конверсию и средний чек.
Где и что показывать:
- Карточка товара. Старая (перечёркнутая) и новая цена, размер скидки в процентах или рублях, бейдж акции. Клиент должен видеть выгоду до добавления в корзину.
- Список и каталог. Бейджи скидок и акций прямо в плитке товара, чтобы выгодные позиции выделялись в общем списке.
- Корзина. Сколько сэкономлено по каждому правилу, итоговая скидка, сколько баллов начислится за заказ, до какой суммы добрать для бесплатной доставки или следующего порога.
- Оформление. Поле промокода с понятной реакцией (принят / не подошёл и почему), доступный баланс баллов и сколько ими можно оплатить.
- Личный кабинет. Баланс баллов, уровень, история начислений и списаний, доступные персональные предложения.
Особенно важны две вещи. Первая — подсказка «доберите до порога»: «добавьте товаров на N рублей до бесплатной доставки» — это прямой рычаг роста среднего чека, и он опирается ровно на те же правила корзины. Вторая — честная реакция на промокод: если код не подошёл, нужно понятно объяснить почему (истёк, не на эти товары, не достигнута минимальная сумма), а не показывать глухую ошибку. Невнятная реакция на промокод — частая причина брошенной корзины, о которой мы пишем в разборе брошенной корзины.
И обратная сторона: не превращайте витрину в «базар скидок». Когда всё перечёркнуто и всё «горит», клиент перестаёт верить ценам. Выгода работает, когда она заметная, но честная и не тотальная. Баланс между «показать выгоду» и «не обесценить цену» — это тоже часть проектирования программы лояльности, а не только техника.
Антифрод и злоупотребления
Щедрая программа лояльности без защиты — это дыра в марже, которую находят быстро. Промокоды утекают в купонники, баллы накручивают самовыкупами, одну акцию применяют десятками способов. Антифрод закладывают на этапе проектирования, а не после первых потерь, потому что закрывать дыры задним числом всегда дороже.
Основные векторы злоупотреблений и защита от них:
- Расшаривание промокодов. Персональный код попадает в публичный купонник. Защита — одноразовость, лимит активаций, привязка к пользователю.
- Многократное применение. Один клиент активирует акцию много раз через новые аккаунты. Защита — лимит «одна скидка в одни руки», контроль по телефону/email, а не только по аккаунту.
- Накрутка баллов самовыкупами. Заказы ради начисления, которые потом отменяют. Защита — начисление только после подтверждённой оплаты и сторнирование при возврате.
- Стекление скидок в минус. Комбинация акций уводит товар ниже себестоимости. Защита — политика стекления, лимит суммарной скидки, исключение уценённых товаров из промокодов.
- Оплата заказа полностью баллами. Клиент «обналичивает» бонусы. Защита — лимит доли заказа, которую можно оплатить баллами.
- Массовые регистрации ради приветственного бонуса. Защита — идентификация по телефону, ограничения на приветственные механики.
Сквозной принцип антифрода — привязка выгоды к реальному действию и одному хозяину. Баллы начисляются от факта оплаты, а не оформления. Промокод привязан к клиенту, а не «висит в воздухе». Каждая операция с балансом логируется, чтобы спорную ситуацию можно было разобрать по журналу. Лимиты (доля оплаты баллами, суммарная скидка, кратность купонов) заданы явно. Без этого фундамента любая красивая механика лояльности со временем начинает работать против магазина.
Аналитика эффективности акций
Программа лояльности без аналитики — это раздача денег на удачу. Чтобы понимать, что работает, нужно измерять эффект каждой механики: акции, промокода, уровня. Иначе легко годами держать акцию, которая только режет маржу и ничего не приносит.
Что стоит отслеживать:
- Активацию промокодов. Сколько раз применён каждый код, на какую сумму, каким сегментом. Показывает, какая кампания сработала.
- Выручку и маржу по акции. Не только оборот, но и что осталось после скидки. Акция с большим оборотом и нулевой маржой — это провал, а не успех.
- Инкрементальность. Насколько акция принесла дополнительные продажи, а не скидку тем, кто и так бы купил. Это самый честный и самый сложный вопрос.
- Экономику баллов. Сколько начислено, сколько списано, какая доля «сгорела». Показывает реальную стоимость программы бонусов.
- Удержание и повторные покупки. Возвращаются ли участники программы чаще неучастников — ключевая метрика для бонусной механики.
- Средний чек. Как пороги «купи на сумму» и «доберите до бесплатной доставки» влияют на размер заказа.
Технически аналитика опирается на корректно проставленные метки: каждая скидка, промокод и начисление должны быть привязаны к заказу и клиенту, чтобы их можно было собрать в отчёт. Часть данных живёт на сайте, часть — в CRM и системе лояльности, поэтому полноценная аналитика акций — это связка источников. Но начинается всё с дисциплины на уровне данных: если промокод применился «безымянно» и его не с чем связать, посчитать эффект кампании уже не получится.
Главный вывод по аналитике простой: измеряйте не оборот, а маржу и инкрементальность. Скидка почти всегда поднимает оборот — это не достижение, а арифметика. Вопрос в том, заработал магазин на акции или раздал маржу тем, кто купил бы и так. Ответ на этот вопрос и отличает управляемую программу лояльности от бесконтрольной раздачи скидок.
Способы реализации и порядок внедрения
Собрать программу лояльности на 1С-Битрикс можно на разной глубине — от чисто штатной настройки до сложной интеграции. Выбор зависит от механик, наличия офлайна и требований к единому балансу.
| Уровень | Что закрывает | Чем реализуется |
|---|---|---|
| Штатная настройка | Скидки, акции, промокоды, пороги | Правила корзины + купоны, без доработок |
| Штатное + доработки | Сложные условия, накопительные уровни, отображение выгоды | Правила + программные обработчики событий |
| Интеграция с системой лояльности | Баллы, карты, единый баланс на всех каналах | API-связка с внешней системой / 1С |
Рекомендуемый порядок внедрения — от бизнес-логики к технике, а не наоборот:
- Опишите механики словами. Какие скидки, акции, промокоды, нужны ли баллы, уровни, карты. Сформулируйте программу до настройки — «кому, что, при каком условии, на какой срок».
- Решите вопрос баланса. Если есть баллы — где живёт баланс (сайт, 1С, система лояльности), кто его хозяин, есть ли офлайн-каналы. Это определяет всю архитектуру.
- Настройте штатные скидки и промокоды. Соберите правила корзины и купоны: скидки на товар, корзину, доставку, пороги, промокоды с ограничениями, политику стекления.
- Задайте политику стекления и антифрод. Складываются ли скидки, лимиты доли оплаты баллами, одноразовость купонов, исключение уценённых товаров.
- Подключите систему лояльности (если нужны баллы). Интеграция по API: идентификация, баланс, начисление после оплаты, списание с резервированием, идемпотентность.
- Настройте отображение выгоды. Карточка, корзина, оформление, личный кабинет — цены, скидки, баланс, реакция на промокод, подсказки о порогах.
- Свяжите с CRM для сегментов. Персональные предложения и одноразовые промокоды под сегменты, учёт активаций.
- Настройте аналитику. Привязка скидок, промокодов и начислений к заказам и клиентам, отчёты по марже и инкрементальности.
- Проверьте на боевых сценариях. Реальные корзины, граничные случаи стекления, возвраты и сторнирование баллов, недоступность системы лояльности, злоупотребления.
Порядок важен: механику и вопрос баланса решают до настройки, потому что от них зависит вся архитектура. Если сначала «включить скидки», а потом думать про баллы и единый баланс, часть работы придётся переделывать. Сложную лояльность с баллами, картами и связкой систем стоит вести единой командой, где ценообразование, интеграции и витрина проектируются вместе.
Частые ошибки
- Скидки без политики стекления. Несколько правил складываются бесконтрольно, товар уходит в минус. Не задано, какие акции совместимы, а какие — нет.
- Промокод на уценённый товар. Публичный код применяется поверх распродажной цены, суммарная скидка съедает маржу. Не исключены уценённые товары и не запрещено стекление.
- Многоразовые персональные коды. Промокод из персональной рассылки не сделали одноразовым — его расшарили, и «персональная» скидка стала общей.
- Два счётчика баллов. Баланс ведётся независимо на сайте и на кассе, суммы разъезжаются, клиент видит обман. Нет единого хозяина баланса.
- Начисление баллов до оплаты. Баллы начисляются при оформлении, а не при оплате; заказы оформляют и отменяют ради накрутки.
- Нет сторнирования при возврате. Товар вернули, а начисленные баллы остались — баланс завышается, программа теряет деньги.
- Забытая акция. Правило без срока или с неверной датой продолжает резать цену после окончания акции.
- Скрытая выгода. Скидка применяется, но нигде не показана — она режет маржу, но не влияет на решение о покупке.
- Глухая ошибка промокода. Код не подошёл, а причина не объяснена — покупатель бросает корзину в раздражении.
- Нет лимита оплаты баллами. Заказ можно оплатить полностью баллами — клиенты «обналичивают» бонусы, а не докупают.
- Нет журнала операций. Начисления, списания и активации не логируются — невозможно разобрать спор с клиентом и увидеть накрутку.
- Аналитика по обороту, а не по марже. Успех акции меряют выручкой, а не тем, что осталось после скидок, — и годами держат убыточные механики.
Чек-лист внедрения
- Механики описаны. Понятно, какие скидки, акции, промокоды, нужны ли баллы, уровни, карты; всё сформулировано словами до настройки.
- Хозяин баланса определён. Для баллов зафиксирован единый источник истины (сайт, 1С или система лояльности), учтён офлайн.
- Скидки настроены штатно. Правила корзины на товар, корзину и доставку с условиями, сроками и охватом; акции включаются и выключаются по дате.
- Политика стекления задана. Явно определено, какие скидки складываются, есть лимит суммарной скидки, уценённые товары исключены из промокодов.
- Промокоды под контролем. Персональные коды одноразовые или лимитированные, привязаны к клиенту и акции, срок задан.
- Баллы спроектированы. Правила начисления (после оплаты), списания (с лимитом доли), курс, сгорание, сторнирование при возврате.
- Интеграция идемпотентна. Связка с системой лояльности по API устойчива к сбоям, начисление и списание не срабатывают дважды.
- Выгода показана. Цены и скидки в карточке и каталоге, экономия и баланс в корзине, реакция на промокод, подсказки о порогах.
- Антифрод заложен. Одноразовость купонов, привязка к оплате, лимиты, журнал операций с балансом и купонами.
- Сегменты связаны с CRM. Персональные предложения и одноразовые коды по сегментам, учёт активаций.
- Аналитика настроена. Скидки, промокоды и начисления привязаны к заказам и клиентам; отчёты по марже и инкрементальности, а не только по обороту.
- Проверено на боевых сценариях. Граничные случаи стекления, возвраты, недоступность системы лояльности, попытки злоупотреблений.
Вывод
Программа лояльности в 1С-Битрикс — это не одна кнопка, а система из нескольких механик с разной глубиной реализации. Скидки, акции и промокоды закрываются штатными «Правилами работы с корзиной» и купонами: скидки на товар, корзину и доставку с условиями, сроками, приоритетами и контролем стекления. Бонусные баллы, карты и уровни с единым балансом на всех каналах — это почти всегда интеграция с внешней системой лояльности или 1С, где у баланса один хозяин, а сайт работает с ним по API.
Сделайте программу управляемой, а не стихийной: заранее решите, где живёт баланс бонусов, задайте политику стекления скидок, делайте персональные промокоды одноразовыми, начисляйте баллы от факта оплаты и предусмотрите сторнирование при возврате. Заложите антифрод и журнал операций, показывайте выгоду явно в карточке и корзине и измеряйте не оборот, а маржу и инкрементальность. Тогда лояльность будет привлекать новых, удерживать постоянных и зарабатывать магазину, а не тихо раздавать маржу через забытые акции и утёкшие промокоды.