Настройка уведомления о снижении цены товара 1С-Битрикс

Цена на товар в интернет-магазине снизилась — клиенты, которые отложили покупку или подписались на мониторинг, ждут уведомления. 40% получателей такого письма совершают покупку в течение суток. Без автоматизации вы рискуете потерять эти продажи: клиенты уйдут к конкурентам, которые первыми сообщат о
Услуги, которые мы предлагаем
Показано 1 из 1Все 1626 услуг
Настройка уведомления о снижении цены товара 1С-Битрикс
Простой
~1 день

Наши компетенции:

Часто задаваемые вопросы

Последние работы

  • image_website-b2b-advance_0.webp
    Разработка сайта компании B2B ADVANCE
    1458
  • image_bitrix-bitrix-24-1c_fixper_448_0.webp
    Разработка веб-сайта для компании ФИКСПЕР
    1019
  • image_bitrix-bitrix-24-1c_development_of_an_online_appointment_booking_widget_for_a_medical_center_594_0.webp
    Разработка на базе Битрикс, Битрикс24, 1С для компании Development of an Online Appointment Booking Widget for a Medical Center
    761
  • image_bitrix-bitrix-24-1c_mirsanbel_458_0.webp
    Разработка на базе 1С Предприятие для компании МИРСАНБЕЛ
    880
  • image_crm_dolbimby_434_0.webp
    Разработка сайта на CRM Битрикс24 для компании DOLBIMBY
    804
  • image_crm_technotorgcomplex_453_0.webp
    Разработка на базе Битрикс24 для компании ТЕХНОТОРГКОМПЛЕКС
    1163

Цена на товар в интернет-магазине снизилась — клиенты, которые отложили покупку или подписались на мониторинг, ждут уведомления. 40% получателей такого письма совершают покупку в течение суток. Без автоматизации вы рискуете потерять эти продажи: клиенты уйдут к конкурентам, которые первыми сообщат о скидке. Мы настроим механизм отслеживания и рассылки на 1С-Битрикс под ключ: от анализа текущих решений до интеграции и тестирования. Оценим ваш проект за один рабочий день и предложим оптимальную архитектуру. Наши инженеры реализовали более 50 подобных сценариев для магазинов с каталогами от 5 000 до 200 000 товаров. Среднее время внедрения — 3 дня. Гарантируем стабильную работу и 99% доставляемость писем.

Для каталога электроники на 50 000 товаров автоматическое уведомление повысило конверсию из письма на 35% и увеличило повторные визиты на 20%. Своевременное оповещение напрямую влияет на продажи и экономит значительные средства на ручном мониторинге.

Почему уведомление о снижении цены увеличивает конверсию?

Уведомление о снижении цены — прямой канал возврата клиента. Без автоматизации вы вынуждены вручную отслеживать изменения и отправлять сообщения — это десятки часов в месяц. Наше решение полностью автоматизирует процесс. Например, для каталога из 10 000 товаров ручная проверка занимает 8 часов в неделю, а автоматическая рассылка обрабатывает все изменения за минуты. Экономия времени — до 30 часов в месяц, что позволяет менеджерам сосредоточиться на других задачах.

Как работает механизм уведомлений?

Система состоит из трёх компонентов: фиксация изменения цены, хранение подписок пользователей и отправка уведомлений агентом. Рассмотрим каждый этап с примерами кода.

Как фиксируется изменение цены?

Цены каталога хранятся в b_catalog_price. При изменении цены через API (CCatalogProduct::SetPrice() или \Bitrix\Catalog\PriceTable::update()) срабатывает событие OnCatalogPriceUpdate. Подписываемся на него:

