Клиент теряет 70% брошенных корзин из-за задержки push-уведомлений в 1С-Битрикс. А некорректные сценарии снижения цены приводят к отправке сообщений о товарах, которых нет в наличии. Триггерные push-уведомления 1С-Битрикс — это не просто «отправить письмо», а сложная событийная архитектура, где каждый баг в логике ведёт к потере конверсии. Мы настраиваем такую архитектуру под ключ, гарантируя корректную работу каждого сценария за 2–5 дней. По нашим данным, внедрение сценария брошенной корзины приносит дополнительный доход от 100 000 рублей в месяц для интернет-магазина со средним чеком 3000 рублей.
Триггерные 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',
]);
}
}
});
Снижение цены на просмотренный товар даёт дополнительную выручку порядка 200 000 рублей в месяц.
Поступление в наличие
Через обработчик изменения количества в 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 за один день.







