YML-фид для Яндекс.Директ: требования к фиду, как создать и подключить к кампании

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

Бесплатный расчёт бюджета

Коротко: YML-фид для товарной рекламы

Коротко: YML (Yandex Market Language) — это XML-файл с каталогом товаров. Яндекс.Директ по нему собирает товарные объявления, страницы каталога и креативы для поиска и рекламной сети. Ниже — требования к полям, пошаговое создание, пример структуры и подключение к товарной кампании или единой перфоманс-кампании.

Определение. Фид в Директе — структурированный источник данных о товарах или услугах. Система читает файл, проверяет поля и на их основе генерирует заголовки, тексты, ссылки и изображения в объявлениях. YML-фид — один из поддерживаемых форматов; корневой тег — , внутри блоки shop, categories, offers и при необходимости collections. Спецификация совпадает с языком фидов Яндекс Маркета, но правила Директа строже: часть полей обязательна только для рекламы (картинки для галереи, available, связка id с электронной коммерцией в Метрике).

yml-feed-check.sh
charset UTF-8 · vendor.model
picture ≥450px · до 5 URL
sync URL · робот ~24ч
# лимит 512 Мб по ссылке · collections 2025+
512Мб по URL
UTF-8кодировка
id= Метрика

Коротко: YML (Yandex Market Language) — это XML-файл с каталогом товаров. Яндекс.Директ по нему собирает товарные объявления, страницы каталога и креативы для поиска и рекламной сети. Ниже — требования к полям, пошаговое создание, пример структуры и подключение к товарной кампании или единой перфоманс-кампании.

Что такое YML-фид в Яндекс.Директе и чем он отличается от других фидов

Определение. Фид в Директе — структурированный источник данных о товарах или услугах. Система читает файл, проверяет поля и на их основе генерирует заголовки, тексты, ссылки и изображения в объявлениях. YML-фид — один из поддерживаемых форматов; корневой тег — , внутри блоки shop, categories, offers и при необходимости collections. Спецификация совпадает с языком фидов Яндекс Маркета, но правила Директа строже: часть полей обязательна только для рекламы (картинки для галереи, available, связка id с электронной коммерцией в Метрике).

Общий обзор всех типов фидов (CSV, Google Shopping, ручной ввод) — в материале «Фид в Яндекс.Директе». Эта статья углубляет именно YML: теги, валидация, экспорт из магазина и привязка к кампании.

Способ передачи каталогаКогда уместенОграничения
YML по ссылкеИнтернет-магазин, частое обновление цен и остатковДо 512 Мб, робот скачивает раз в сутки (интервал может расти на больших файлах)
YML файломРазовая загрузка, тестДо 200 Мб, автообновления нет
Ручной фидДо ~1000 SKU, простой ассортиментДолго поддерживать вручную
Страницы каталога с сайтаМало товаров, нет готового YMLДругая логика фильтров; см. страницы каталога

Источник по назначению фидов: справка Яндекса «О фидах».

Когда нужен именно YML, а не ручной фид или фид каталога

YML имеет смысл, если:

  • в каталоге сотни и тысячи позиций и цены меняются чаще, чем раз в неделю;
  • нужны товарная галерея, крупные картинки в рекламе товаров и фильтры по бренду, категории, наличию;
  • вы уже выгружаете YML на Маркет — часто достаточно дополнить файл полями под Директ, а не собирать каталог заново.

Ручной фид или ввод «с сайта» уместны для узкого ассортимента и быстрых тестов. Для интернет-магазина с ростом ассортимента YML почти всегда окупается затраты на настройку экспорта.

Связь фида с товарными объявлениями и динамическими форматами

После загрузки YML в Библиотеку → Фиды вы выбираете источник в товарной кампании или в блоке товаров единой перфоманс-кампании. Директ:

  • отбирает офферы по фильтрам (категория, производитель, цена, available, collection id и др.);
  • генерирует автоматические или ручные тексты из полей name, vendor, model, description, param;
  • показывает объявления в поиске, в рекламной сети и в товарной галерее.

Тот же фид можно связать с динамическими объявлениями и офферным ретаргетингом — при условии, что id в фиде совпадает с id товара в электронной коммерции Яндекс Метрики. Иначе сегменты «смотрел товар» не стыкуются с карточкой в объявлении. Подробнее о связке аналитики — в статье «Яндекс Метрика и Яндекс.Директ».