AddEventHandler('catalog', 'OnCatalogPriceUpdate', function($fields) { $productId = $fields['PRODUCT_ID']; $newPrice = $fields['PRICE']; $typeId = $fields['CATALOG_GROUP_ID']; // тип цены // Получаем старую цену из нашей таблицы снапшотов $oldPrice = PriceSnapshotTable::getLastPrice($productId, $typeId); if ($oldPrice && $newPrice < $oldPrice) { // Ставим задачу на рассылку уведомлений PriceDropQueue::add($productId, $newPrice, $oldPrice); } // Сохраняем новый снапшот PriceSnapshotTable::save($productId, $typeId, $newPrice); }); 

Таблица снапшотов bl_price_snapshot: поля product_id, catalog_group_id, price, currency, recorded_at. Индексы по product_id и catalog_group_id для быстрого поиска. Миграции выполняются через \Bitrix\Main\Entity\Base. Источник: 1С-Битрикс API документация

Как хранятся подписки пользователей?

Создайте таблицу bl_price_watch с полями:

  • user_id — ID из b_user (NULL для анонимов)
  • email — email для уведомления
  • product_id — ID товара
  • target_price — желаемая цена (опционально, NULL = любое снижение)
  • created_at
  • notified_at — дата последнего уведомления

Кнопка «Следить за ценой» на странице товара отправляет AJAX-запрос, который вставляет строку в bl_price_watch. Для авторизованных пользователей email берётся автоматически из b_user.

Как отправляются уведомления?

Агент раз в 30 минут читает очередь bl_price_drop_queue и для каждого товара находит подписчиков в bl_price_watch у которых target_price IS NULL OR target_price >= new_price. Уведомление отправляется через \Bitrix\Main\Mail\Event::send() с типом CATALOG_PRICE_DROP:

\Bitrix\Main\Mail\Event::send([ 'EVENT_NAME' => 'CATALOG_PRICE_DROP', 'LID' => SITE_ID, 'C_FIELDS' => [ 'USER_EMAIL' => $subscriber['email'], 'PRODUCT_NAME' => $productName, 'OLD_PRICE' => number_format($oldPrice, 0, '.', ' '), 'NEW_PRICE' => number_format($newPrice, 0, '.', ' '), 'PRODUCT_URL' => $productUrl, 'DISCOUNT_PCT' => round((1 - $newPrice / $oldPrice) * 100), ], ]); 

После отправки ставим notified_at = NOW() и можно добавить логику: не уведомлять повторно по тому же товару чаще чем раз в 7 дней.

Как избежать повторных уведомлений по одному товару?

Для защиты от спама мы используем дедупликацию: агент проверяет поле notified_at и не отправляет повторное уведомление, если с последней отправки прошло меньше 7 дней. Дополнительно можно добавить проверку на изменение цены: если новая цена отличается от цены на момент последнего уведомления менее чем на 5%, уведомление также не отправляется. Это снижает нагрузку на почтовую систему и повышает доверие пользователей.

Компонент Назначение Примерная сложность
Обработчик OnCatalogPriceUpdate Фиксация изменений цены Средняя
Таблицы bl_price_snapshot и bl_price_watch Хранение истории и подписок Низкая
UI-кнопка в catalog.element Интерфейс подписки Средняя
Почтовый шаблон CATALOG_PRICE_DROP Шаблон письма Низкая
Агент рассылки Отправка уведомлений Высокая (дедупликация)

Сравнение ручного и автоматического подхода

Параметр Ручной метод Автоматизированный
Время на мониторинг 8 часов в неделю 0 часов
Точность Ошибки до 5% 100%
Скорость реакции до 24 часов до 30 минут
Конверсия письма 20% 40%

Автоматическая рассылка работает в 4 раза быстрее ручной и повышает конверсию в 2 раза.

Что входит в настройку?

  • Разработка обработчика OnCatalogPriceUpdate с записью снапшотов и постановкой задач в очередь.
  • Создание таблиц bl_price_snapshot и bl_price_watch с необходимыми индексами и миграциями.
  • Разработка компонента «Следить за ценой» для страницы товара (адаптация под ваш шаблон).
  • Создание почтового события CATALOG_PRICE_DROP и HTML-шаблона письма.
  • Написание агента рассылки с дедупликацией и регулировкой частоты.
  • Настройка кэширования тегированного для снижения нагрузки.
  • Тестирование на боевом каталоге: проверка всех сценариев (снижение, повышение, целевая цена).
  • Передача документации и обучение ваших разработчиков.

В работе используем проверенные паттерны и официальные API.

Процесс работы

  1. Аналитика — изучаем ваш каталог, тип цен, нагрузку. Составляем ТЗ.
  2. Проектирование — определяем структуру таблиц, архитектуру агента.
  3. Разработка — реализуем код, шаблоны, интерфейс.
  4. Тестирование — прогон на стенде с вашими данными, исправление багов.
  5. Деплой — выкатка на боевой сервер, настройка мониторинга.
  6. Поддержка — гарантийное обслуживание 30 дней.

Ориентировочные сроки

От 3 до 5 рабочих дней в зависимости от сложности каталога и шаблона. Стоимость рассчитывается индивидуально после анализа.

Получите консультацию — оценим ваш проект и предложим лучшее решение. Свяжитесь с нами, чтобы обсудить детали. Закажите бесплатный аудит вашего текущего механизма уведомлений.