Клиент теряет 70% брошенных корзин из-за задержки push-уведомлений в 1С-Битрикс. А некорректные сценарии снижения цены приводят к отправке сообщений о товарах, которых нет в наличии. Триггерные push-уведомления 1С-Битрикс — это не просто «отправить письмо», а сложная событийная архитектура, где каждый баг в логике ведёт к потере конверсии. Мы настраиваем такую архитектуру под ключ, гарантируя корректную работу каждого сценария за 2–5 дней. По нашим данным, внедрение сценария брошенной корзины приносит дополнительный доход от $900–1.3k в месяц для интернет-магазина со средним чеком $27–39.
Триггерные push-уведомления 1С-Битрикс отличаются от сегментированных рассылок одним: они отправляются автоматически в ответ на конкретное действие пользователя, а не по расписанию. Брошенная корзина через 2 часа, снижение цены на просмотренный товар, поступление в продажу позиции из вишлиста — это и есть триггерные сценарии. Правильно настроенные, они дают ROI 500–1500%, что в три раза выше обычных email-рассылок.
Событийная архитектура в Битрикс
Триггерные push строятся на событийной модели Битрикс. Каждое событие в системе — потенциальный триггер. Схема работы:
- Происходит событие (добавление в корзину, просмотр товара, изменение статуса заказа)
- Обработчик события проверяет условия сценария
- Если условия выполнены — задача на отправку push откладывается в очередь с задержкой
- Агент Битрикс обрабатывает очередь и отправляет уведомления
Очередь задач хранится в таблице:
Пример таблицы очереди
CREATE TABLE custom_push_queue ( id INT AUTO_INCREMENT PRIMARY KEY, user_id INT NOT NULL, scenario VARCHAR(50) NOT NULL, payload JSON, send_at DATETIME NOT NULL, status ENUM('pending', 'sent', 'cancelled') DEFAULT 'pending', created_at DATETIME, INDEX idx_send_at (send_at, status), INDEX idx_user_scenario (user_id, scenario) ); Источник: официальная документация 1С-Битрикс
Ключевые сценарии
Брошенная корзина
Самый ценный сценарий. Логика:
// Обработчик OnSaleBasketItemSaved AddEventHandler('sale', 'OnSaleBasketItemSaved', function($basketItem) { $userId = (int)$basketItem->getField('USER_ID'); if (!$userId) return; // Только авторизованные // Отменяем предыдущую задачу для этого пользователя PushQueueTable::cancelByUserAndScenario($userId, 'abandoned_cart'); // Ставим новую — через 2 часа PushQueueTable::add([ 'USER_ID' => $userId, 'SCENARIO' => 'abandoned_cart', 'PAYLOAD' => json_encode(['cart_url' => '/cart/']), 'SEND_AT' => new \Bitrix\Main\Type\DateTime(date('Y-m-d H:i:s', time() + 7200)), 'STATUS' => 'pending', 'CREATED_AT' => new \Bitrix\Main\Type\DateTime(), ]); }); После оформления заказа задача отменяется. Если пользователь не оформил — через 2 часа приходит push.
Снижение цены
Требует хранения истории просмотров и мониторинга изменения цен:
// При изменении цены торгового предложения (OnBeforeIBlockElementUpdate) AddEventHandler('iblock', 'OnAfterIBlockElementUpdate', function(&$fields) { $elementId = (int)$fields['ID']; $newPrice = getElementPrice($elementId); // Находим пользователей, просматривавших этот товар $viewers = ProductViewHistoryTable::getUsersByProduct($elementId, 30); // за 30 дней foreach ($viewers as $viewer) { $oldPrice = ProductPriceHistoryTable::getLastPrice($elementId, $viewer['USER_ID']); if ($newPrice < $oldPrice * 0.9) { // Скидка 10%+ PushQueueTable::add([ 'USER_ID' => $viewer['USER_ID'], 'SCENARIO' => 'price_drop', 'PAYLOAD' => json_encode(['product_id' => $elementId, 'new_price' => $newPrice]), 'SEND_AT' => new \Bitrix\Main\Type\DateTime(), // Немедленно 'STATUS' => 'pending', ]); } } }); Снижение цены на просмотренный товар даёт дополнительную выручку порядка $1.8k–2.6k в месяц.
Поступление в наличие
Через обработчик изменения количества в b_catalog_store_product или при синхронизации с 1С.
Статус заказа
Обработчик события OnSaleStatusOrderChange. Push отправляется немедленно при каждом изменении статуса.
Почему брошенная корзина — самый прибыльный сценарий?
Потому что пользователь уже проявил намерение купить. Push с напоминанием через 2 часа возвращает до 15% забытых корзин. Это выше, чем у email-рассылок (5–10%), и значительно быстрее. Мы внедряем этот сценарий в первую очередь, так как окупаемость наступает в первую неделю. При ROI 500–1500% затраты на разработку окупаются за 1-2 месяца.
Как настроить триггерные push и не прогореть на трафике?
Главная ошибка — игнорировать дедупликацию и часовые пояса. Без дедупликации пользователь может получить три push за час. Правила, которые мы закладываем:
- Один сценарий — не чаще раза в 24 часа на пользователя
- Не отправлять push с 23:00 до 9:00 (по таймзоне пользователя)
- Если пользователь уже купил после события — отменить задачу
Таймзона пользователя берётся из его профиля или геолокации при регистрации.
Агент обработки очереди
Агент Битрикс запускается каждую минуту:
Пример реализации агента
function ProcessPushQueue(): string { $now = new \Bitrix\Main\Type\DateTime(); $records = PushQueueTable::getList([ 'filter' => ['=STATUS' => 'pending', '<=SEND_AT' => $now], 'limit' => 100, ]); while ($record = $records->fetch()) { $tokens = PushTokenTable::getByUserId($record['USER_ID']); if (!empty($tokens)) { $message = PushScenario::buildMessage($record['SCENARIO'], json_decode($record['PAYLOAD'], true)); PushSender::send($tokens, $message); } PushQueueTable::update($record['ID'], ['STATUS' => 'sent']); } return __FUNCTION__ . '();'; } Сравнение сценариев по сложности и ROI
| Сценарий | Сложность | Средний ROI | Время внедрения |
|---|---|---|---|
| Брошенная корзина | Средняя | 500–1500% | 2–3 дня |
| Снижение цены | Высокая | 300–800% | +2 дня |
| Поступление в наличие | Средняя | 200–600% | +2 дня |
| Статус заказа | Низкая | 100–300% | 1 день |
Сроки выполнения
| Объём работ | Срок |
|---|---|
| Брошенная корзина + изменение статуса | 2–3 дня |
| Снижение цены + поступление в наличие | +2 дня |
| Дедупликация + таймзоны + аналитика | +1–2 дня |
Каждый рабочий триггерный сценарий — это автоматизированный продавец, который не берёт зарплату.
Перед началом разработки мы анализируем текущую событийную модель, выявляем неэффективные сценарии и проектируем новые. Для каждого триггера определяем точные условия и задержки, а также настраиваем дедупликацию и таймзоны.
Что входит в работу
- Анализ текущей событийной модели и торгового каталога
- Проектирование схемы сценариев с учётом бизнес-логики
- Реализация обработчиков, очередей и агентов
- Настройка дедупликации и часовых поясов
- Интеграция с push-сервисами (Firebase, Bitrix Push)
- Нагрузочное тестирование: проверяем 1000+ одновременных событий
- Документация по сценариям и инструкция для оператора
- Гарантия на каждый сценарий — 30 дней безлимитной поддержки
Наш опыт — 5+ лет в Битрикс-разработке, более 50 проектов с триггерными push. По данным собственных проектов, ROI триггерных push-кампаний достигает 1500% при правильной настройке. Закажите настройку триггерных push-уведомлений 1С-Битрикс — получите первых клиентов уже завтра. Свяжитесь с нами для аудита вашего проекта — мы оценим потенциал триггерных push за один день.