Требования к YML-фиду для Яндекс.Директ

Коротко: файл в UTF-8, первая строка <?xml version="1.0" encoding="utf-8"?>, у <yml_catalog> желательно актуальный атрибут date. Каждый должен иметь уникальный id, рабочий url и корректную categoryId. Для большинства магазинов Яндекс рекомендует тип оффера vendor.model (произвольный), а не только упрощённый с одним .

Полный перечень полей — требования к YML.

Обязательные и рекомендуемые поля

На уровне магазина (shop): название, URL сайта, валюты (currencies), дерево categories с уникальными id.

На уровне оффера — всегда критичны для робота:

ЭлементПравило
idУникальный, до 100 символов; для фильтров по ID удобны числовые значения
categoryIdСсылка на существующую категорию в фиде
urlДо 2048 символов, только http/https, без пробелов в строке

Тип оффера и название:

ТипКак задатьОбязательные поля названия
Упрощённыйбез атрибута type на
Произвольный (vendor.model)type="vendor.model", ,
Комбинированныйvendor.model + все перечисленные
Валидация · два фильтра

XML «зелёный» ≠ готовность к Директу

Один и тот же файл проходит синтаксис UTF-8/XML, но робот Директа отдельно проверяет обязательные поля — без typePrefix/vendor/model оффер не попадёт в объявления.

  • Синтаксис XML — внешний валидатор видит только структуру, не правила рекламы.
  • Правила Директа — id, url, картинки ≥450 px, произвольный тип оффера.
  • Отчёт в кабинете — «Ошибка загрузки» vs «Есть проблемы» vs готов к кампании.
vendor.model заполнен — офферы проходят в Библиотеку У каждого <offer type="vendor.model"> есть typePrefix, vendor, model, рабочие url и picture. Статус фида — без критичных ошибок.

2 840 офферов → фильтры ТК/ЕПК, галерея и динамика с тем же id в Метрике.

Дальше — картинки, цены, collections и чек-лист перед загрузкой по ссылке.

Без обязательных полей названия оффер игнорируется — объявления по нему не создаются. Платформа называет произвольный тип наиболее удобным и универсальным для большинства категорий.

Картинки (picture): обязательны для товарных объявлений, страниц каталога в единой перфоманс-кампании и товарной галереи. Минимум 450 px по стороне, форматы JPG, PNG, WebP, GIF, до 10 Мб; товар должен занимать не менее 2/3 кадра. Рекомендуется до пяти тегов . Чтобы сменить изображение в уже показанном объявлении, нужно изменить URL картинки в фиде.

Цена: для галереи обязательны price (> 0, с точкой как разделителем) и currencyId (RUR, RUB и др.). Цена в фиде должна совпадать с карточкой на сайте. oldprice — только если выше price; скидка в объявлении обычно показывается при разнице не менее 5%, обе цены должны быть видны покупателю на сайте.

Наличие (available): по умолчанию товары считаются в наличии. Для фильтра «Только в наличии» и честных показов указывайте true/false в соответствии с сайтом и корзиной.

Каталоги (collections): с 16 июня 2025 страницы каталога — обязательная настройка товарной кампании; при отключении Директ может автоматически создавать объявления для каталогов, чьи товары уже попали в кампанию. В YML после добавляют : у каждой записи обязательны id, url, name; picture нужна для сети и галереи; связь с товарами — через внутри оффера. Подробнее о формате показов — страницы каталога в Директе и новость Яндекс Рекламы (в экспериментах платформы заявлялось около +15% покупок при той же стоимости — не гарантия для каждого магазина).

Кодировка, валюта, региональность и актуальность цен и остатков

  • Кодировка только UTF-8; кириллица в неправильной кодировке — частая причина «кракозябр» и отклонения файла.
  • Валюта в оффере и в блоке currencies должна быть согласована.
  • Региональные цены (если используете) — по правилам справки для вашего сценария; для большинства магазинов достаточно одной валюты и единой цены на сайте.
  • Атрибут date у — дата и время генерации на стороне магазина. Дата из будущего или слишком старая (в практике агентств — порядка 10+ дней) часто даёт предупреждения при проверке. Настройте cron так, чтобы фид пересобирался ежедневно, если каталог по ссылке.

