В кабинете Директа каталог товаров — не отдельный файл. Так называется тип объявлений «Страницы каталога»: категория, подборка или тематический раздел, а не карточка одного артикула. Человек попадает на страницу, где товаров несколько. Подборки я описываю коллекциями в YML и связываю с товарами тегом collectionId. Дальше разберу, чем коллекция отличается от файла, куда я её отдаю и к каким местам показа она цепляется.
Что в кабинете называется каталогом
Три слоя я не смешиваю. Данные — это сайт, YML или CSV. Тип объявления — «Страницы каталога». Кампания — товарная или единая перфоманс-кампания, где этот тип включён. Каталогом я называю средний слой. Файл с товарами — ещё только данные. Страница раздела становится объявлением, когда Директ собирает из неё креатив.
Товарное объявление ведёт в карточку артикула. Страница каталога ведёт в листинг: запрос был про класс вещей, а не про одну модель. Узкий запрос закрывает карточка, широкий и подборочный — раздел. Каталог добавляет охват на полку и оставляет объявления по отдельным артикулам на своём месте.
Формат есть и в единой перфоманс-кампании, и в товарной. В единой перфоманс-кампании страницы каталога можно не включать, так можно с марта 2024 года. В товарной кампании с 16 июня 2025 года они входят в базовый набор. Если переключатель был выключен, Директ сам создаёт страницы каталога для коллекций, чьи товары уже продвигаются. Запуск товарной кампании я не расписываю: здесь сам объект каталога, а не мастер, в котором кампанию заводят.
Коллекция и тег collectionId
Коллекция — одна подборка в данных. Это полка категории, сезонный набор или тематический раздел. В YML блок коллекций стоит рядом с товарами. У коллекции свой идентификатор не длиннее 60 символов, адрес страницы раздела, картинка и название. Описание можно оставить пустым. Поля карточки товара — цена, валюта, наличие и остальные теги оффера — я не разбираю: фиду они нужны, но коллекцией не становятся.
Связку делает тег collectionId внутри товара. Туда я пишу идентификатор коллекции. Один товар входит в несколько подборок, если тегов несколько: та же позиция лежит и в категории, и на сезонной полке. Без этой нитки кабинет не знает, какие товары принадлежат коллекции. Фильтр по идентификатору пустеет, а баннер раздела в сетях не получает карточки именно этой подборки.
Идентификатор я задаю один раз. Сменил полку на сайте и не обновил collectionId в товарах — кабинет ищет старую метку, и объявления раздела пропадают. Сезонную подборку завожу отдельной коллекцией со своим идентификатором.
Фильтр группы только отбирает уже готовые полки. Саму полку я создаю в данных: идентификатор, адрес, картинка, название и collectionId у товаров. Снять полку с показов фильтром можно. Собрать новую полку фильтром нельзя, поэтому пустое превью я сначала смотрю в файле.
Коллекция собирает товары в одну полку, а collectionId решает, в какую полку входит товар.
- Идентификатор уникален и не длиннее 60 символов
- Адрес открывает раздел с несколькими товарами
- Картинка коллекции открывается прямой ссылкой
- Название говорит о подборке, а не об одном артикуле
- У товаров этой полки в collectionId стоит тот же идентификатор
Откуда Директ берёт коллекции
Источник я выбираю один. Второй источник в той же группе ломает связку раздела и его товаров. Путей три, и у каждого полка устроена по-своему.
| Источник | Что я считаю каталогом | Как товары связаны с полкой |
|---|---|---|
| YML | Блок коллекций в том же файле, что и товары | Тег collectionId, один товар может стоять в нескольких полках |
| Сайт | Список OfferCatalog на странице раздела | Товары вложены в один список, второй каталог внутрь не кладу |
| CSV | Отдельная строка подборки | Товаров в файле нет: заголовок, адрес, описание и картинка |
На сайте файла нет. Робот ищет разметку OfferCatalog: на странице раздела один список товаров, без каталога внутри каталога. У списка есть название, описание и изображение. Без разметки или при вложенных списках полки могут не найтись, и страницы каталога тогда не обещаны. InSales и 1С-Битрикс умеют отдать YML уже с коллекциями. Мне остаётся сверить collectionId, а не собирать дерево с нуля.
CSV беру для нескольких своих наборов, когда всё дерево магазина в YML не собираю. В строке заголовок, адрес, описание и картинка. Товаров в этом файле нет, поэтому связку «раздел плюс карточки» из CSV не собрать. Для неё остаётся YML или сайт. Страницы каталога я беру из того же источника, что и товары группы.
Куда я загружаю каталог
В библиотеку фидов я кладу YML ссылкой или файлом с компьютера, и Директ читает оттуда товары вместе с коллекциями. Отдельного слота под каталог в интерфейсе нет: коллекции едут внутри источника.
По ссылке файл забирает робот, обычно раз в сутки. У очень большого файла пауза бывает длиннее. Потолок загрузки по ссылке — 512 МБ. Файл с компьютера — до 200 МБ, и обновляю его сам, когда состав полок уже изменился. Сайт в библиотеку не кладу: робот обходит страницы и находит OfferCatalog. CSV загружаю отдельно, как список разделов без товаров.
В слот уходит файл или ссылка на него. Коллекции сидят внутри, отдельной сущностью каталог не загружается.
В карточке фида я смотрю статус и два числа: сколько товаров разобрано и сколько каталогов увидено. «Обработан» значит, что файл принят. «С ошибками» значит, что часть данных отвалилась. Рядом с коллекциями чаще виноваты битая картинка раздела, редирект в адресе или старая дата в шапке файла. Если каталогов ноль, блок коллекций не доехал или collectionId ни на одну полку не ссылается. После смены дерева категорий обновляю коллекции и жду следующего обхода. Тексты объявлений руками не переписываю: креатив раздела собирается из данных заново.
К каким местам показа цепляется полка
Тип «Страницы каталога» я включаю в группе и указываю источник: фид, сайт или CSV. Места показа выбираю там же. Пока группа не взяла коллекции из источника, файл сам по себе никуда не выходит. Одну полку можно отдать сразу в несколько мест, если группа их не закрыла.
| Место | Что видит человек | Что я учитываю |
|---|---|---|
| Поиск | Трафарет со ссылкой на раздел | К трафарету можно добавить быстрые ссылки |
| Товарная галерея | Карточка каталога под строкой поиска | Только товары. Авто, недвижимость и услуги не встают. На десктопе до двух галерей |
| Рекламная сеть | Баннер раздела или связка с карточками товаров | Связка просит один источник, YML или сайт, и живой collectionId |
В товарной галерее страницы каталога есть с сентября 2024 года. Это карточка раздела под поисковой строкой, а не текстовый трафарет. На десктопе в выдаче бывает до двух таких галерей, и только если рекламируются товары.
В сети бывает одиночный баннер раздела и комбинированный формат. Для комбо в одной группе стоят товарные объявления и страницы каталога, источник один: YML или сайт. Человек видит баннер коллекции, карусель до пяти изображений и карточки товаров этой подборки. Без collectionId карусель не знает, какие карточки приложить к баннеру. Два источника в группе связку не склеивают. CSV эту картинку не даёт.
Чем резать полки, зависит от источника. Для YML фильтр идёт по идентификатору коллекции, названию и адресу. Для CSV — по заголовку и адресу. Для сайта — по названию и адресу. Автофильтры добавляют страницы каталога по уже продвигаемым товарам и конверсионные страницы. Слишком узкий срез выкидывает все идентификаторы: в превью пусто, хотя в файле полки на месте.
Поиск, товарная галерея и сеть берут одну коллекцию, если группа этот тип объявления включила.
Как я проверяю, что коллекция дошла
Сначала я проверяю, узнала ли система полку, и только потом смотрю места показа.
- В источнике есть коллекции, а не только список товаров
- У товаров нужной полки проставлен её collectionId
- Идентификатор не менялся после правки сайта
- В группе включены страницы каталога и тот же источник, что у товаров, если нужна связка в сети
- Фильтр не прячет все полки: в превью коллекции видны
- Статус фида не «С ошибками», а число каталогов больше нуля
- На сайте один OfferCatalog, без каталога внутри каталога
Пустое превью я открываю в данных: нет блока коллекций или пустой collectionId. Догон человека той же подборкой строится, когда идентификаторы товаров в фиде и в Метрике совпадают. Без совпадения кабинет не узнаёт просмотренную полку.
Смарт-баннеры могут брать картинки из того же YML, но они ближе к отдельному товару и к акции. Страницу каталога я оставляю для витрины и сезонного раздела: она ведёт в список, динамическое объявление по артикулу — в карточку.
Что остаётся самим объектом
Каталог товаров в Директе — это объявление «Страницы каталога». Коллекция — подборка в данных. collectionId — нитка от товара к этой подборке. Отдаю я её фидом, разметкой сайта или коротким CSV. Цепляется она к поиску, товарной галерее и рекламной сети. Связка раздела с карточками товаров в сети держится на одном источнике и на живой связи коллекции с товарами.
Разберу коллекции каталога
Проверю блок коллекций, теги collectionId и один источник в группе. Скажу, цепляется ли полка к поиску, галерее и сетям или обрывается на фильтре.

