Промокоды — удобный способ автоматически поощрять клиентов через бота: скидка за подписку, бонус за прохождение опроса, код для акции. Разберём, как завести пул промокодов на платформе и подключить их выдачу в сценарии бота.
Преимущества
- Автоматизация. Бот сам выдаёт код из пула — не нужно вручную отправлять коды операторам или клиентам
- Контроль расхода. Каждый код выдаётся только один раз — исключены дубли и «утечка» промокодов
- Прозрачная статистика. По каждому коду видно статус (доступен/выдан), кому и в каком чате он был выдан, дату создания
- Группировка по акциям. Промокоды объединяются в группы — удобно вести несколько акций параллельно, не путая коды между собой
Шаг 1. Создайте группу промокодов
Группа — это «контейнер» для промокодов одной акции. Именно к группе будет обращаться бот при выдаче кода.
- Перейдите в раздел «Маркетинг» → «Промокоды»
- Нажмите «Создать группу»
- Укажите «Название группы» (например, «Летняя акция»)
- Нажмите «Создать»


Шаг 2. Добавьте промокоды в группу
Промокоды можно добавить двумя способами — вручную или сгенерировать. В обоих случаях создаётся один промокод за раз, разница в том, откуда берётся сам код.
- Нажмите «Создать промокод»
- Выберите вкладку:
- «Вручную» — если у вас уже готов конкретный код. Укажите Группу, сам Код и, при необходимости, Срок действия
- «Сгенерировать» — система сама сформирует код по заданным параметрам. Укажите Группу, Длину кода (без префикса), при желании — Префикс (например,
abs), включите «Добавить цифры» и задайте Срок действия
- Нажмите «Создать» (при ручном вводе) или «Сгенерировать»


Совет: чтобы наполнить пул из нескольких кодов, повторите шаг «Сгенерировать» нужное количество раз с одной и той же группой, префиксом и длиной — каждый раз система создаст новый уникальный код. Ручной ввод подойдёт, когда у вас уже есть конкретные коды из внешней системы или согласованные с маркетингом.
Шаг 3. Проверьте список промокодов
Все коды группы отображаются в общем списке с колонками:
- Код — сам промокод
- Статус — «Доступен» (ещё не выдан) или «Выдан»
- Группа — к какой акции относится
- Чат — кому и через какой чат был выдан код (заполняется автоматически при выдаче)
- Истекает — срок действия, если задан
- Создано — дата и время создания

Ненужный код можно удалить через меню «…» рядом с записью.

⚠️ Удаление кода необратимо. Если код уже выдан клиенту — удалять его не стоит, иначе клиент не сможет им воспользоваться.
Шаг 4. Подключите выдачу промокода в сценарии бота
Выдача кода настраивается в узле бота через расширенный режим (DTL-код), в блоке «Действия».
- Откройте нужный узел в конструкторе бота
- Включите блок «Действия»
- Перейдите в «Расширенный режим (DTL-код)»
- Пропишите обращение к группе промокодов и логику сохранения результата:
{# обращаемся к группе промокодов "Летняя акция" и забираем 1 промокод #}
{% promocode.issue from_group="Летняя акция" as res %}
{# если нет свободных промокодов, то нужно пометить человека тегом #}
{% if not res %}
{% profile.set_tag "bot_promo_error" %}
{# если есть, то сохраняем промокод #}
{% else %}
{% save_variable "bot_promo" res %}
{% endif %}

- Дальше по сценарию используйте переменную
bot_promoдля отправки кода клиенту, например:Ваш промокод: {{bot_promo}} - Если сработал тег
bot_promo_error— направьте пользователя на альтернативный узел (например, «Промокоды закончились, ожидайте новую акцию»)
⚠️ Обязательно предусмотрите ветку на случай, если промокоды в группе закончились — без обработки
if not resбот может отправить пустое сообщение вместо кода.
Чек-лист внедрения
- Создали группу промокодов под конкретную акцию
- Загрузили коды — вручную или генерацией
- Проверили статусы в общем списке
- Прописали в узле бота DTL-код выдачи (
promocode.issue from_group=...) - Обработали случай отсутствия свободных кодов (
if not res) - Протестировали сценарий на себе перед запуском на клиентов