Единые id: один и тот же товар в фидах Маркета, Google Shopping и Директа должен иметь одинаковый id — это упрощает учёт и ретаргетинг (общие требования к фидам).

Типичные причины отклонения и ошибки валидации

При чтении файла проверяются обязательные элементы, корректные имена тегов и правило «каждый элемент не более одного раза» внутри оффера. Иначе статус «Ошибка загрузки» и файл не используется (валидация).

Статус «Есть проблемы» означает некритичные ошибки: объявления могут создаваться, но с искажениями (битая картинка, лишний тег, неверный oldprice).

Типичные ошибки:

  • экспорт «как для Маркета» без typePrefix/vendor/model при выбранном произвольном типе;
  • дубли id или разные id для одной SKU;
  • url с пробелами, редиректами на несуществующие страницы, расхождение UTM не критично, но страница должна открываться;
  • price = 0 или не совпадает с сайтом;
  • picture меньше 450 px или ведёт на 404;
  • формально валидный XML без учёта правил Директа — обычный XML-валидатор не заменяет отчёт в кабинете (разбор на ppc.world).

Миф из обзоров конкурентов: лимит по ссылке — не 512 Кб, а 512 Мб; файлом — до 200 Мб (добавление фида).

Как создать YML-фид для Яндекс.Директа

Коротко: выберите тип оффера (предпочтительно vendor.model), настройте выгрузку из CMS или скрипт, заполните categories, collections при необходимости, проверьте фид в кабинете до запуска кампании.

Экспорт из CMS интернет-магазина

  • 1С-Битрикс: штатный экспорт в Яндекс.Маркет; для страниц каталога в YML часто нужны доработки или модули с блоком (Яндекс ссылается на инструкции Битрикс в справке).
  • InSales, HostCMS — в официальной документации указаны пути автоматического формирования коллекций при обновлении фида.
  • OpenCart, WooCommerce, Joomla — типовые плагины «YML for Yandex Market» и аналоги; после установки сверьте, что в выгрузке есть поля под Директ (картинки, available, произвольный тип оффера).

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

Перед первым запуском рекламы полезно пройти чек-лист Директа для интернет-магазина и сверить типовые ошибки магазина в Директе.

Генерация вручную и через скрипт или фид-менеджер

Для небольших каталогов можно собрать YML в редакторе или сгенерировать из базы (Python, PHP, SQL → XML). Обязательно:

  1. Шаблон с yml_catalog, shop, categories, offers.
  2. Цикл по товарам: экранирование спецсимволов в XML (&, <, кавычки в атрибутах).
  3. Выгрузка на URL, доступный роботу Директа (проверьте ответ сервера 200, без бесконечных редиректов).

Онлайн-конструкторы и «создать фид для яндекс директ онлайн» подходят для обучения; на проде надёжнее свой URL с магазина.

Собираете YML в CMS или скриптом сами и параллельно хотите увереннее настраивать товарные кампании и читать отчёт валидации — Больше о маркетинге в моем Telegram поможет выстроить чек-лист полей, цели Метрики и типичные ошибки «Директ ≠ Маркет» без обещаний «запустим за день».

Проверка фида перед загрузкой (чек-лист)

  1. UTF-8, декларация XML, актуальный date на yml_catalog.
  2. Все categoryId существуют в .
  3. Уникальные id, совпадение с Метрикой e-commerce.
  4. url, price, picture, available проверены выборочно и автоматически (скрипт или сервис).
  5. Для произвольного типа — typePrefix, vendor, model заполнены.
  6. Блок collections и collectionId, если нужны страницы каталога.
  7. Размер файла в лимите (512 Мб по URL / 200 Мб файлом).

После загрузки в Библиотеку → Фиды → Добавить фид дождитесь окончания валидации и откройте отчёт по ошибкам.

Пример YML-фида и разбор структуры

Официальные примеры по нишам: примеры фидов Яндекса. Ниже — учебные фрагменты.

Минимальный рабочий фрагмент (shop и offers)

