Требования к фидам в Директе: YML, CSV, проверка файла

Для товарных фидов: у каждого товара уникальный ID, и тот же товар во всех фидах получает тот же ID. YML: корень <yml_catalog>, атрибут date в формате YYYY-MM-DD hh:mm, офера в <offers>, а <currencies> и <categories> стоят перед ними. Фиды CSV и XML — в UTF-8. Валидация отклоняет файл по любому из 3 условий: нет обязательного элемента, неверное название, элемент повторяется.

Цифры

Общие правила

ПараметрЗначение
Идентификатор товарауникальный; один и тот же во всех фидах и типах фидов
Корневой элемент YML<yml_catalog>
Формат date в <yml_catalog>YYYY-MM-DD hh:mm
Кодировка CSV и XMLUTF-8
Типы описания офера3: упрощённый, произвольный, комбинированный
Условий валидации3

Как в YML передают название товара

Тип описанияКакие элементыПример из справки
Упрощённыйодин <name>Смартфон Samsung Galaxy S22 Ultra 8/128 ГБ, синий
Произвольный<typePrefix>, <vendor>, <model>Смартфон; Samsung; Galaxy S22 Ultra 8/128 ГБ, синий
Комбинированный<name> и три элемента произвольного типа сразуоба набора вместе

Фид «Отели и аренда жилья» Google Рекламы (CSV)

ЭлементЧто в нём
Property IDидентификатор отеля; обязательный
Categoryтип размещения: «отель», «апартаменты», «хостел»
Property nameназвание отеля; обязательный
Final URLстраница предложения для сайта или трекинговая ссылка для приложения (для мобильного предложения советуют отложенные диплинки); обязательный
Destination nameместоположение отеля, не более 25 символов; обязательный
Image URLссылка на картинку, рекомендуется минимум 500 px по одной из сторон; обязателен для показов в РСЯ
Priceчисло и код валюты (RUB, USD, UAH, KZT), разделитель дробной части — точка; рекомендуемый
Star ratingчисло звёзд, целое от 1 до 5
Scoreпользовательская оценка, число с точкой
Max scoreмаксимальная оценка, целое; по умолчанию 5
Facilitiesуслуги через точку с запятой: бар;бассейн;бесплатный Wi-Fi
custom_label_0 … custom_label_4произвольное описание (латиница, кириллица, цифры), до 175 символов; только для фильтров в ЕПК
custom_scoreноль или целое положительное число; только для фильтров в ЕПК

Подробности

Общие правила товарных фидов

  • Каждый товар имеет уникальный идентификатор.
  • Один и тот же товар в разных фидах, в том числе фидах разных типов, подписан одним идентификатором. Пример из справки: товар в фиде Яндекс Маркета и в фиде Google Shopping.

Правило повторяется на страницах про YML, про продажу товаров и про фид для приложений.

YML (формат Яндекс Маркета)

  • Корень документа — <yml_catalog>; в XML корневой элемент может быть только один.
  • Атрибут date указывает дату и время, когда рекламодатель сформировал файл, формат YYYY-MM-DD hh:mm.
  • Товарные предложения лежат в <offers>, каждое — отдельный <offer>.
  • Внутри <shop> элементы <currencies> и <categories> ставят до списка офферов.
  • Описание офера бывает упрощённым (название в <name>), произвольным (название складывается из <typePrefix>, <vendor> и <model>) и комбинированным (оба набора сразу). Комбинация даёт больше элементов, из которых собирается релевантное объявление.
  • В одном фиде вместе допустимы офера упрощённого и произвольного типа.

YML для продвижения приложений

Требования те же: уникальный ID, один корень, date, порядок <currencies> и <categories>, три типа описания. Отличается пример офера: в <url> стоит трекинговая ссылка приложения (с параметрами рекламной сети и диплинком) вместо адреса страницы на сайте. Набор полей офера в примере почти тот же, что в обычном YML, только без элемента property.

Google Shopping, универсальный и другие форматы

Формат Google Shopping — спецификация RSS 2.0. На странице про прочие типы товаров для него дан только пример и повторено общее правило про ID. Требований к универсальному фиду, «Специальному» фиду Google Рекламы и ряду других форматов в тексте страниц нет (см. «Важно знать»).

Фид Авто.ру (XML)

Формат XML, кодировка UTF-8. Список предложений лежит в <cars>, каждый автомобиль — отдельный <car>. Описание полей — в справке Авто.ру; пример см. в статье про примеры фидов.

Фид отелей: оформление CSV

  • Первая строка — названия столбцов, дальше строки с данными.
  • Столбцы разделяют запятой, кодировка UTF-8.
  • Значение с запятой внутри берут в кавычки, например «Москва, центр».
  • Кастомные элементы (custom_label_0–custom_label_4 и custom_score) на генерацию объявлений не влияют, нужны для сегментирования офферов в фильтрах: например, по участию в акции или по маржинальности.

Что проверяет валидация

  • Все обязательные элементы на месте.
  • Все названия элементов корректны.
  • Каждый элемент встречается не больше одного раза.

Если не выполнено хотя бы одно условие, файл отклоняется. Изменение ссылки или данных авторизации автоматически отправляет файл на повторную валидацию.

Важно знать

  • Валидация требует, чтобы элемент встречался не более одного раза, но в обоих YML-примерах офера <picture> повторён дважды (две картинки). Что справка считает «элементом» и допустимы ли повторы у картинок, не поясняется; смотреть отчёт об ошибках при загрузке.
  • На странице требований перечислены вкладки: универсальный фид, «Специальный» фид Google Рекламы, Яндекс Недвижимость, «Авиабилеты», «Путешествия», «Образование», «Медицина». В полученном тексте под ними содержимого нет. Для YML-страницы так же пусты вкладки «Каталоги», «Образование», «Медицина». Требований по этим форматам в справке не нашли.
  • Универсальный фид и «Специальный» фид Google Рекламы на странице требований стоят и среди товаров, и среди других категорий, а в статье про типы фидов — только среди товаров («любые, кроме отелей, авто, недвижимости, авиабилетов»).
  • Страница примеров обещает примеры в YML и XML для авто, а содержит только автомобиль. YML-примеры есть на страницах требований, для «Образования» и «Медицины» их в тексте нет.
  • Пример нового автомобиля на странице примеров содержит <max_discount>, пример на странице требований Авто.ру этого элемента не показывает (в тексте виден один вариант из двух вкладок «для нового» и «для подержанного»). Обязательность <max_discount> не указана.
  • В примере ссылки для приложений макросы записаны как {google_aid%} и %{logid}, знак % стоит в разных местах; справка этого не комментирует. Перед запуском сверять запись макросов с документацией трекера.
  • Какие элементы офера в YML обязательны, а какие нет, на этих страницах не сказано: есть только общие правила и пример. Список обязательных элементов проверять в справке Яндекс Маркета, на которую отсылает страница, или по отчёту об ошибках.