Содержание
Ответом на вопрос — штатными средствами пока никак. Однако, при помощи Java Script можно внедрить на странице с корзиной пользовательский код, который позволит контролировать введенное значение в поле ввода промокода. Готовый код и демонстранция ниже
Создаем промокод
Чтобы создать промокод, нужно перейти в «Настройки сайта«, Далее «Платежные системы». Далее «Промокоды»

Нажимаем «Добавить промокод» и заполняем форму

Здесь все интуитивно понятно. Единственное обратите внимание на пункт «Скидка», если вы указываете сумму в рублях, то просто пишите число. если скидка в процентах то пишите число и символ %, например 10%
Устанавливаем код модификации
По факту код устанавливать надо туда где есть корзина. Это либо общий footer сайта и footer товара — тогда у вас будет две копии кода, либо размещаем код в header в настройках сайта — тогда у вас будет один код. Здесь уже смотрите сами как удобно вам для вашего проекта
Первым делом определяемся с тем на какой товар можно будет активировать промокод. В моем примере это будет «Шапка с шерстью»
Внутри кода в переменную «my_name_tovar1» прописываем название товара, так как указано в карточке товара, либо так, как отображается внутри просмотрщика кода при попытке проверить товар.
<script>
//console.log для тестирования
//!!!!Здесь между кавычек вводим название товара на который будет разрешен ввод промокода!!!!
var my_name_tovar1 = "Шапка с шерстью";
Это все базовые корректировки которые вы должны сделать.
Демонстрация работы применения промокода на уникальный товар и сам код
Ниже весь код для того, чтобы применялся промокод на уникальный товар:
<script>
//console.log для тестирования
//!!!!Здесь между кавычек вводим название товара на который будет разрешен ввод промокода!!!!
var my_name_tovar1 = "Шапка с шерстью";
//далее идет код и в нем по факту ничего менять не надо
//глобальная переменная проверки обмана
var rouge_chek_var = "false";
//глобальная переменная активирован промокод или нет
var status_aktivate_promocode = "false"
//глобальная переменная получения введенного промокода
var status_value_promocode ="none";
window.addEventListener('load', (event) => {
//ЗАПУСКАЕМ ФУНКЦИЮ ПРОВЕРКИ ОТКРЫТИЯ КОРЗИНЫ каждую 200 = 0.2 сек
let timer_cart_check = setInterval(check_open_cart, 200);
//ищем кнопку активации промокода чтобы повесить функцию активации
promocode_button = document.querySelector(".t-inputpromocode__btn");
promocode_button.onclick = function() {
promocode_aktive();
//console.log(status_value_promocode);
//console.log(status_aktivate_promocode);
};
});
//ФУНКЦИЯ ПРОВЕРКИ ОТКРЫТИЯ КОРЗИНЫ
function check_open_cart(){
//глобальный маркер открытия КОРЗИНЫ
//var my_cart_opened = "korzina_otkrita";
//ищем тег body для отслеживания его изменения
my_popup = document.querySelector(".t-body");
//проверяем имеет ли тег body нужный класс
isVisiblePOPUP = my_popup.classList.contains("t706__body_cartwinshowed");
//проверяем открыта ли корзина
if( isVisiblePOPUP == true){
//console.log("КОРЗИНА ОТКРЫТА");
//запускаем функцию проверки совпадения товаров
cart_vse_tovary();
}
//console.log(isVisible);
//console.log("ТЕСТ ЗАПУСКА 1 сек");
};
//ФУНКЦИЯ ОБНАРУЖЕНИЯ И СОВПАДЕНИЯ ТОВАРОВ В КОРЗИНЕ
function cart_vse_tovary(){
//Ищем контейнер в корзине со всеми товарами
vse_tovari_container = document.querySelectorAll(".t706__product .t706__product-title");
//console.log(vse_tovari_container);
//console.log(vse_tovari_container.length);
//проверка длины массива если больше 1 значит в корзине кроме промо - товара может быть еще. Поэтому деактивируем ввод промокода
if (vse_tovari_container.length > 1){
//console.log("БОЛЬШЕ ОДНОГО ТОВАРА В КОРЗИНЕ");
//запускаем функцию поиска промокода
find_promocode_area();
//прячем ввод промокода
promocode_area.style.display = "none";
//деактивируем промокод
deactivate_promocode()
//проверка условия если промокод активирован чтобы включить обман
if (status_aktivate_promocode == "true"){
rouge_check();
};
}
//если в корзине только 1 товар то можем активировать промокод
else if(vse_tovari_container.length = 1){
//console.log("1 ТОВАР В КОРЗИНЕ");
//перебираем все товары внутри массива полученных названий
vse_tovari_container.forEach(my_tovar => {
//console.log(my_tovar.innerText);
// проверка наличия названия товара из глобальной переменной my_name_tovar1
if (my_tovar.innerHTML.indexOf(my_name_tovar1) >= 0){
//console.log("Нашел ТОВАР");
//запускаем функцию поиска промокода
find_promocode_area();
//показываем ввод промокода
promocode_area.style.display = "block";
//проверка условия если промокод активирован и был активирован обман
if (status_aktivate_promocode == "true" && rouge_chek_var == "true"){
//скрываем ввод промокода
promocode_area.style.display = "none";
};
}
else if (my_tovar.innerHTML.indexOf(my_name_tovar1) == -1){
//console.log("ТОВАР НЕ ТОТ");
//запускаем функцию поиска промокода
find_promocode_area();
//прячем ввод промокода
promocode_area.style.display = "none";
//деактивируем промокод
deactivate_promocode()
//проверка условия если промокод активирован чтобы включить обман
if (status_aktivate_promocode == "true"){
rouge_check();
};
}
});
}
//проверка длины массива если больше 1 значит в корзине кроме промо - товара может быть еще. Поэтому деактивируем ввод промокода
if (vse_tovari_container.length == 0){
//console.log("В КОРЗИНЕ НЕТ НИ ОДНОГО ТОВАРА");
}
};
//ФУНКЦИЯ НАХОЖДЕНИЯ ПОЛЯ ДЛЯ ВВОДА ПРОМОКОДА
function find_promocode_area(){
promocode_area = document.querySelector('.t-input-group_pc');
//console.log(promocode_area.innerHTML);
};
//ФУНКЦИЯ ДЕАКТИВАЦИИ ПРОМОКОДА
function deactivate_promocode(){
window.tcart.promocode = "";
tcart__reDrawTotal();
tcart__updateTotalProductsinCartObj();
};
//ФУНКЦИЯ ПРОВЕРКИ ОБМАНА
function rouge_check(){
rouge_chek_var = "true";
};
//ФУНКЦИЯ ВКЛЮЧЕНИЯ РЕЖИМА АКТИВНОГО ПРОМОКОДА
function promocode_aktive(){
promocode_input = document.querySelector('.t-inputpromocode');
status_value_promocode = promocode_input.value;
status_aktivate_promocode = "true"
}
</script>
Готовые решения по промокодам Тильды
Я знаю, как трудно найти полезную информацию о промокодах Tilda в этом океане цифрового творчества. Сам, как веб-дизайнер, сталкивался с нехваткой реально рабочего кода по этой теме.
Я создал цикл решений по промокодам под различные сценарии — это не просто сборник базовых знаний. Это погружение в тонкости реализации разных схем использования уникальных промокодов на Tilda.
Во все решения включено: готовый код, инструкция по установке, обратная связь по общим вопросам
Решение 8 включает в себя следующий функционал:
💪 1) Промокоды (2 независимых группы) можно применять на множество конкретных товаров \ вариаций, каждая группа на свои. Конкретные товары \ вариации указываются через ID. Из расчета исключаются товары со скидкой
🎓 2.1) Промокоды (2 независимых группы) можно применять на определенные категории. Категории указываются через ID категории. Из расчета исключаются товары со скидкой
2.2) Промокоды (2 независимых группы) можно применять сразу на все товары. достаточно в ID товаров \ вариаций прописать цифру 99. Из расчета исключаются товары со скидкой.
🔍 3) Промокоды (2 независимых группы) можно применять сразу на все товары \ категорию но дополнительно прописать еще свои ID товаров для исключения расчета. Тем самым при расчете скидки они не будут участвовать, наряду со скидочными товарами
В итоге 8 решение позволяет:
— применять промокод на конкретные товары, определение товаров осуществляется по ID,
— применять промокод на категорию товаров, либо все товары,
— исключать действие промокода на конкретные товары, определение по ID
— из расчета скидки промокодов во всех вариантах исключаются товары с ценой по скидке (старая цена, дифференциальная скидка от количества и так далее)
Совместимость:
+Автоматическое добавление дополнительного товара в корзину, при добавлении основного
Стоимость: 3 500 ₽
— включена инструкция по установке и настройке доступна по ссылке
— техническая помощь (советы, рекомендации, при крайней необходимости подключаюсь в ваш проект и помогаю с установкой и решением проблем, поэтому не переживайте, если нужно всегда помогу)
Приобрести здесь: https://web4life.ru/curs-promo/eight
Решение 9 (платформа ЛК):
— Вы можете создавать любое число уникальных промокодов, которые можно активировать только 1 раз на одного пользователя, при этом эти промокоды общие на все товары
— Можно создавать любое число промокодов, которые делают скидку только на свои определенные товары, при этом они делают скидку только на свои товары, даже если в корзине есть сторонние товары. Управление лимитом активаций на пользователя также доступно для них
Данное решение включает в себя:
— базовая платформа, готовая для установки последующих модулей
— уже рабочий модуль (установлен вместе с платформой) по работе с промокодами (контроль за количеством активаций, промокоды на определенные товары, общие промокоды)
— пошаговая инструкция по установке и работе с платформой (читать здесь)
Что входит дополнительно:
— консультация по общим вопросам, того что нет в инструкции или просто подсказать
— если у вас домен куплен в сервисе который не указан в инструкции и вы не знаете как создать поддомен lk, я помогу его создать бесплатно
Что не входит в стоимость:
— хостинг для размещения платформы, средняя цена хостинга на 12 месяцев варьируется от 2000 до 3000 ₽
Стоимость: 4 500 ₽
Приобрести здесь: https://web4life.ru/platform
Инструкция + подробности здесь: https://webvova.ru/blog/tilda/nastoyashhij-lichnyj-kabinet-dlya-internet-magazina-na-tilde/
Решение 2:
Видео — демонстрация
🚀 Определенные промокоды можно применить для получения заданного подарка, если в корзине набрано товаров на заданную минимальную сумму
Стоимость: 3 000 ₽
Приобрести здесь: https://web4life.ru/curs-promo/second
Решение 5:
Видео — демонстрация
😱 Промокоды можно применить, только когда есть 2 определенных товара в корзине одновременно, проверка идет по SKU \ Габаритам \ ID товаров \ Названию товаров
Стоимость: 3 000 ₽
Приобрести здесь: https://web4life.ru/curs-promo/fifth
Как со мной связаться
Если вы не нашли вашего решения в текущей статье, а также на страницах моих онлайн — уроков по промокодам в Тильда https://web4life.ru/curs-promo/ Тогда присылайте ваше ТЗ задание под ваш проект.
Пишите https://t.me/vbalakin буду рад помочь с доработкой.
Отзывы
История обновлений
Обновлено 8 решение, удалены 1,3,4,6,7 за ненадобностью 06.06.2025:
+ добавлено: можно указать ID категории товара, и тогда промокод будет применяться к товарам только данной категории
+ добавлено: можно указать число 99 вместо ID товара, тем самым промокод будет применяться ко всем товарам каталога, но из расчета выпадают товары со скидкой
+ добавлено: можно указать ID товара, на которые промокод не будет действовать, а на остальные указанные будет. Например 99 действует на все товары, кроме исключенного из списка
+ обновлено: теперь из каталога подгружаются все товары в несколько быстрых этапов, поэтому старое ограничение в 500 товаров не актуально
+ обновлено: теперь промокоды можно применять совместно с дифференциальной скидкой. Но промокод посчитается только для указанных товаров
Обновлено 2, 8 и 9 решения 09.12.2024:
+ для 8 и 9 решения добавлена поддержка рассчета скидки с учетом того, если у вас доставка подключена не сторонним сервисом, а обычным полем в самой корзине. Оптимизирован код 8 и 9 решения для проверки открытия \ закрытия корзины. Видоизменены функции проверки товаров и поиска товаров из каталога, чтобы работало быстрее. Сделано 2 варианта кода (с комментариями для вашей доработки под себя, и без — для публикации на странице)
+ для 2 решения создан альтернативный код, позволяющий использовать общие промокоды вместе с подарочными. Код работает по следующим условиям: 1) Если набрана минимальная сумма, то можно активировать промо на подарок либо общий промокод. 2) Промокоды, что не входят в подарки можно применить от любой суммы. 3) Если минимальная сумма не набрана то можно активировать общий промокод. 4) Промокод общий подарок не дает, а делает только скидку.
Обновлено 8 решение + добавлено 9 решение 28.11.2024:
+ добавлен альтернативный вариант кода для 8 решения. Иногда на некоторых магазинах стоит сторонний код, который препятствует корректной обработке проверки условий выполнения по товарам. Поэтому переструктурировал логику проверки, чтобы если не работает основной, то альтернативный может помочь
+ для 8 решения введена корректировка количества загружаемых за раз товаров, установил по умолчанию 500 штук, так как большее количество вызывало в некоторых магазинах ошибки
+ добавлено 9 решение, которое является модулем будущей полноценной платформы для интернет — магазина на Тильде. Туда будут входить контроль отзывов, история покупок, бонусная программа, управление промокодами. 9 решение как раз и является модулем управления и контролем за активацией промокодов. Теперь есть возможность давать пользователю активировать промокод только 1 раз, например на первую покупку, а также создавать множество промокодов, каждый на свою группу товаров. Расчет скидки идет только на указанные товары. Своего рода сильно улучшенное 8 решение с внешней базой данных, обмен идет через API
Обновлено 8 решение + общее 05.11.2024:
+ добавлена поддержка учета вариаций товаров, если в качестве id на который работает промокод указана вариация товара, то тогда расчет скидки идет для нее, ранее код работал только на основной товар без вариаций. Если у вариации товара указана старая цена, то тогда она выбывает из расчета скидки
+ 1,2,3,4,5,6,7 решения, теперь самостоятельно определяют какая корзина установлена (окном, страница или пошаговая)
+ для всех решений по промокодам добавлена оптимизация расхода ресурсов. Когда корзина закрыта код неактивен
Обновлено 8 решение 31.10.2024:
+ теперь в переменную my_name_tovar1 можно добавлять много товаров, указывая только их ID, сумма скидки процентах будет считаться в зависимости от их наличия, а не от всей корзины
+ теперь скидка по промокоду не считается для указанных в переменной товарах, если у них стоит скидочная цена. Например 3 товара на которые можно применить промокод. 1 из них идет со скидкой, поэтому при наличии в корзине 3 товаров на которые действует промокод, скидка будет считать только для 2х из них, у которых обычная цена.
+ в переменную my_name_pomocode1 можно вводить любое количество промокодов, они все будут учитываться в корзине
+ теперь код сам определяет, какая перед ним корзина. Окном, пошаговая или отдельная страница
+ добавлена совместимость с решением по автоматическому добавлению дополнительных товаров при добавлении основного в корзину https://webvova.ru/blog/tilda/kak-dobavit-dopolnitelnye-tovary-v-korzine-v-tilda-pri-dobavlenii-osnovnogo/
Общее обновление от 16.08.2024
Добавлено 8 решение, благодаря которому появилась возможность менять величину скидки по промокоду. Тем самым появилась возможность применять промокод на конкретный товар в корзине, так чтобы скидка считалась только для него и не важно сколько товаров в корзине, процент посчитается только для конкретного товара, а не всей суммы корзины..
Общее обновление от 10.07.2024
Полностью обновил все решения. Теперь управление активацией и видимостью промокодов стало еще функциональнее, проверки товаров осуществляются по SKU, по габаритам товаров, по названию из каталога , по ID товаров. Перераспределил все решения, чтобы вам было понятнее, какое именно подойдет. Все это оказалось возможным благодаря вашей обратной связи при использовании решений в своих проектах.
#Это позволит решить следующие проблемы: можно ли в тильде задавать условия промокодов от определенной суммы, как добавить промокод для покупателя на тильде, как убрать сумму в корзине тильда, форма пожертвований на сайт для тильда
Еще материалы
-
Решение 8 Инструкция — Промокод на определенный товар Тильда
Это пошаговая инструкция по установке и настройке 8 решения по промокодам: Шаг 1 Копируем код и устанавливаем в HEAD проекта
-
Система пожертвований для сайта на Тильде
Прежде чем рассмотреть подробно инструкцию использования, сначала посмотрим принцип работы Что такое цель для сбора пожертвований, это по факту обычный
-
Автоматическая система выдачи сертификатов после покупки в Тильда
Прежде чем начать саму инструкцию, необходимо пояснить текущий алгоритм работы. Алгоритм контроля и выдачи подарочных сертификатов Если в корзине пользователя
-
Свой личный кабинет для интернет — магазина на Тильда
Инструкция по работе 1. Управление историей покупок в интернет — магазине 2. Управление пользователями в интернет — магазине 3. Управление
-
Инструкция по работе с кастомным сайтом на Тильде проект Шлокамрита
1. Добавление нового курса как товара Первый и самый важный шаг для создания курса это войти в учетную запись сервиса
-
Настоящий личный кабинет для Интернет — Магазина на Тильде
Готовые модули для расширения функционала интернет — магазина на Тильде. Промокоды, отзывы, история покупок, бонусная программа
Огромная благодарность за такие решения! мой заказчик обратился с вопросом как сделать промокод на определенные товары, хотели заказывать на заказ у прогера, но потом нашла здесь!!! Написала предварительно Владимиру в тг, он помог подобрать для нас подходящий вариант. После покупки пришла подробная понятная инструкция со скринами на каждом шаге, еще порадовало моментальная поддержка и ответы на вопросы в телеграм от Владимира. Спасибо!!!
Сами знаете, какие бывают заказчики… Часто требуют сделать промокоды в интернет-магазине, не учитывая различных нюансов. Разработчики Тильды за много лет не продвинулись в данной области(
Я долго искала решение и случайно наткнулась на данный сайт. Для меня это была настоящая находка! Владимир ответил очень быстро и мы вместе подобрали необходимую конфигурацию для моего проекта.
Работа была приятной и комфортной, что немало важно. Большое спасибо за помощь! Владимир, желаю Вам развития и надеюсь на новые интересные коды!
Обратился к Владимиру с уникальной задачей. Нужно было добавить возможность применять промокоды в корзине в обход стандартной тильдовской проверки промокодов. Мы подробно разобрались в задаче. Владимир составил план реализации данного решения и сразу уточнил срок в две недели. После полной оплаты специалист приступил к работе. Работать с Владимиром было очень удобно и комфортной, специалист почти сразу отвечал на сообщение и на заданные вопросы. К моему приятному удивлению Владимир справился за полторы недели и помог с установкой решения на проект. Я очень доволен работой профессионала. Спасибо большое!
Тысяча благодарностей Владимиру за сотрудничество в разработке кастомного решения для магазина мерча нашей компании! Впечатлены вашим профессионализмом, оперативностью и замечательными человеческими качествами) нам так повезло, что мы к вам обратились🤗
Купил решение номер 8. Подробная консультация и помощь в настройке. Все работает отлично. Рекомендую
Купила решение номер 8. Понятная пошаговая инструкция, настроила все минут за 10. Очень рекомендую, 10 из 10 ⭐️
Большое спасибо Владимиру за помощь во внедрении решения 8, очень оперативно ответил на все вопросы, объяснил нюансы и очень быстро все настроил! Будем рекомендовать и обращаться! Успехов и новых клиентов 🙂
Благодарю за «решение 8». Быстро внедрили на сайт, Владимир очень заботливо и оперативно ответил на все вопросы и помог настроить. Теперь у нас супер-система с промокодами на конкретные товары и больше никакой путаницы. Все акции не суммируются с промокодами и все счастливы) алиллуйя, благодарю от души)
Я безмерно благодарна Владимиру за помощь в разработке кода под нас и помощи по внедрению кода в наш сайт. Оперативно, качественно, с душой и нацеленностью на результат. Очень рекомендую. С Владимиром у вас точно будет результат как у меня.
Все работает, связался с Владимиром, супер специалист — огромное, человеческое спасибо, помог настроить кастомное решение за один час
Обратились через телеграм к Владимиру за платной реализацией задачи: промокод + подарок + от определенной суммы. За два дня задача была решена, клиент доволен, мы — как представили агентства тоже довольны) Спасибо, Владимир!
Спасибо большое за ваш отзыв, благодаря вашей задаче теперь готовлю новое решение, так как ваша задача была довольно интересной и самое главное нужной для интернет — магазинов
Хотела поблагодарить за отличное решение по промокодам. Купила готовую реализацию для своего интернет — магазина. Возникли сложности с установкой, но написала Владимиру лично в телеграм. Он подсказал что нужно изменить в его готовом коде, чтобы заработало. На все ушло всего пару часов. большое вам спасибо!!!!!!!!!!
И вам большое спасибо за проявленный интерес. Если еще будут вопросы, пишите, я на связи.
А можно реализовать создание уникальных промокоды? Хочется доказать купон на скидку при первой покупке, но если сделать безлимитный промокод с фикс названием, то ведь покупатель может и во 2 раз его применить ? Можете подсказать как это решить ?
Поразмыслил я над вопросом. Нет нельзя. Например в ворпресс/woocommerce можно так как там есть контроль учетки и промокодов на его активацию конкретным юзером. В тильде ничего такого и нет. Да и кодом никак не отмледить даже если включили через JS передачу активаций в сессию.
Или я туплю, или тут есть лазейка:
если взять товар «стекло» применить промокод, выйти из корзины и закинуть товар «картон», то промокод применится.
применится и к картону)
Видимо есть ошибка, так как такой сценарий тестил в первую осередь:-). Но если что можно сделать очистку корзины при её зарытии
А можно сделать, чтобы при закрытии корзины не удалялись из неё все товары, а только сбрасывался промокод?
Данный комментарий не актуален, так как код я обновил 10.07.2024 и в нем теперь совершенно другой функционал. Но комментарий решил оставить для истории.
как быть, если нужно, чтобы при одновременном нахождении разных товаров в корзине, промокод применялся только на один товар?
Пока на мой взгляд никак. Промокоды применяются только ко всей сумме заказа. Мой вариант только не даст применить промокод в текущем исполнении.
Обновление от 16.08.24. Теперь в решении 8 появилась возможность реализовать такую штуку. Если в корзине пять товаров, а нам нужно применить промокод только на 1, то скидка посчитается только для него, остальные 4 товара будут идти по своей обычной цене
Добрый день.
Верно ли понимаю, что если при такой реализации покупатель сначала применит промокод (скидка зафиксируется в итоговой сумме), а потом вернется на страницы каталога и добавит товар в другой упаковке (на которую этот промокод распространяться не должен), то скидка все равно останется?
Вообще я тестировал такой вариант. И чтобы его исключить, настраивал уже саму корзину в тильда. Там есть опция удаления всего из заказа при закрытии корзины. А так можно скрипт допилить и на вариант отмены применения после закрытия корзины. Все зависит от вашей задачи
Данный комментарий не актуален, так как код я обновил 10.07.2024 и в нем теперь совершенно другой функционал. Но комментарий решил оставить для истории.