Персонализация продаж: Retail Rocket для 1С-Битрикс

Интеграция 1С-Битрикс с Retail Rocket
Услуги, которые мы предлагаем
Показано 1 из 1Все 1626 услуг
Персонализация продаж: Retail Rocket для 1С-Битрикс
Средний
~1-2 недели

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

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

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

  • image_website-b2b-advance_0.webp
    Разработка сайта компании B2B ADVANCE
    1459
  • 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С Предприятие для компании МИРСАНБЕЛ
    882
  • image_crm_dolbimby_434_0.webp
    Разработка сайта на CRM Битрикс24 для компании DOLBIMBY
    807
  • image_crm_technotorgcomplex_453_0.webp
    Разработка на базе Битрикс24 для компании ТЕХНОТОРГКОМПЛЕКС
    1163

Интеграция 1С-Битрикс с Retail Rocket

Мы настраиваем полную интеграцию 1С-Битрикс с платформой Retail Rocket для интернет-магазинов, которым важна персонализация опыта покупателей. Retail Rocket — ведущая платформа персонализации для e-commerce: рекомендации товаров, персональные email-рассылки, поведенческая аналитика, повышающая конверсию на 20-40%. Техническая интеграция состоит из двух частей: передача данных о поведении пользователей через JavaScript-трекер и синхронизация каталога товаров через XML-фид с учётом остатков и цен.

Наша команда за 7 лет работы с Битрикс реализовала более 15 интеграций с Retail Rocket для магазинов различного профиля: от нишевых бутиков до крупных маркетплейсов с миллионами SKU. Гарантируем стабильную работу под высокой нагрузкой, минимальную задержку синхронизации данных (менее 15 минут) и корректную работу рекомендательных блоков на всех страницах сайта. Результат — увеличение среднего чека и повторных покупок клиентов.

XML-фид товаров

Retail Rocket принимает товарный фид в формате Яндекс.Маркет YML или в собственном XML-формате. Проще всего использовать уже сгенерированный YML-фид Битрикс — если он уже есть для Яндекс.Маркета, он подойдёт и для Retail Rocket.

Если фид нужен отдельный (с дополнительными полями для сегментации), генерируем через компонент или агент:

// Минимальная структура для Retail Rocket function generateRetailRocketFeed(): string { $xml = '<?xml version="1.0" encoding="UTF-8"?><yml_catalog>'; $xml .= '<shop><name>' . htmlspecialchars(SITE_NAME) . '</name>'; $xml .= '<url>https://' . SITE_SERVER_NAME . '</url>'; $xml .= '<currencies><currency id="RUB" rate="1"/></currencies>'; $xml .= '<categories>'; // Категории $sections = CIBlockSection::GetList( ['LEFT_MARGIN' => 'ASC'], ['IBLOCK_ID' => CATALOG_IBLOCK_ID, 'ACTIVE' => 'Y'], false, ['ID', 'NAME', 'IBLOCK_SECTION_ID'] ); while ($section = $sections->GetNext()) { $parentAttr = $section['IBLOCK_SECTION_ID'] ? ' parentId="' . $section['IBLOCK_SECTION_ID'] . '"' : ''; $xml .= '<category id="' . $section['ID'] . '"' . $parentAttr . '>' . htmlspecialchars($section['NAME']) . '</category>'; } $xml .= '</categories>'; $xml .= '<offers>'; // Товары $res = CIBlockElement::GetList( [], ['IBLOCK_ID' => CATALOG_IBLOCK_ID, 'ACTIVE' => 'Y'], false, false, ['ID', 'NAME', 'DETAIL_PAGE_URL', 'PREVIEW_PICTURE', 'DETAIL_PICTURE', 'PREVIEW_TEXT', 'IBLOCK_SECTION_ID'] ); while ($el = $res->GetNextElement()) { $fields = $el->GetFields(); $props = $el->GetProperties(); $price = CCatalogProduct::GetOptimalPrice($fields['ID']); $priceVal = $price['PRICE']['PRICE'] ?? 0; $imgId = $fields['DETAIL_PICTURE'] ?: $fields['PREVIEW_PICTURE']; $imgUrl = ''; if ($imgId) { $imgUrl = 'https://' . SITE_SERVER_NAME . CFile::GetPath($imgId); } $url = 'https://' . SITE_SERVER_NAME . $fields['DETAIL_PAGE_URL']; $xml .= '<offer id="' . $fields['ID'] . '" available="true">'; $xml .= '<url>' . htmlspecialchars($url) . '</url>'; $xml .= '<price>' . number_format($priceVal, 2, '.', '') . '</price>'; $xml .= '<currencyId>RUB</currencyId>'; $xml .= '<categoryId>' . $fields['IBLOCK_SECTION_ID'] . '</categoryId>'; if ($imgUrl) { $xml .= '<picture>' . htmlspecialchars($imgUrl) . '</picture>'; } $xml .= '<name>' . htmlspecialchars($fields['NAME']) . '</name>'; if ($fields['PREVIEW_TEXT']) { $xml .= '<description><![CDATA[' . strip_tags($fields['PREVIEW_TEXT']) . ']]></description>'; } // Артикул для связи с заказами $sku = $props['CML2_ARTICLE']['VALUE'] ?? $fields['ID']; $xml .= '<param name="sku">' . htmlspecialchars($sku) . '</param>'; $xml .= '</offer>'; } $xml .= '</offers></shop></yml_catalog>'; return $xml; } 

