Все возможности

Промокоды и сертификаты

Как выдать промокод после подписки на канал через бота

Шаблон для промокода строится вокруг простой проверки: бот сообщает условия, проверяет подписку на указанный канал и ведёт пользователя по одной из двух веток. Подписавшийся получает сообщение с кодом и тег promo_welcome15, неподписавшийся видит инструкцию и завершает сценарий. В seed-данных использованы your_channel, WELCOME15, скидка 15 процентов и срок семь дней. Это наглядные значения, которые нельзя оставлять без проверки: код может не существовать, срок может не совпадать с правилами магазина, а канал может быть недоступен боту.

Практический материал8 минут
Сообщения и действия в сценарии чат-бота
Иллюстрация передаёт работу с сообщениями, а не фактический экран промокода.

Две ветки после проверки подписки

Из каких узлов состоит выдача

После старта бот показывает предложение подписаться и получить скидку. Затем узел checkSubscription сверяет статус для канала, который в исходном шаблоне назван your_channel. Положительный результат ведёт к сообщению с промокодом, в котором seed указывает WELCOME15, скидку 15 процентов и семь дней действия. После сообщения добавляется тег promo_welcome15, и сценарий заканчивается.

Отрицательный результат ведёт в другое сообщение: пользователь получает приглашение подписаться и запустить бота снова. В этой ветке нет выдачи кода и нет тега получателя промокода. Такая граница полезна только тогда, когда ваш бизнес действительно считает подписку необходимым условием. Если код доступен всем, или скидка зависит от другого события, этот шаблон нужно перестроить, а не только переписать первое сообщение.

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

Сформулируйте правило скидки

Промокод не стоит описывать общими словами вроде скидки на всё, если есть исключения. Укажите, применим ли он к первой покупке, отдельной категории, конкретному товару или минимальной сумме. Если срок отсчитывается от получения кода, назовите его точно. Если срок фиксирован календарной датой, текст бота нужно менять до её наступления. Эти детали лучше подготовить до редактирования карточки сообщения.

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

  • У кода есть источник, а его условия совпадают с текстом в боте.
  • Понятно, можно ли применить скидку повторно и для каких заказов она не работает.
  • Срок действия задан в реальном правиле, а не взят из примера на семь дней.
  • Пользователь получает инструкцию, где вводить или предъявлять код.

Сначала замените данные, затем проверьте обе ветки

Как адаптировать сообщения и проверку

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

  1. Укажите канал

    Замените your_channel в настройках проверки и в обоих сообщениях. Убедитесь, что подписка проверяется именно для того канала, на который ведёт приглашение.

  2. Подставьте действующее предложение

    Вместо WELCOME15, 15 процентов и семи дней внесите свой код и условия. Не используйте слово персональный, если одинаковый код видят все получатели.

  3. Настройте путь к заказу

    Добавьте понятную ссылку, кнопку или инструкцию, если для применения скидки нужен сайт, менеджер или другое действие. Адреса в демонстрационных данных не являются рабочими.

  4. Проверьте тег

    Решите, нужен ли promo_welcome15 для сегментации или исключения повторной выдачи. Не считайте этот тег подтверждением использования промокода.

Пример диалога

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

Проверка подписки не решает все правила акции

Как избежать повторной и ошибочной выдачи

В текущей схеме пользователь, который уже подписан, при повторном запуске снова попадёт в ветку выдачи сообщения и тега. Это может быть нормальным, если код один и тот же, но для одноразовой акции нужно дополнительно определить, что считается повторной выдачей. Например, можно опираться на отдельное условие по тегу или на правило системы, где создаётся код. Сам шаблон такого ограничения не добавляет.

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

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

Достаточно пройти два реальных состояния

Проверьте сценарий перед публикацией

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

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

  • Подписанный пользователь получает только актуальный текст и условия скидки.
  • Неподписанный пользователь не видит код до успешной проверки.
  • Канал, код, срок и способ применения совпадают с правилами акции.
  • Команда знает, когда снять или отредактировать сценарий после окончания предложения.

Продолжить разбираться

Можно начать без оплаты

Посмотрите карточку шаблона в каталоге

Каталог открывается после входа в аккаунт. Склонировать этот FLOW на своего бота можно на тарифе STANDARD+; до копирования подготовьте рабочий канал и правила промокода.
Попробовать на своём боте