Версия: 2.1.0
Дата: 2026-03-24
Философия
Простота + прозрачность = доверие клиента
Клиент должен понимать: сколько у него, как получить больше, как потратить.
Типы поощрений
| Тип |
Описание |
Когда использовать |
| Скидка % |
Процент от цены |
Акции, статус клиента |
| Скидка ₽ |
Фиксированная сумма |
Промокоды, купоны |
| Бонусы |
Внутренняя валюта |
Лояльность, cashback |
| Бесплатная доставка |
Доставка = 0₽ |
Порог суммы, акции |
| Подарок |
Товар бесплатно |
При покупке от X₽ |
1. СКИДКИ
Виды скидок
| Вид |
Источник |
Приоритет |
Суммируется |
| Акционная |
Товар/категория |
1 |
Нет |
| Персональная |
Статус клиента |
2 |
Нет |
| Промокод |
Ввод кода |
3 |
Опционально |
| Оптовая |
Количество |
4 |
Да |
Правила применения
ПРИОРИТЕТ СКИДОК (применяется ОДНА, максимальная):
1. Проверить акционную скидку на товар
2. Проверить персональную скидку клиента
3. Проверить промокод
4. Выбрать МАКСИМАЛЬНУЮ
Исключение: Оптовая скидка СУММИРУЕТСЯ с выбранной
Пример расчёта
Товар: 1000₽
Акция на товар: −10% (900₽)
Персональная скидка: −15% (850₽)
Промокод: −5% (950₽)
→ Применяется персональная −15% = 850₽ (максимальная)
Если куплено 10 шт + оптовая −5%:
→ 850₽ − 5% = 807.50₽ за штуку
2. БОНУСЫ (внутренняя валюта)
Курс
| Параметр |
Значение |
| 1 бонус |
= 1 рубль |
| Начисление |
X% от суммы заказа |
| Списание |
До Y% от суммы заказа |
| Срок действия |
365 дней |
Начисление бонусов
| Событие |
Бонусы |
Условие |
| Покупка |
5% от суммы |
После получения заказа |
| Регистрация |
300₽ |
Первая регистрация |
| День рождения |
500₽ |
Раз в год |
| Отзыв с фото |
100₽ |
Модерация |
| Приведи друга |
500₽ |
Друг сделал заказ |
| Подписка на TG |
100₽ |
Первое подключение |
Списание бонусов
| Параметр |
Значение |
| Максимум списания |
30% от суммы заказа |
| Минимум заказа |
1000₽ |
| На что нельзя |
Доставка, акционные товары |
| Округление |
До целых рублей |
Пример
Заказ: 5000₽
Бонусов на счету: 2000₽
Максимум списания: 30% = 1500₽
Клиент может списать до 1500₽
К оплате: 5000 − 1500 = 3500₽
После получения заказа:
Начислено: 5% от 3500 = 175 бонусов
Статусы бонусов
pending → active → used/expired
pending: Ожидает (заказ не получен)
active: Доступен для списания
used: Списан
expired: Сгорел (через 365 дней)
UI бонусов
┌─────────────────────────────────────┐
│ 💰 Ваши бонусы: 1 250 ₽ │
│ │
│ Доступно: 1 050 ₽ │
│ Ожидает: 200 ₽ (заказ #1234) │
│ │
│ Сгорят 15.03: 150 ₽ │
│ │
│ [История бонусов] │
└─────────────────────────────────────┘
3. НАКОПИТЕЛЬНАЯ СКИДКА (статус)
Уровни
| Уровень |
Сумма покупок |
Скидка |
Бонусы |
| Новичок |
0 ₽ |
0% |
3% |
| Постоянный |
5 000 ₽ |
5% |
5% |
| VIP |
20 000 ₽ |
10% |
7% |
| Premium |
50 000 ₽ |
15% |
10% |
Правила
| Параметр |
Значение |
| Период накопления |
Бессрочно |
| Понижение статуса |
Нет |
| Учитываются |
Оплаченные заказы |
| Не учитываются |
Отменённые, возвраты |
UI статуса
┌─────────────────────────────────────┐
│ 💎 Ваш статус: VIP │
│ │
│ Скидка: 10% на всё │
│ Бонусы: 7% с покупок │
│ │
│ Сумма покупок: 23 450 ₽ │
│ ████████████░░░░░░ 47% │
│ До Premium: 26 550 ₽ │
│ │
└─────────────────────────────────────┘
4. ПРОМОКОДЫ
Типы промокодов
| Тип |
Пример |
Описание |
| Процент |
SALE10 |
−10% на заказ |
| Фиксированный |
BONUS500 |
−500₽ от заказа |
| Бесплатная доставка |
FREEDEL |
Доставка 0₽ |
| Подарок |
GIFT2025 |
Товар в подарок |
| Комбо |
NEWYEAR |
−15% + подарок |
Параметры промокода
| Параметр |
Описание |
| Код |
Уникальный текст (латиница, цифры) |
| Тип скидки |
%, ₽, доставка, подарок |
| Значение |
Размер скидки |
| Мин. сумма |
От какой суммы работает |
| Макс. скидка |
Потолок (для %) |
| Дата начала |
Когда активируется |
| Дата окончания |
Когда истекает |
| Лимит общий |
Сколько раз всего |
| Лимит на клиента |
Сколько раз один клиент |
| Категории |
На какие категории |
| Товары |
На какие товары |
| Исключения |
Что не участвует |
| Для новых |
Только новые клиенты |
| Одноразовый |
Только первый заказ |
Валидация
1. Код существует?
2. Дата действия актуальна?
3. Лимит не исчерпан?
4. Клиент не использовал (если лимит)?
5. Сумма заказа >= минимума?
6. Товары подходят под условия?
7. Клиент новый (если требуется)?
Все ДА → Применить
Любое НЕТ → Показать причину
UI промокода
┌─────────────────────────────────────┐
│ Промокод: [SALE10_________] [OK] │
│ │
│ ✅ Промокод применён: −10% │
│ Скидка: −1 250 ₽ │
│ │
│ [✕ Удалить промокод] │
└─────────────────────────────────────┘
Ошибки:
❌ Промокод не найден
❌ Промокод истёк
❌ Минимальная сумма заказа: 3000₽
❌ Промокод уже использован
❌ Промокод только для новых клиентов
5. АКЦИИ
Типы акций
| Тип |
Механика |
Пример |
| Скидка на товар |
Цена снижена |
−20% на салюты |
| Скидка на категорию |
Вся категория |
−15% на петарды |
| N+1 |
Купи N, получи 1 |
2+1 на фонтаны |
| Комплект |
Набор дешевле |
Набор −25% |
| Порог |
От суммы |
−10% от 5000₽ |
| Подарок |
Товар бесплатно |
Зажигалка от 3000₽ |
| Бесплатная доставка |
Доставка 0₽ |
От 3000₽ |
| Cashback |
Повышенные бонусы |
x2 бонусы |
| Флеш-сейл |
Ограничено время |
−30% до 18:00 |
| Колесо фортуны |
Геймификация |
Крути — выигрывай |
Параметры акции
| Параметр |
Описание |
| Название |
Заголовок акции |
| Описание |
Условия |
| Тип |
См. выше |
| Значение |
Размер выгоды |
| Дата начала |
Когда старт |
| Дата окончания |
Когда финиш |
| Товары/категории |
Что участвует |
| Исключения |
Что не участвует |
| Лимит |
Сколько раз (всего/на клиента) |
| Приоритет |
При пересечении |
| Баннер |
Изображение |
| Лендинг |
URL страницы акции |
Отображение акции
На карточке товара:
┌─────────────────┐
│ [−20%] │ ← Бейдж
│ [ФОТО] │
├─────────────────┤
│ Название │
│ 1 990 ₽ │ ← Новая цена (красная)
│ 2 490 ₽ │ ← Старая (зачёркнуто)
└─────────────────┘
На странице товара:
┌─────────────────────────────────────┐
│ 🔥 АКЦИЯ: −20% до 31 декабря │
│ │
│ 1 990 ₽ (экономия 500₽) │
│ 2 490 ₽ │
│ │
│ ⏰ До конца акции: 5 дней 12:34:56 │
└─────────────────────────────────────┘
6. ПРАВИЛА СОВМЕЩЕНИЯ
Матрица совместимости
|
Акция |
Статус |
Промокод |
Бонусы |
Опт |
| Акция |
— |
❌ |
❌ |
✅ |
✅ |
| Статус |
❌ |
— |
❌ |
✅ |
✅ |
| Промокод |
❌ |
❌ |
— |
✅ |
✅ |
| Бонусы |
✅ |
✅ |
✅ |
— |
✅ |
| Опт |
✅ |
✅ |
✅ |
✅ |
— |
Правило: Скидки НЕ суммируются (выбирается макс.), бонусы и опт — СУММИРУЮТСЯ.
Порядок расчёта
1. Базовая цена товара
2. Применить скидку (макс. из: акция / статус / промокод)
3. Применить оптовую скидку (если есть)
4. Рассчитать сумму заказа
5. Списать бонусы (до 30%)
6. Добавить доставку
7. Итого к оплате
Пример полного расчёта
Товар: 2000₽ × 3 шт = 6000₽
Акция на товар: −20%
Статус клиента: VIP −10%
Промокод: SALE15 −15%
Оптовая (от 3 шт): −5%
Бонусы: 1000₽
РАСЧЁТ:
1. Базовая: 6000₽
2. Скидка (макс): −20% (акция) = 4800₽
3. Оптовая: −5% = 4560₽
4. Сумма заказа: 4560₽
5. Макс. бонусов: 30% = 1368₽
6. Списать бонусов: 1000₽
7. Доставка: 0₽ (от 3000₽ бесплатно)
8. ИТОГО: 3560₽
Начислится бонусов: 7% от 3560 = 249₽
7. UI В КОРЗИНЕ
Блок скидок
┌─────────────────────────────────────────────────┐
│ ВАША ВЫГОДА │
├─────────────────────────────────────────────────┤
│ Товары (3 шт): 6 000 ₽ │
│ │
│ 🏷️ Акция "−20% на салюты": −1 200 ₽ │
│ 📦 Оптовая скидка (3+ шт): −240 ₽ │
│ │
│ Промокод: [____________] [Применить] │
│ │
│ 💰 Списать бонусы: [1000] из 1250 ₽ │
│ Максимум: 1368₽ (30%) │
│ │
├─────────────────────────────────────────────────┤
│ Доставка: 0 ₽ │
│ (бесплатно от 3000₽) │
├─────────────────────────────────────────────────┤
│ ИТОГО: 3 560 ₽ │
│ Экономия: 2 440 ₽ │
│ │
│ 💎 Будет начислено: +249 бонусов (VIP ×7%) │
└─────────────────────────────────────────────────┘
8. АДМИНИСТРИРОВАНИЕ
Создание промокода
| Поле |
Тип |
Обязательно |
| Код |
Text |
Да |
| Тип |
Select |
Да |
| Значение |
Number |
Да |
| Мин. сумма |
Number |
Нет |
| Макс. скидка |
Number |
Нет |
| Даты |
Date range |
Да |
| Лимит общий |
Number |
Нет |
| Лимит на клиента |
Number |
Нет |
| Категории |
Multi-select |
Нет |
| Только новые |
Checkbox |
Нет |
| Активен |
Checkbox |
Да |
Создание акции
| Поле |
Тип |
Обязательно |
| Название |
Text |
Да |
| Тип |
Select |
Да |
| Условия |
Form |
Да |
| Даты |
Date range |
Да |
| Товары/категории |
Multi-select |
Да |
| Баннер |
Image |
Нет |
| Приоритет |
Number |
Нет |
| Активна |
Checkbox |
Да |
Отчёты
| Отчёт |
Метрики |
| Промокоды |
Использования, выручка, средний чек |
| Акции |
Продажи, конверсия, выручка |
| Бонусы |
Начислено, списано, сгорело |
| Статусы |
Распределение клиентов |
9. ЗАЩИТА ОТ ЗЛОУПОТРЕБЛЕНИЙ
| Риск |
Защита |
| Множественные аккаунты |
Телефон = ID, 1 телефон = 1 аккаунт |
| Передача промокода |
Лимит на клиента, привязка к email/телефону |
| Накрутка бонусов |
Начисление после получения заказа |
| Фрод с возвратами |
Списание бонусов при возврате |
| Перепродажа |
Лимит на заказ |
10. РЕАЛИЗАЦИЯ (Drupal Commerce)
Модули
| Модуль |
Описание |
| commerce_promotion |
Акции, промокоды |
| commerce_cart |
Корзина |
| userpoints / commerce_points |
Бонусная система |
Сущности
Promotion (Акция)
├── Conditions (Условия)
│ ├── Order total >= X
│ ├── Product category in [...]
│ └── Customer role = [...]
└── Offers (Предложения)
├── Percentage off
├── Fixed amount off
└── Free shipping
Coupon (Промокод)
├── Code
├── Usage limit
└── → Promotion (ссылка)
Points (Бонусы)
├── User
├── Amount
├── Type (earned/spent/expired)
└── Order reference
Чеклист
- [ ] Бонусная система настроена
- [ ] Уровни статусов созданы
- [ ] Промокоды работают
- [ ] Акции создаются
- [ ] Правила совмещения реализованы
- [ ] UI в корзине отображает всё
- [ ] Отчёты настроены
- [ ] Защита от фрода
Версия: 2.1.0