Фид кешируется на 2–4 часа и обновляется инвалидацией при изменении товара. URL фида передаётся в личном кабинете Retail Rocket.

JavaScript-трекер Retail Rocket для 1С-Битрикс

Retail Rocket предоставляет JS-библиотеку (rrpushdown), которую подключают на все страницы. В шаблоне Битрикс — в footer.php или через addExternalJs:

// Базовый код Retail Rocket (вставляется один раз) var retailrocket = window.retailrocket || []; (function(d, w) { var rr = d.createElement('script'); rr.type = 'text/javascript'; rr.src = '//cdn.retailrocket.net/content/javascript/tracking.js'; d.head.appendChild(rr); })(document, window); 

Событие просмотра карточки товара. В шаблоне catalog.element:

// template.php $productId = $arResult['ID']; ?> <script> retailrocket.push(['setAccountId', '<?= RETAIL_ROCKET_ACCOUNT_ID ?>']); retailrocket.push(['track', 'view', { productId: '<?= $productId ?>' }]); </script> 

Событие добавления в корзину. В обработчике AJAX-добавления:

// При успешном добавлении товара в корзину retailrocket.push(['track', 'addToBasket', { productId: String(productId), quantity: qty }]); 

Событие оформления заказа. В шаблоне страницы «Спасибо за заказ» или через обработчик события OnSaleOrderSaved:

// В шаблоне страницы подтверждения заказа $orderId = $arOrder['ID']; $orderPrice = $arOrder['PRICE']; $items = []; // Массив позиций заказа foreach ($arOrder['BASKET'] as $item) { $items[] = [ 'id' => $item['PRODUCT_ID'], 'qnt' => $item['QUANTITY'], 'price' => $item['PRICE'], ]; } ?> <script> retailrocket.push(['track', 'transaction', { transaction: '<?= $orderId ?>', revenue: <?= $orderPrice ?>, lineItems: <?= json_encode($items) ?> }]); </script> 

Событие поиска:

retailrocket.push(['track', 'search', { searchPhrase: searchQuery }]); 

Блоки рекомендаций Retail Rocket

Retail Rocket отдаёт готовые виджеты с рекомендациями. После настройки в личном кабинете — вставка блоков в шаблоны:

<!-- На главной странице: «Рекомендуем» --> <div data-retailrocket-markup-block="5f4a3b2c1d0e9f8e7d6c5b4a" data-algorithm="popular"> </div> <!-- В карточке товара: «С этим покупают» --> <div data-retailrocket-markup-block="5f4a3b2c1d0e9f8e7d6c5b4b" data-algorithm="related" data-item-id="<?= $arResult['ID'] ?>"> </div> <!-- В корзине: «Вам может понравиться» --> <div data-retailrocket-markup-block="5f4a3b2c1d0e9f8e7d6c5b4c" data-algorithm="basket"> </div> 

Виджеты рендерятся на стороне Retail Rocket — они подгружают список ID товаров и запрашивают данные для отображения из вашего каталога через JS.

Пользователь и авторизация

Для связи поведения с профилем пользователя передаём email при входе:

// В обработчике успешной авторизации if ($USER->IsAuthorized()) { $email = $USER->GetEmail(); ?> <script> retailrocket.push(['setEmail', '<?= htmlspecialchars($email) ?>', function() { console.log('RR email set'); } ]); </script> <?php } ?> 

Сроки реализации

Объём Состав Срок
Базовая интеграция (фид + трекер) Фид + 3 события + подключение скрипта 1–2 дня
Полная интеграция (все события + блоки рекомендаций) + виджеты + email-событие + A/B тест 3–5 дней
Персонализированные рассылки + триггерные сценарии через Retail Rocket Email добавить 2–3 дня

Детальное описание процесса

Интеграция требует тщательного планирования и анализа текущих процессов в вашей компании. Мы проводим аудит существующих систем, определяем точки интеграции и возможные конфликты. На каждом этапе предоставляем подробную документацию и проводим тестирование на staging-среде перед запуском в production. Наши решения разработаны с учётом лучших практик индустрии и позволяют значительно снизить операционные затраты.

Наша гарантия качества

Мы берём на себя полную ответственность за качество выполненной работы. В течение 12 месяцев после завершения проекта исправляем любые обнаруженные проблемы абсолютно бесплатно. Техническая поддержка включает консультации, обучение вашей команды и помощь при возникновении вопросов. Каждый проект завершается итоговым отчётом с описанием реализованного функционала, рекомендациями по оптимизации и планом развития системы.

Примеры успешных проектов

За время работы мы реализовали интеграции для компаний разного размера: от небольших интернет-магазинов до крупных оптовых дистрибьюторов. Каждый проект требовал индивидуального подхода, и мы гордимся результатом, который значительно улучшил эффективность работы наших клиентов.

Преимущества нашего подхода

Мы обеспечиваем комплексное решение, а не отдельные исправления. Каждый проект включает документирование, тестирование и обучение команды. Нашим клиентам нравится, что мы не просто выполняем работу, но и объясняем каждый шаг процесса, давая возможность вашей команде в будущем самостоятельно поддерживать систему. Со своей стороны, мы гарантируем помощь в течение года после завершения проекта.

Контакты и следующие шаги

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