Коротко: 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 готов к кампании.
<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). Обязательно:
- Шаблон с
yml_catalog,shop,categories,offers. - Цикл по товарам: экранирование спецсимволов в XML (
&,<, кавычки в атрибутах). - Выгрузка на URL, доступный роботу Директа (проверьте ответ сервера
200, без бесконечных редиректов).
Онлайн-конструкторы и «создать фид для яндекс директ онлайн» подходят для обучения; на проде надёжнее свой URL с магазина.
Собираете YML в CMS или скриптом сами и параллельно хотите увереннее настраивать товарные кампании и читать отчёт валидации — Больше о маркетинге в моем Telegram поможет выстроить чек-лист полей, цели Метрики и типичные ошибки «Директ ≠ Маркет» без обещаний «запустим за день».
Проверка фида перед загрузкой (чек-лист)
- UTF-8, декларация XML, актуальный
dateнаyml_catalog. - Все
categoryIdсуществуют в. - Уникальные
id, совпадение с Метрикой e-commerce. url,price,picture,availableпроверены выборочно и автоматически (скрипт или сервис).- Для произвольного типа —
typePrefix,vendor,modelзаполнены. - Блок
collectionsиcollectionId, если нужны страницы каталога. - Размер файла в лимите (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 или пароля обновите параметры фида в кабинете, иначе останется старая версия.
Привязка фида к группе и кампании
- Создайте товарную кампанию или блок продвижения товаров в единой перфоманс-кампании (создание товарной кампании, товары в ЕПК).
- В качестве источника каталога выберите загруженный YML-фид.
- Задайте фильтры: категория,
vendor, цена,available,collection idи др. - Проверьте подсказку интерфейса: сколько товаров попало под фильтр. Ноль товаров = нет показов — типичная ошибка при слишком жёстком фильтре или пустом фиде.
- Выберите режим генерации текстов: автоматический (рекомендуется) или ручной набор полей фида.
- Настройте страницы каталога (актуально с 2025 года как обязательный элемент товарной кампании).
Альтернатива пошаговой настройке — мастер кампаний для простых сценариев; для тонких фильтров и коллекций чаще удобнее полноценная товарная или единая перфоманс-кампания.
Первые показы: что проверить в отчётах и в справке кабинета
- В карточке фида — статус «Готов» / без критичных ошибок.
- В статистике Директа — появление показов и кликов по товарным объявлениям; низкий CTR может быть связан с картинками и ценами в фиде.
- В Метрике — электронная коммерция и совпадение
id. - Справка по статусам фида и отчёту валидации — раздел «Проверка фида».
При массовых правках удобно работать через Директ Коммандер для кампаний и отдельно следить за обновлением фида в библиотеке.
YML-фид и смежные настройки Директа
Обновление фида при смене ассортимента
Новые SKU — новые offer с новыми id. Снятые с продажи товары: available="false" или удаление из фида (с учётом того, что кампания перестанет их показывать). Смена цены — обновление price и при скидках oldprice. Сезонные коллекции — правка collections и collectionId.
Не забывайте про синхронизацию с сайтом: модерация и пользователи видят расхождение цены как недоверие к объявлению.
Когда комбинировать фид с ретаргетингом и посадочными страницами
- Офферный ретаргетинг в рекламной сети: те же
id, что в фиде и в Метрике; см. динамический ретаргетинг. - Посадочные страницы:
urlв фиде ведёт на карточку товара; для акций иногда нужны отдельные лендинги — тогда согласуйте URL с юридическими требованиями и посадочной страницей в Директе. - Семантика поиска: фид не заменяет подбор ключевых слов в классических группах, но в товарных кампаниях релевантность во многом идёт от данных фида и фильтров.
Интеграции CRM и фидов — отдельный контур; базовая связка описана в материале «Интеграция Яндекс.Директ».
Частые ошибки при работе с YML-фидом
- Один YML «как для Маркета» без доработки под Директ — нет
picture,available, произвольного типа, коллекций. - Нулевой отбор в кампании — фильтр по категории или бренду не совпадает с данными в файле.
- Разные id в фиде, на сайте и в Метрике — ломается ретаргетинг и отчёты.
- Ручная загрузка файла раз в месяц при акциях каждую неделю — устаревшие цены и отклонения.
- Картинка та же, URL тот же — креатив в объявлении не обновится; нужен новый URL изображения.
- Игнор статуса «Есть проблемы» — объявления есть, но с ошибками в цене или ссылке.
- Путаница форматов: CSV и Google Shopping — другие спецификации (прочие форматы); не смешивайте теги в одном файле.
Если реклама не даёт заявок, сверьте общий раздел ошибок в Директе и узкую статью по магазину — пять ошибок интернет-магазина.
Краткий итог: пошаговый маршрут от пустого каталога до запущенной кампании
- Определить тип оффера (vendor.model + при необходимости
name). - Настроить экспорт YML на HTTPS или подготовить файл.
- Заполнить категории, цены, картинки, наличие, коллекции.
- Сверить
idс Метрикой. - Библиотека → Фиды — загрузка, валидация, исправление отчёта.
- Создать товарную или единую перфоманс-кампанию, привязать фид, проверить число товаров.
- Запустить показы, через 3–7 дней оценить CTR, конверсии и качество фида.
Итог: YML-фид — центральный элемент товарной рекламы в Директе для интернет-магазина. Требования к полям строже, чем у «просто XML»; с 2025 года к этому добавляется обязательная работа со страницами каталога. Начните с корректного произвольного типа оффера, ежедневного обновления по ссылке и проверки фильтров в кампании — так вы избежите большинства простоев и модерационных сюрпризов. Обзор всех видов фидов оставьте материалу «Фид в Яндекс.Директе».