Configuring Promotions and Marketing Rules in 1C-Bitrix
Marketing rules in Bitrix (module sale, sections "Shopping cart rules" and "Discounts") — a flexible constructor of conditions and actions. Incorrect configuration leads to discounts stacking uncontrollably, promo codes working together with promotions, or promotions applying to wrong products.
Difference between catalog discounts and marketing rules
Catalog discounts (b_catalog_discount) — work at the product price level, before the basket.
Marketing rules (Store → Marketing → Discounts and promotions) — work in the basket, allow:
- Giving a gift when purchasing for amount X
- Order discount when category Y products are present
- "Buy 2 — get 3rd free"
- Promo code binding
Data is stored in tables b_sale_discount (rules), b_sale_discount_condition (conditions), b_sale_discount_action (actions).
Creating a promotion through constructor
Store → Marketing → Discounts and promotions → Add:
-
Conditions — constructor based on logical AND/OR blocks:
- Order amount greater than X
- Basket contains product from section N
- User in group G
- Promo code used
-
Actions:
- Order discount (%, fixed)
- Discount on basket products
- Delivery discount
- Add gift (product at zero price)
-
Application settings:
- Priority
- "Stop processing" — important for mutually exclusive promotions
- Combined application with other discounts
Promo codes
In promotion settings, coupon usage is enabled (Store → Marketing → Coupons). Coupon types:
| Type | Description |
|---|---|
| Universal | One code, multiple uses |
| Unique | One code — one use |
| Unique per user | Linked to specific user |
Coupons are stored in b_sale_discount_coupon. When activated in basket, coupon is verified via \Bitrix\Sale\DiscountCouponsManager::add method.
Controlling promotion stacking
Most common problem — multiple promotions apply simultaneously and stack. Solution: use "Stop processing subsequent discount rules" field (LAST_DISCOUNT = Y) on highest priority promotion, or explicitly specify incompatibility in conditions through applied coupon verification.
Estimated timeframes
Configuring 3–5 standard promotions with promo codes — 3–5 hours. Complex mechanics with gifts, conditional chains, and custom actions — 1–2 business days.







