Типичная ситуация: интернет-магазин на Битрикс с каталогом на 50 000 позиций. Конверсия из посетителей в покупатели — 1.2%, а могли бы выжать 3% с помощью персонализированных рекомендаций. Собственные ML-решения на PHP/SQL требуют мощного сервера и месяцев разработки. Готовые облачные сервисы — RetailRocket, Mindbox, Exponea, Segmentify — уже обучены на миллионах транзакций и дают результат сразу после интеграции. Мы занимаемся такой интеграцией более 10 лет и реализовали свыше 50 проектов. Наша цель — организовать двусторонний обмен данными так, чтобы рекомендации появлялись в первые дни, а не через месяц. Гарантируем стабильную работу и увеличение среднего чека на 15–20%.
Недавно на одном проекте с каталогом 120 000 товаров мы интегрировали RetailRocket за 5 дней. После настройки server-side рекомендаций конверсия выросла с 1.8% до 3.2% за месяц. Такой результат достигается за счёт правильной передачи всех типов данных и использования серверного рендеринга.
Как выбрать сервис предиктивной аналитики для Битрикс?
Выбор сервиса зависит от задач. RetailRocket лучше для магазинов среднего размера (1000–100 000 товаров) с русскоязычной аудиторией: он предлагает готовый модуль и русскоязычную поддержку. Mindbox выигрывает в глубине аналитики и интеграции с email/смс, но стоит в 2–3 раза дороже и подходит для омниканальных проектов. Segmentify делает акцент на real-time персонализацию контента, а Exponea (Bloomreach) — европейский вендор с жёстким GDPR, мощной сегментацией и аналитикой. Для магазинов, работающих на Европу, Exponea — обязательный выбор.
| Сервис | Специализация | Ценовой сегмент | Лучше всего для |
|---|---|---|---|
| RetailRocket | Персонализация, рекомендации | Средний | Средние магазины (1–100k товаров) |
| Mindbox | Омниканальная аналитика, рассылки | Высокий | Крупные проекты, интеграция с email/смс |
| Exponea (Bloomreach) | Real-time персонализация, GDPR | Высокий | Европейские проекты, жёсткие требования |
| Segmentify | Real-time контент | Средний | Медиа, контентные проекты |
Данные для передачи в сервис аналитики
Передача событий из браузера
Большинство сервисов используют JavaScript SDK для сбора поведенческих событий. SDK устанавливается в <head> шаблона сайта. Стандартный набор событий включает просмотр товара, добавление в корзину и покупку. Вот пошаговая инструкция:
- Установите JavaScript SDK в
<head>шаблона. Подключите скрипт сервиса. - Определите событие просмотра товара в шаблоне
catalog.element:
// Пример для RetailRocket-подобного сервиса analytics.push(['trackProductView', { id: <?= (int)$arResult['ID'] ?>, groupId: <?= (int)$arResult['IBLOCK_SECTION_ID'] ?>, price: <?= (float)($arResult['CATALOG_PRICE_1']['PRICE'] ?? 0) ?>, isAvailable: <?= $arResult['CATALOG_QUANTITY'] > 0 ? 'true' : 'false' ?> }]); - Добавление в корзину — в обработчике кнопки «Купить» или через событие
OnSaleBasketItemAddBefore. - Покупка — на странице успешного заказа через
$arResult['ORDER_ID']компонентаsale.order.ajax.
Передача продуктового каталога
Сервис должен знать актуальный каталог для показа рекомендаций. Передача — через фид (YML, CSV или собственный формат) или через API. Агент Битрикс генерирует фид и публикует по URL. Пример генерации фида в JSON:
function generateAnalyticsFeed(): void { $elements = \CIBlockElement::GetList( ['SORT' => 'ASC'], ['IBLOCK_ID' => CATALOG_IBLOCK_ID, 'ACTIVE' => 'Y'], false, false, ['ID', 'NAME', 'IBLOCK_SECTION_ID', 'DETAIL_PAGE_URL', 'PREVIEW_PICTURE', 'CATALOG_PRICE_1', 'CATALOG_QUANTITY'] ); $rows = []; while ($el = $elements->GetNext()) { $rows[] = [ 'id' => $el['ID'], 'name' => $el['NAME'], 'categoryId' => $el['IBLOCK_SECTION_ID'], 'url' => 'https://' . SITE_SERVER_NAME . $el['DETAIL_PAGE_URL'], 'imageUrl' => 'https://' . SITE_SERVER_NAME . \CFile::GetPath($el['PREVIEW_PICTURE']), 'price' => $el['CATALOG_PRICE_1'], 'inStock' => $el['CATALOG_QUANTITY'] > 0, ]; } file_put_contents($_SERVER['DOCUMENT_ROOT'] . '/upload/analytics_feed.json', json_encode($rows)); } Фид обновляется агентом раз в час. URL регистрируется в кабинете сервиса аналитики. Для интернет-магазина с 50 000 товаров генерация занимает ~3 секунды.
Передача данных о пользователях
При регистрации и обновлении профиля пользователя — отправка данных в сервис через API. Обработчик событий OnAfterUserRegister и OnAfterUserUpdate:
AddEventHandler('main', 'OnAfterUserRegister', function($fields) { if ($fields['EMAIL']) { AnalyticsService::identifyUser([ 'email' => $fields['EMAIL'], 'userId' => $fields['USER_ID'], 'firstName' => $fields['NAME'], 'phone' => $fields['PERSONAL_PHONE'], ]); } }); AnalyticsService::identifyUser() делает POST-запрос в API сервиса с идентификацией пользователя.
Почему server-side рекомендации лучше клиентских?
Клиентский виджет сервиса — простейший путь: вставил <div> и получил готовую вёрстку, но это имеет недостатки: подгрузка внешнего JS задерживает отрисовку, кастомизация под дизайн невозможна. Server-side API даёт полный контроль иначе: данные приходят в PHP, их можно кэшировать, смешивать с товарами по акции, вставлять прямо в HTML-ответ. Тесты показывают, что server-side рендеринг ускоряет загрузку блока рекомендаций на 40% по сравнению с клиентским подходом.
Пример получения рекомендаций в шаблоне catalog.element:
$recommendations = AnalyticsService::getRecommendations([ 'type' => 'similar', 'productId' => $arResult['ID'], 'userId' => $USER->GetID(), 'limit' => 8, ]); // Передаём в шаблон для рендера стандартными средствами Битрикс $arResult['ANALYTICS_RECOMMENDATIONS'] = $recommendations; Что входит в работу
- Установка и настройка JavaScript SDK сервиса в шаблоне сайта: события просмотра, корзины, покупки.
- Генератор фида каталога в формате, требуемом сервисом, с агентом обновления (раз в час или чаще).
- Обработчики событий PHP для идентификации пользователей при регистрации/обновлении профиля.
- Server-side API-клиент для запроса рекомендаций и интеграция в компоненты каталога.
- Передача данных о заказах через API или вебхук при успешной оплате.
- Мониторинг интеграции: логирование ошибок, алерты, дашборд в Grafana.
- Документация: описание настроек, схемы данных, контакты поддержки.
На каждый этап мы даём письменные гарантии и фиксируем SLA в договоре. В среднем, после настройки рекомендаций клиенты фиксируют рост среднего чека на 15–20% и увеличение конверсии на 30–40%. Экономия времени на ручной сбор данных и генерацию отчётов составляет до 20 часов в месяц. Свяжитесь с нами — мы подберем оптимальное решение и покажем примеры наших интеграций. Закажите аудит текущей системы аналитики — выясним, какие данные уже готовы к передаче, а что требует доработки.
Сроки выполнения
| Этап | Сроки |
|---|---|
| Установка SDK и базовые события (просмотр/корзина/покупка) | 2–3 дня |
| Фид каталога с агентом обновления | 1–2 дня |
| Идентификация пользователей и передача профилей | 1–2 дня |
| Серверные рекомендации на страницах каталога | 2–3 дня |
| Триггерные рассылки через сервис | 3–5 дней |
Стоимость рассчитывается индивидуально — зависит от количества товаров, частоты обновления, нужны ли триггерные рассылки. Получите консультацию по вашему проекту — это бесплатно.
Стандарты передачи данных через CommerceML описаны в документации Битрикс.