<?xml version="1.0" encoding="utf-8"?>
<yml_catalog date="2026-09-14 10:00">
  <shop>
    <name>Пример магазина</name>
    <company>ООО Пример</company>
    <url>https://example.ru</url>
    <currencies>
      <currency id="RUR" rate="1"/>
    </currencies>
    <categories>
      <category id="1">Смартфоны</category>
    </categories>
    <offers>
      <offer id="10001" available="true">
        <url>https://example.ru/phone/model-x</url>
        <price>34990.00</price>
        <currencyId>RUR</currencyId>
        <categoryId>1</categoryId>
        <picture>https://example.ru/images/model-x-800.jpg</picture>
        <name>Смартфон Model X 128 ГБ чёрный</name>
      </offer>
    </offers>
  </shop>
</yml_catalog>

Для галереи и многих форматов в сети одного name мало — лучше перейти на произвольный тип.

Расширенный пример с категориями и несколькими офферами

<offer id="10002" type="vendor.model" available="true">
  <url>https://example.ru/phone/model-y</url>
  <price>29990.00</price>
  <oldprice>32990.00</oldprice>
  <currencyId>RUR</currencyId>
  <categoryId>1</categoryId>
  <picture>https://example.ru/img/y-main.jpg</picture>
  <picture>https://example.ru/img/y-back.jpg</picture>
  <typePrefix>Смартфон</typePrefix>
  <vendor>Brand</vendor>
  <model>Model Y</model>
  <name>Смартфон Brand Model Y 256 ГБ</name>
  <description>Экран 6.5", две камеры, NFC.</description>
  <param name="Цвет">синий</param>
  <param name="Память">256 ГБ</param>
  <collectionId>10</collectionId>
</offer>

Блок коллекций (после всех offer):

<collections>
  <collection id="10">
    <url>https://example.ru/catalog/smartfony/</url>
    <name>Смартфоны</name>
    <picture>https://example.ru/img/cat-smart.jpg</picture>
  </collection>
</collections>

Параметры param с типами материал, цвет, пол, размер учитываются при автоматической генерации текстов; при ручном составлении объявлений из полей фида — нет (требования YML).

Как подключить YML-фид к кампании в Яндекс.Директе

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

Загрузка по URL и расписание обновления

Путь в интерфейсе: Библиотека → Фиды → Добавить фид — файл или ссылка (инструкция).

  • По ссылке: робот скачивает файл раз в сутки (для единой перфоманс-кампании отбор по фильтрам тоже обновляется регулярно; на больших фидах интервал может увеличиваться).
  • Поддерживается Basic-авторизация (логин и пароль в настройках фида).
  • Файлом — без автообновления; при каждом изменении каталога нужна ручная перезагрузка.

После смены URL или пароля обновите параметры фида в кабинете, иначе останется старая версия.

Привязка фида к группе и кампании

  1. Создайте товарную кампанию или блок продвижения товаров в единой перфоманс-кампании (создание товарной кампании, товары в ЕПК).
  2. В качестве источника каталога выберите загруженный YML-фид.
  3. Задайте фильтры: категория, vendor, цена, available, collection id и др.
  4. Проверьте подсказку интерфейса: сколько товаров попало под фильтр. Ноль товаров = нет показов — типичная ошибка при слишком жёстком фильтре или пустом фиде.
  5. Выберите режим генерации текстов: автоматический (рекомендуется) или ручной набор полей фида.
  6. Настройте страницы каталога (актуально с 2025 года как обязательный элемент товарной кампании).

Альтернатива пошаговой настройке — мастер кампаний для простых сценариев; для тонких фильтров и коллекций чаще удобнее полноценная товарная или единая перфоманс-кампания.

Первые показы: что проверить в отчётах и в справке кабинета

  • В карточке фида — статус «Готов» / без критичных ошибок.
  • В статистике Директа — появление показов и кликов по товарным объявлениям; низкий CTR может быть связан с картинками и ценами в фиде.
  • В Метрике — электронная коммерция и совпадение id.
  • Справка по статусам фида и отчёту валидации — раздел «Проверка фида».

При массовых правках удобно работать через Директ Коммандер для кампаний и отдельно следить за обновлением фида в библиотеке.

YML-фид и смежные настройки Директа

Обновление фида при смене ассортимента

