WordPress · 5 мин чтения

Как сделать промокод в Тильде: настройка скидок в корзине

Промокоды в корзине Тильды настраиваются без разработчика, но у встроенного механизма есть ограничения, из-за которых предприниматели потом приходят ко мне с вопросом, почему клиент активировал скидку 50 раз с одного айпи. Расскажу, как сделать промокод в Тильде через штатные настройки корзины, какие типы скидок доступны и где встроенной логики уже не хватает для реальной акции.

Где в Тильде включаются промокоды в корзине

Промокоды живут в разделе настроек сайта, отвечающем за корзину и приём заказов. Открываю сайт в редакторе, захожу в настройки корзины и ищу блок «Промокоды на скидку» - он доступен, если на сайте подключена оплата или хотя бы форма заказа с корзиной. Без активной корзины (то есть если у вас просто лендинг с одной кнопкой «Купить» без списка товаров) раздел промокодов не появится вообще, это частая причина, почему клиенты не находят настройку.
В блоке добавляю новую запись: ввожу сам код (например, SALE15), выбираю тип скидки и период действия. Все промокоды хранятся списком, редактировать или удалять можно в любой момент, изменения применяются сразу после сохранения настроек корзины.

Процент или фиксированная сумма: как выбрать тип скидки

Тильда даёт на выбор два формата скидки, и разница влияет на то, как быстро акция «съедает» маржу при крупных заказах.

Тип скидки Как считается Когда применяю на практике
Процент от суммы заказа Скидка растёт вместе с чеком Для акций типа «скидка на весь заказ», распродажи коллекции
Фиксированная сумма Вычитается одно и то же число рублей вне зависимости от чека Для промокодов из рассылок и партнёрских размещений, где важно не терять маржу на маленьких заказах

С процентными скидками я советую сразу считать нижнюю границу маржинальности: если у товара наценка 20%, промокод на 15% почти обнуляет прибыль с продажи. Фиксированную сумму проще прогнозировать в бюджете акции, потому что расход известен заранее и не зависит от того, кто и на сколько закажет.

Сроки действия и лимит использований в настройках Тильды

У каждого промокода можно задать дату начала и окончания действия - это работает стабильно и проверено на десятках магазинов, с которыми я работал. А вот лимит по количеству использований в штатных настройках либо отсутствует, либо ограничен базовым счётчиком без детализации по покупателям, в зависимости от версии корзины. То есть акция «только для первых 20 покупателей» через интерфейс Тильды напрямую не собирается.
На практике это всплывает в сезон: делаешь промокод на день рождения бренда с лимитом 30 активаций, а через сутки видишь, что им воспользовались 80 раз, потому что код разошёлся по чатам с распродажами. Для магазина с наценкой 25-30% это не абстрактный риск, а конкретные минусовые продажи.

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

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

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

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

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

Чтобы промокод реально переставал работать после N активаций, нужен внешний счётчик: скрипт на странице корзины при оформлении заказа проверяет использование кода через отдельное хранилище (базу или сервис вроде Google Sheets API, но лучше сервер в РФ) и блокирует оформление, если лимит исчерпан. Логика простая: JS-хук на кнопку оформления заказа, запрос к бэкенду, ответ да/нет.

tcart_addTriggerFunction(function () {
  document.querySelector('.t706__cartwin-promocode-btn').addEventListener('click', async function () {
    var code = document.querySelector('.t706__cartwin-promocode-input').value;
    var res = await fetch('/check-promo?code=' + encodeURIComponent(code));
    var data = await res.json();
    if (!data.available) {
      alert('Промокод исчерпал лимит использований');
    }
  });
});

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

Промокоды и интеграция с оплатой и CRM

Если магазин принимает оплату через эквайринг T‑Bank или другой банк, скидка по промокоду должна пересчитывать сумму до того, как форма уйдёт на оплату, иначе клиент увидит одну цену в корзине и другую в платёжной форме. Я всегда проверяю это на тестовом заказе перед запуском акции: кладу товар, ввожу код, довожу до экрана оплаты и сверяю итоговую сумму.
Отдельная история - передача информации об использованном промокоде в CRM или систему учёта заказов. Если у вас retailCRM, amoCRM или самописный бэкенд, стоит пробросить туда не только сумму скидки, но и сам код: так через пару месяцев видно, какая рассылка или блогер реально принёс продажи, а какая только слив бюджета на скидки. Настройка такой связки с СДЭК для доставки, эквайрингом и CRM обычно занимает несколько дней и делается один раз для всего магазина.

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

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

Если магазин уже работает и вы просто добавляете новую акцию, закладывайте на тест хотя бы полчаса до публикации: пройти путь покупателя от каталога до оплаты с включённым промокодом. Если же нужна связка с внешним лимитом, интеграцией с CRM или проверкой на стороне сервера, такую доработку я beру как кастомный скрипт для Тильды, отдельно от типовых настроек корзины, - можно обсудить задачу через услуги и я оценю объём работ под конкретный магазин.

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

Почему промокод не появляется в настройках корзины Тильды?

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

Можно ли ограничить промокод одной категорией товаров?

Через штатные настройки Тильды нет: скидка либо применяется ко всей сумме заказа, либо не применяется. Для скидки на отдельную категорию нужен кастомный скрипт, который проверяет состав корзины перед расчётом итоговой суммы, у меня он есть готовый: ограничение промокода по категории товаров в Tilda.

Сколько промокодов можно создать одновременно?

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

Как узнать, сколько раз клиенты уже использовали промокод?

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

Есть задача?

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

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

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