Automating Gift Promotions in the Bitrix Cart
Typical situation: a customer adds a product, but the gift does not appear. Or it appears with a non-zero price. Or it is only visible after recalculating the cart. All of this results from incorrect marketing rule configuration. The gift mechanism in Bitrix is based on the AddGift action, but the nuances are hidden. Our engineers have over 5 years of experience, 1C-Bitrix certification, and more than 50 implementations for online stores of varying complexity. In 80% of cases, problems are solved by adjusting conditions and stock.
How Does a Gift Work Technically in Bitrix?
A gift is a marketing rule action with type AddGift. When the conditions are met, the system adds the specified product to the cart with a price of 0. The product physically exists in the catalog — it is a regular information block element with regular stock. Data is stored in b_sale_discount (the rule itself), b_sale_discount_action (action type = gift, gift product ID). In the cart, the gift goes into b_sale_basket with PRODUCT_PRICE_ID = 0 and a gift marker. More details on the rule type are in the official 1C-Bitrix documentation.
Setting Up a Marketing Rule with a Gift
The sequence of actions in the admin panel: Store → Marketing → Discounts and promotions → Add.
- Condition: e.g., above a certain order sum
- Action: select
Add gifttype - Gift product selection: specify a specific catalog item
- Quantity: how many units of the gift to add
- Settings: priority, promotion period, user group restrictions
Why Is It Important to Properly Configure Gift Stock?
The gift product must have stock. If stock is zero, the gift will not be added to the cart. For promotions with a limited number of gifts, create a separate product with limited stock and set up a notification for the manager when stock reaches a minimum. Alternatively, use the OnSaleBasketItemAdd event handler to control the issue limit — this allows flexible management of the number of gifts without creating many products.
Customer Selection of a Gift
The standard mechanism adds a specific product automatically. If the customer needs to choose from several gifts, that is custom development: a gift selection component in the cart, a handler that adds the chosen product and marks it as a gift via b_sale_basket.CUSTOM_PRICE = Y and zero price. In our projects, such functionality increased conversion by 15–20% and average order value by 12%.
Successful case example. A cosmetics store wanted to give a gift for orders above a certain amount, but the customer could choose one of three mini-products. We implemented a custom selection component in the cart, configured stock, and integration with 1C. As a result, the promotion attracted 30% new customers and increased repeat orders by 25% over the quarter.
Display in Cart and Order
In standard cart templates, the gift is displayed with price 0 and a "Gift" label. In custom components, you need to check the gift flag and format the markup accordingly so the customer understands it is a bonus product, not a system error.
Typical Problems and Their Solutions
| Problem | Solution |
|---|---|
| Gift is not added when condition is met | Check the condition and discount type (must be a regular discount, not a coupon) |
| Gift is displayed with a non-zero price | Ensure the action type is "Gift", not "Discount on product" |
| Gift does not apply to wholesale customers | Check user groups in the rule settings |
| Error during 1C exchange | Modify CommerceML export: exclude gift products from the export or add a marker |
Comparison of Standard and Custom Approaches
| Parameter | Standard | Custom |
|---|---|---|
| Implementation time | 3–5 hours | from 2 days |
| Condition flexibility | Fixed action | Any scenarios (choice, limits, dynamic products) |
| 54-FZ support | Requires fiscalization setup | Fully controlled |
| Modification complexity | Simple (via admin panel) | Programmer required |
| Cost | Included in base tariffs | Individual calculation |
The standard approach is 10 times faster, but the custom one gives 5 times more flexibility. Choose based on your needs.
What Is Included in Our Work
- Audit of the current configuration and identification of bottlenecks
- Designing the promotion logic (conditions, quantity, period)
- Creating a gift product and configuring stock
- Implementing the marketing rule in the admin panel
- Custom development (if gift selection, cart integration is needed)
- Testing all scenarios (adding, removing, recalculating the cart)
- Integration with 1C (excluding gifts from export)
- Documentation and training for your managers
Timelines and Guarantees
Standard setup of a single gift promotion takes from 3 to 5 hours, including product creation and verification of display in the cart. Complex scenarios (choice from multiple gifts, 1C integration) take from 2 days. We guarantee correct operation of the mechanism and provide support for one month after implementation. Contact us — we will evaluate your scenario free of charge. Order a turnkey gift setup and get a ready-made solution without hidden costs. Our certified specialists with over 5 years of experience and 100+ Bitrix projects will help you quickly launch a promotion.
Additional resources: official 1C-Bitrix documentation on marketing rules. We also recommend reading the Wikipedia article on sales promotion.

