Imagine an e‑commerce store on 1C-Bitrix with a catalog of several thousand products and an above-market average order value. Customers rarely return, purchase frequency stays below two times per year. Without a well‑designed motivation system, LTV growth is nearly impossible. You need not just a discount but a smart mechanic that retains buyers and encourages repeat orders.
We have been configuring loyalty programs in Bitrix for over 7 years. During this time we have delivered more than 50 projects: from simple cumulative discounts to multi‑level systems with bonus points and integration with professional loyalty platforms. Our approach is engineering‑driven, devoid of marketing templates. We rely on official documentation and proven patterns. For a deeper understanding of the principles, we recommend reading the article on loyalty programs on Wikipedia.
Why Built-in Tools Are Not Enough
Bitrix does not have a dedicated "loyalty program" module. The available functionality:
- User groups — different levels with prices and access rights.
- Cumulative discounts — automatic transfer between groups based on purchase total (field
DISCOUNT_VALUE). - Order discounts — condition "sum of previous orders" in the rule designer of the
salemodule. - Coupons — personal promo codes.
For bonus points (accrual of N points per purchase, redemption on the next order) there is no built-in mechanism. A custom module or integration with an external loyalty system is required.
Approach Comparison
| Criterion | Built-in Tools | Custom Development | External System (Mindbox, UDS) |
|---|---|---|---|
| Flexibility of mechanics | low | high | medium |
| Time to launch | 1–2 days | 3–7 days | 5–10 days + integration |
| Cost | free | calculated individually | subscription + integration |
| 54-FZ compliance | no | yes | yes |
| Points support | no | yes | yes |
Custom development gives full control over logic but requires time. An external system is faster to integrate but locks you into a vendor. Our experience shows: for online stores with a monthly turnover of half a million rubles or more, a custom solution pays off.
How to Implement a Tier Program?
A three‑tier program (Basic / Silver / Gold) via user groups can be done in 1–2 days:
- Create three groups with corresponding price groups.
- Set up automatic transfer using the
OnSaleOrderSavedevent. - Display the current level and progress to the next in the personal account.
Data for progress calculation:
$userSaleData = \Bitrix\Sale\Internals\UserTable::getList([ 'filter' => ['=USER_ID' => $userId], 'select' => ['DISCOUNT_VALUE'], ])->fetch(); $currentTotal = (float)$userSaleData['DISCOUNT_VALUE']; For progress use purchase total, order count, or average check — depending on business logic. Show progress in the personal account using a custom template of the bitrix:sale.personal component.
How to Add Bonus Points?
If you need a points system, a custom module is unavoidable. Implementation includes:
- Creating your own table
bonus_accountwith fieldsUSER_ID,BALANCE. - Handler for the
OnSaleOrderSavedevent — accruing points as a percentage of the order amount. - Handler for
OnSaleOrderStatusChange— deducting points when the order is cancelled. - Cart component — a field for entering the number of points to redeem.
According to 1C-Bitrix documentation, the OnSaleOrderSaved event is triggered when an order is saved and can be used for custom logic.
Typical Implementation Mistakes
- Not handling deductions on order cancellation — points remain on the balance, going negative.
- Conflict with tagged caching — progress does not update in the personal account.
- Lack of points expiration filtering — points never expire, breaking the economy.
Integration with External Loyalty Systems
If bonus points are needed, we connect an external platform via REST API. Integration points:
-
OnSaleOrderSaved— accruing points when an order is placed. -
OnSaleOrderStatusChange— accruing when the status changes to "paid". - Cart component — adding a points deduction field.
Example for Mindbox: sending order data via REST API, retrieving the number of points, and storing them in the database. We support asynchronous processing through agents — no slowdown on checkout.
Key Efficiency Metrics Comparison
| Metric | Without Loyalty | With Tiers | With Points + Integration |
|---|---|---|---|
| Average purchase frequency | 1.2/year | 2.5/year | 3.8/year |
| LTV after 12 months | below average | average | significantly higher |
| Repeat order share | 15% | 40% | 62% |
What Is Included in the Work
- Audit of the current site configuration and product catalog.
- Selection of loyalty mechanics considering 54-FZ and OFD.
- Development of a module or configuration of an off‑the‑shelf solution.
- Integration with payment systems and delivery services.
- Testing all scenarios (accrual, redemption, order cancellation).
- API documentation and administrator manual.
- Employee training on program operation.
- One month of post‑release support.
Timeline and Guarantees
Estimated timelines:
- Basic tier program — 1 to 2 business days.
- Program with bonus points without integration — 3 to 5 days.
- Full integration with an external system — 5 to 10 days.
Cost is calculated individually after an audit and clarification of requirements. We provide a 12‑month warranty on the code. Over 7 years of Bitrix experience — you get a predictable result. Contact us for a consultation — we will evaluate your project and propose the optimal architecture. Place an order and get first results within a week.







