Segmented Push Notifications in 1C-Bitrix

Mass push notifications with a 0.5% CTR and growing unsubscribe rates — a consequence of lacking segmentation. A push with a relevant offer (a discount on a category the user browsed) yields a **4–8% CTR**. That's the difference in approach: not "everyone about everything," but a specific message to

Our competencies:

Frequently Asked Questions

Latest works

  • image_website-b2b-advance_0.webp
    B2B ADVANCE company website development
    1455
  • image_bitrix-bitrix-24-1c_fixper_448_0.webp
    Website development for FIXPER company
    1018
  • image_bitrix-bitrix-24-1c_development_of_an_online_appointment_booking_widget_for_a_medical_center_594_0.webp
    Development based on Bitrix, Bitrix24, 1C for the company Development of an Online Appointment Booking Widget for a Medical Center
    760
  • image_bitrix-bitrix-24-1c_mirsanbel_458_0.webp
    Development based on 1C Enterprise for MIRSANBEL
    879
  • image_crm_dolbimby_434_0.webp
    Website development on CRM Bitrix24 for DOLBIMBY
    804
  • image_crm_technotorgcomplex_453_0.webp
    Development based on Bitrix24 for the company TECHNOTORGKOMPLEKS
    1162

Mass push notifications with a 0.5% CTR and growing unsubscribe rates — a consequence of lacking segmentation. A push with a relevant offer (a discount on a category the user browsed) yields a 4–8% CTR. That's the difference in approach: not "everyone about everything," but a specific message to a specific segment. Our experience shows that properly configured segmentation increases retention by 15–20% and saves up to 40% of the ad budget. For a store with a $10,000 monthly ad budget, savings reach $4,000 per month. Contact us — we've implemented such projects for 50+ stores.

Mass mailings annoy users. When a person receives a notification about a product they never searched for, they unsubscribe. Segmented pushes outmass mass blasts by 8 times in CTR (4-8% vs 0.5%). This has been proven across dozens of projects with a base of 5,000+ subscribers.

The push notification infrastructure in Bitrix is built on Firebase Cloud Messaging (FCM) for web and Android, Apple Push Notification Service for iOS (if there's a mobile app), and third-party platforms like OneSignal, Pushwoosh, or SendPulse. For Bitrix integration, the most practical option is OneSignal or a custom token store plus FCM API.

What push notification infrastructure to choose for Bitrix?

The standard 1C-Bitrix module does not include push notifications for an online store. You have to build infrastructure from scratch. We use a proven architecture: storing tokens in a custom table, updating segmentation attributes via Bitrix events. This provides full control and flexibility.

Token and user attribute storage

Push subscription tokens are stored in a user table:

CREATE TABLE custom_push_tokens ( id INT AUTO_INCREMENT PRIMARY KEY, user_id INT, token TEXT NOT NULL, platform ENUM('web', 'android', 'ios') DEFAULT 'web', created_at DATETIME, last_active DATETIME, INDEX idx_user (user_id), INDEX idx_platform (platform) ); 

Attributes for segmentation are stored separately:

CREATE TABLE custom_push_user_attrs ( user_id INT, attr_key VARCHAR(100), attr_value VARCHAR(255), updated_at DATETIME, PRIMARY KEY (user_id, attr_key) ); 

Attributes are updated via Bitrix events: category view → last_category_viewed, purchase → last_purchase_date and total_orders, cart value → cart_value. According to 1C-Bitrix documentation, the OnSaleOrderSaved event is triggered when an order is saved — this is the perfect trigger for updating attributes. We also use OnSaleBasketItemSaved for the cart and a custom event when a catalog section is viewed. All handlers are subscribed via \Bitrix\Main\EventManager.

To clean expired tokens, an agent runs every 24 hours, deleting records with last_active older than 90 days. This prevents sending to inactive devices and reduces API load.

More details on setting up attribute update triggers

Attribute update triggers are configured by registering handlers in init.php or local/php_interface/init.php. Each handler must be registered using \Bitrix\Main\EventManager::getInstance()->addEventHandler(). For example, to update total_orders we use the OnSaleOrderSaved event. The handler code checks that the order is paid and the status is final, then executes REPLACE INTO custom_push_user_attrs.

Typical push campaign segments

Segment Criteria Example Notification
Abandoned Cart cart_value > 0, last_cart_update > 2h "Your cart is waiting. Checkout now"
Active Buyers total_orders >= 3 in 90 days Exclusive offer for loyal customers
New Users registration_date < 7 days Promo code for first order
Category Interest last_category_viewed = 'electronics' Discount on electronics today
Lapsed Users last_purchase_date > 60 days "We miss you" + special offer

Each segment has its own strategy. Abandoned cart campaigns convert 3 times better than standard reminders, increasing conversion by up to 15%. The "lapsed users" segment brings back up to 8% of customers. Segmented campaigns save budget: instead of mass mailings, you pay only for the target audience.

Sending via FCM

Wrapper class for sending:

class PushSender { private const FCM_URL = 'https://fcm.googleapis.com/fcm/send'; public function sendToSegment(array $filter, string $title, string $body, array $data = []): void { $tokens = $this->getTokensByFilter($filter); // FCM accepts no more than 500 tokens per request foreach (array_chunk($tokens, 500) as $chunk) { $this->sendBatch($chunk, $title, $body, $data); } } private function sendBatch(array $tokens, string $title, string $body, array $data): void { $payload = [ 'registration_ids' => $tokens, 'notification' => [ 'title' => $title, 'body' => $body, 'icon' => '/favicon-192.png', 'click_action' => $data['url'] ?? '/', ], 'data' => $data, ]; $http = new \Bitrix\Main\Web\HttpClient(); $http->setHeader('Authorization', 'key=' . FCM_SERVER_KEY); $http->setHeader('Content-Type', 'application/json'); $http->post(self::FCM_URL, json_encode($payload)); } } 

Service comparison: OneSignal simplifies segmentation twice as fast compared to FCM due to built-in filters, but FCM is free for any volume. We help choose the optimal option based on budget and base size.

Which push notification segments drive the most sales growth?

According to our data, leaders by ROI are abandoned cart and personalized recommendations. For example, on a project with an electronics catalog, the "category interest" segment boosted sales by 12% in a month. And the "active buyers" segment increased LTV by 18%. The key is not to overload the user: max 2–3 pushes per week per segment.

Project workflow

  1. Analytics: study current base, user behavior, define segments.
  2. Design: choose service (FCM/OneSignal), design tables and triggers.
  3. Implementation: write code for token storage, attribute updates, sending.
  4. Testing: verify segments, CTR, deliverability.
  5. Deployment and support: deploy to production, train the team.

Contact us to discuss your project — get a consultation on setting up push notifications. Our engineers will help you choose the optimal solution. Typical project cost starts at $1,500 and saves up to $5,000 annually.

What's included in the result

  • Documentation on architecture and API
  • Source code with comments
  • Configuration of 5–7 segments
  • Integration with FCM or OneSignal
  • Consultation and support after launch

Timeframes

Scope Timeline
Token storage + basic sending 1–2 days
Attributes + 5–7 segments 2–3 days
UI management + delivery analytics +2 days

With proper segmentation, average order value increases by 15%, and ad savings up to 40%. Our implementation experience on 50+ projects guarantees results. Order segmented push notifications in 1C-Bitrix.