Новые SKU — новые offer с новыми id. Снятые с продажи товары: available="false" или удаление из фида (с учётом того, что кампания перестанет их показывать). Смена цены — обновление price и при скидках oldprice. Сезонные коллекции — правка collections и collectionId.

Не забывайте про синхронизацию с сайтом: модерация и пользователи видят расхождение цены как недоверие к объявлению.

Когда комбинировать фид с ретаргетингом и посадочными страницами

  • Офферный ретаргетинг в рекламной сети: те же id, что в фиде и в Метрике; см. динамический ретаргетинг.
  • Посадочные страницы: url в фиде ведёт на карточку товара; для акций иногда нужны отдельные лендинги — тогда согласуйте URL с юридическими требованиями и посадочной страницей в Директе.
  • Семантика поиска: фид не заменяет подбор ключевых слов в классических группах, но в товарных кампаниях релевантность во многом идёт от данных фида и фильтров.

Интеграции CRM и фидов — отдельный контур; базовая связка описана в материале «Интеграция Яндекс.Директ».

Частые ошибки при работе с YML-фидом

  1. Один YML «как для Маркета» без доработки под Директ — нет picture, available, произвольного типа, коллекций.
  2. Нулевой отбор в кампании — фильтр по категории или бренду не совпадает с данными в файле.
  3. Разные id в фиде, на сайте и в Метрике — ломается ретаргетинг и отчёты.
  4. Ручная загрузка файла раз в месяц при акциях каждую неделю — устаревшие цены и отклонения.
  5. Картинка та же, URL тот же — креатив в объявлении не обновится; нужен новый URL изображения.
  6. Игнор статуса «Есть проблемы» — объявления есть, но с ошибками в цене или ссылке.
  7. Путаница форматов: CSV и Google Shopping — другие спецификации (прочие форматы); не смешивайте теги в одном файле.

Если реклама не даёт заявок, сверьте общий раздел ошибок в Директе и узкую статью по магазину — пять ошибок интернет-магазина.

Краткий итог: пошаговый маршрут от пустого каталога до запущенной кампании

  1. Определить тип оффера (vendor.model + при необходимости name).
  2. Настроить экспорт YML на HTTPS или подготовить файл.
  3. Заполнить категории, цены, картинки, наличие, коллекции.
  4. Сверить id с Метрикой.
  5. Библиотека → Фиды — загрузка, валидация, исправление отчёта.
  6. Создать товарную или единую перфоманс-кампанию, привязать фид, проверить число товаров.
  7. Запустить показы, через 3–7 дней оценить CTR, конверсии и качество фида.

Итог: YML-фид — центральный элемент товарной рекламы в Директе для интернет-магазина. Требования к полям строже, чем у «просто XML»; с 2025 года к этому добавляется обязательная работа со страницами каталога. Начните с корректного произвольного типа оффера, ежедневного обновления по ссылке и проверки фильтров в кампании — так вы избежите большинства простоев и модерационных сюрпризов. Обзор всех видов фидов оставьте материалу «Фид в Яндекс.Директе».

FAQ

Чем YML-фид отличается от CSV для Директа?

YML — XML со схемой Маркета/Директа, удобен для больших каталогов и CMS. CSV — таблица по отдельной спецификации; фильтры страниц каталога по title и url, а в YML — по collection id. Для крупного магазина чаще выбирают YML.

Можно ли использовать один файл и для Маркета, и для Директа?

Да, если дополнить обязательные для рекламы поля (picture, available, тип оффера, коллекции) и соблюдать единые id.

Как часто обновляется фид по ссылке?

Робот Директа скачивает его ориентировочно раз в сутки; точный интервал зависит от размера и нагрузки.

Почему в кампании «0 товаров»?

Пустой отбор фильтров, неверная categoryId, все товары с available="false" или фид с ошибкой загрузки.

Нужен ли name при vendor.model?

Для произвольного типа обязательны typePrefix, vendor, model; name необязателен, но рекомендуется для более релевантных автотекстов.

Что делать при статусе «Есть проблемы»?

Открыть отчёт, исправить некритичные поля, перезагрузить фид; часть объявлений может уже крутиться с искажениями — не откладывайте правку.

Где посмотреть примеры полей для моей ниши?

В официальных примерах Яндекса и в отчёте валидации после первой загрузки.