Рекомендации и каталог товаров
OneTrace.pro подбирает товары каждому покупателю: популярное, «с этим покупают», похожие, недавно просмотренные и персональную подборку. Рекомендации показываются на сайте, в письмах, цепочках и рассылках. Для работы нужны товарный каталог и события просмотров, корзины и покупок.
Раздел открывается в меню Коммуникации → Рекомендации. Смотреть его могут все участники проекта, а подключать фиды, менять настройки и запускать пересчёт — «Владелец», «Администратор» и «Менеджер».

Каталог товаров
Вверху страницы видно, сколько товаров в каталоге, сколько из них в наличии и сколько категорий. Пока каталог пуст, рекомендовать нечего: подключите фид или загрузите товары через API.
Как подключить фид
- В блоке Товарные фиды нажмите Добавить фид.
- Укажите Название и Адрес фида — ссылку на файл.
- Выберите Формат: YML (Яндекс), Google Merchant, CSV, JSON или JSON Lines.
- В поле Обновление выберите, как часто перечитывать фид: каждые 1, 3, 6 или 12 часов либо раз в сутки.
- Если фид закрыт паролем или токеном, заполните Заголовок Authorization, например
Bearer …. Он хранится зашифрованным. - Нажмите Сохранить. Первый импорт начнётся сразу.

В CSV и JSON колонки узнаются по названиям: id, name или title, url, image, price, old_price, currency, available, category, brand (подходят и русские названия: «название», «цена», «бренд»). Остальные колонки считаются характеристиками товара. id товара должен совпадать с тем, что сайт передаёт в событиях — иначе действия покупателей не свяжутся с каталогом.
У каждого фида видны статус (Работает или Ошибка), время последнего импорта и итог: сколько товаров и категорий прочитано и сколько снято с продажи. Кнопка Обновить запускает импорт вне расписания. Кнопка Пауза останавливает импорт по расписанию (статус «На паузе»), Обновить снимает паузу. Фид с ошибкой повторяется по расписанию, текст ошибки показан под ним.
Что важно знать:
- Товары, которых больше нет в фиде, снимаются с продажи, а не удаляются: история событий по ним сохраняется, а вернувшийся в фид товар снова становится доступен.
- При удалении фида товары остаются в каталоге.
Копии изображений
В настройках фида можно включить Копировать изображения товаров в наше хранилище. Тогда картинки в письмах и виджетах открываются с CDN OneTrace.pro и не зависят от доступности вашего сайта.
- Скачивать не больше … изображений в секунду, минуту или час — ограничение, чтобы не нагружать ваш сайт. По умолчанию — 5 в секунду.
- Под фидом видно, сколько изображений скопировано, в очереди и не скачано. Пока копии нет (или адрес картинки в фиде изменился), показывается исходная картинка.
- Копии учитываются в лимите хранилища изображений тарифа. Если переключатель недоступен, хранилище изображений в вашей установке не настроено.
Загрузка через API
Разработчики могут загружать и удалять товары запросами к https://cdp.onetrace.pro/api/v1/products — до 1000 товаров и категорий за запрос. Нужен секретный ключ с правом «Загрузка и удаление товаров», см. API-ключи и Интеграция с сервера.
События для моделей
В блоке События для моделей укажите, какие события означают действия с товарами:
| Поле | Пример |
|---|---|
| Просмотр товара | product_viewed |
| Добавление в корзину | product_added |
| Покупка | order_completed |
| Свойство с id товара | product_id — в событии одно поле или массив products[] с этим полем |
| Не рекомендовать купленное | 30, 90 или 365 дней; «Рекомендовать снова» — для расходных товаров |
По умолчанию события берутся из настроек прогнозов. После Сохранить модели пересчитываются.
Модели и ночной расчёт
Карточка Модели показывает статус (Ожидает, Считается, Готово, Нет каталога, Ошибка), время расчёта и число связей между товарами.
Модели пересчитываются каждую ночь, а также сразу после сохранения настроек и по кнопке Пересчитать. Во время расчёта и при ошибке рекомендации выдаются по предыдущей версии.
Кроме связей, расчёт записывает в профили трейты favorite_category, favorite_brand и top_products. Их можно использовать в сегментах, например «любимая категория — обувь».
Виды рекомендаций
| Вид | Что показывает | Где уместен |
|---|---|---|
| Персональные | подборка по просмотрам, корзинам и покупкам покупателя, с учётом сегодняшних действий | главная, письмо «Вам может понравиться» |
| Популярные | самые востребованные товары за 30 дней, по всему каталогу или категории | новый посетитель, пустая корзина |
| Набирают популярность | товары, интерес к которым вырос за последнюю неделю | главная, рассылка «Новинки недели» |
| С этим смотрят | что смотрят вместе с этим товаром | карточка товара |
| С этим покупают | что покупают вместе с этим товаром | корзина, письмо после заказа |
| Похожие | товары той же категории: бренд, цена, характеристики | карточка товара, нет в наличии |
| Недавно просмотренные | последние просмотры покупателя | брошенный просмотр |
Новый посетитель без истории получает популярные товары. В подборки попадают только товары в наличии.
Проверка выдачи
В блоке Проверить выдачу выберите Вид и укажите ID товара, ID категории или ID профиля — в зависимости от вида. Нажмите Показать, чтобы увидеть карточки товаров, которые получит покупатель.

Отчёт об эффекте
Таблица Эффект на сайте за 30 дней показывает по каждому виду показы, клики, CTR, покупки и выручку. Покупка засчитывается, если покупатель купил товар в течение 7 дней после клика по рекомендации, выручка считается по цене каталога. Эффект рекомендаций в письмах виден в отчётах рассылок и цепочек.

Где показывать рекомендации
- На сайте — готовые виджеты из раздела «Сайт» или вызов трекера, см. Виджеты рекомендаций на сайте.
- В письмах — блок Товары в конструкторе писем. В нём выбираются Какие товары, Сколько, число колонок, Показывать цену и Кнопка под товаром. Для видов «С этим смотрят», «С этим покупают» и «Похожие» товар берётся из события, запустившего письмо (Свойство события с id товара), — так строится письмо о брошенной корзине. Если подходящих товаров нет, блок в письме не показывается.
- В шаблонах любых каналов — функция
recommendations():
{% for product in recommendations('personal', 4) %}
<a href="{{ product.url }}">{{ product.name }}</a> — {{ product.price }}
{% endfor %}