Что такое товарный фид и зачем он нужен
Товарный фид — это структурированный файл с данными о ваших товарах: названиями, ценами, изображениями, ссылками на страницы. Яндекс читает этот файл и на его основе автоматически создаёт объявления для каждой позиции или формирует карточки в Маркете. Вместо того чтобы заводить рекламу на тысячу товаров вручную, вы загружаете один файл, и система берёт нужные данные оттуда.
Для интернет-магазина фид — это точка входа в товарную рекламу с автоматической генерацией. Без него динамические объявления в рекламных кампаниях для интернет-магазина и карточки в Маркете попросту не работают.
YML или CSV: что выбрать
Яндекс поддерживает два основных формата:
- YML (Yandex Market Language) — формат на основе XML, разработанный Яндексом специально для Маркета. Поддерживает категории, атрибуты товаров, скидки, наличие и многое другое. Это главный формат: обязателен для Маркета и поддерживается Директом.
- CSV — табличный формат с разделителями, проще в создании. Директ его принимает, Маркет — нет. CSV удобен для небольшого ассортимента или если разработчик недоступен и нужно быстро запустить товарную кампанию.
Для большинства интернет-магазинов правильный выбор: YML. Один файл закрывает и Маркет, и Директ. CSV имеет смысл только как временное решение или для простого ассортимента без категорий.
Обязательные поля YML-фида: что писать в каждом
Файл YML состоит из описания магазина и блока с товарами. Каждый товар — это отдельный элемент с набором полей. Семь из них обязательны: если хотя бы одного не хватает, товар не загрузится независимо от того, насколько правильно заполнены остальные.
Идентификатор товара: поле id
Уникальный идентификатор в вашей базе: артикул, SKU или внутренний номер. Важное правило: однажды присвоенный id нельзя менять для того же товара. Если изменить его, система воспримет это как удаление старого товара и добавление нового, а накопленная статистика объявления будет потеряна.
Наименование товара: поле name
Полное название товара, а не краткое. Не «Кроссовки», а «Кроссовки Nike Air Max 270 мужские, белые, размер 42». Чем точнее название, тем точнее сгенерированное объявление и тем лучше оно покажется по нужным запросам. Не добавляйте в name рекламные слова («лучшие», «акция», «скидка»): Маркет их уберёт при модерации, а Директ использует поле напрямую, и объявление будет выглядеть коряво.
Ссылка на страницу товара: поле url
Полная ссылка на страницу товара, включая https://. Страница должна реально существовать и открываться. Если товар закончился и страница удалена, фид нужно обновить: иначе покупатель кликнет на объявление и увидит ошибку 404.
Текущая цена товара: поле price
Текущая цена товара. Указывается числом, без знака валюты и без разделителя тысяч. Правильно: 3490, а не «3 490 ₽». Если цена в фиде и на сайте расходится, Маркет может отклонить товар или снизить рейтинг: система периодически сверяет данные фида с реальным сайтом.
Код валюты: поле currencyId
Код валюты. Для рублей это RUB. Коды других валют перечислены в документации Яндекс.Маркета.
Идентификатор категории: поле categoryId
Идентификатор категории из блока категорий того же файла. Каждый товар должен принадлежать к категории, объявленной в фиде. Если значение в поле товара не совпадает ни с одним идентификатором из блока категорий, файл не пройдёт валидацию.
Ссылка на изображение: поле picture
Прямая ссылка на файл изображения, а не на страницу, где оно лежит. URL должен вести непосредственно на картинку и открываться без авторизации. Если ссылка битая или ведёт на страницу с авторизацией, товар загрузится без картинки или не загрузится вовсе.
Важные необязательные поля
Эти поля не обязательны для загрузки фида, но напрямую влияют на качество объявлений и карточек в Маркете. Заполнять их стоит хотя бы для топовых позиций.
| Поле | Что даёт | Приоритет заполнения |
|---|---|---|
| description | Описание товара. В Маркете улучшает карточку и поиск, в Директе может попасть в текст объявления | Высокий |
| vendor | Производитель или бренд. Нужен для брендовых запросов и фильтрации в Маркете | Высокий |
| model | Модель товара. Вместе с vendor формирует атрибуты карточки | Средний |
| param | Произвольные атрибуты: цвет, размер, материал. Для одежды и обуви без этого поля товар проигрывает в фильтрованной выдаче | Высокий (для одежды, обуви, электроники) |
| oldprice | Исходная цена до скидки. Маркет и Директ показывают перечёркнутую цену. Работает только если oldprice больше price | Средний |
| available | Наличие товара: true или false. Если товар закончился — ставьте false вместо удаления из фида | Высокий |
| barcode | EAN или UPC. Помогает Маркету сопоставить товар с другими продавцами для корректного отображения характеристик | Низкий |
Особо выделим поле param. Именно через него передаются характеристики, по которым покупатели фильтруют товары в Маркете: цвет, размер, материал, мощность. Для одежды и обуви заполнять эти атрибуты — практически обязательная практика. Товар без указания размеров и цвета проигрывает конкурентам в фильтрованной выдаче даже при более привлекательной цене.
Частые причины отклонения модерацией
Модерация в Маркете и Директе работает по разным правилам, но есть ошибки, которые отклоняют в обоих местах. Разберём самые распространённые из тех, с которыми чаще всего сталкиваются при первой загрузке.
Некорректный XML-синтаксис
Самая техническая ошибка и одна из самых частых. XML строгий: один незакрытый тег или спецсимвол без экранирования ломает весь файл. Символы &, <, > и кавычки в текстовых полях нужно экранировать (&, <, >, "). Типичный пример: в поле name написали «Масло моторное Shell Helix & Castrol» без экранирования амперсанда, и XML сломан. Такой файл Яндекс вернёт без проверки содержимого.
Несоответствие картинок контенту
Изображение в поле picture не совпадает с тем, что написано в name. Если в названии «Синие кроссовки 42 размер», а на картинке красные, и Маркет это замечает. То же самое: логотип бренда вместо фото товара, коллаж из нескольких товаров там, где должен быть один, водяной знак, занимающий больше половины изображения.
Ошибки в ценах
Цена в фиде равна нулю. Цена в фиде значительно ниже той, что на сайте. Маркет периодически сверяет данные из фида с реальными страницами товаров и блокирует позиции с расхождениями. Это одна из причин, почему фид нужно обновлять регулярно: если цены на сайте изменились, а фид не обновили, товары будут заблокированы даже спустя время после успешной первичной модерации.
Запрещённые или ограниченные категории
Для ряда групп товаров требуется документация или специальное разрешение: медицинские изделия, биологически активные добавки, детское питание, алкоголь, оружие и принадлежности к нему. Без подтверждающих документов Маркет такие товары отклоняет независимо от качества фида. Список ограниченных категорий указан в правилах для продавцов Маркета.
Недействительные URL
Ссылка в поле url ведёт на страницу 404, требует авторизации или недоступна из-за нестабильной работы сервера. То же самое с полем picture: если ссылка на изображение не открывается, товар загрузится без картинки, что критично для объявлений.
Дублирующиеся идентификаторы
В одном фиде у двух разных товаров одинаковый id. Файл с дублями не пройдёт валидацию на первом же шаге. Это одна из тех ошибок, которая возникает при объединении выгрузок из разных источников.
Чем требования Директа отличаются от Маркета
Если вы используете один фид одновременно для Маркета и товарных кампаний в Директе, нужно понимать, что у каждой системы своя логика проверки и свои приоритеты.
| Критерий | Яндекс.Маркет | Яндекс.Директ |
|---|---|---|
| Формат | Только YML | YML и CSV |
| Проверка контента | Строгая: соответствие фото и названия, правила для категорий, сверка цен с сайтом | Базовая: XML-синтаксис, наличие обязательных полей, правила рекламной системы |
| Ограниченные категории | Нужны документы от продавца | Проверяются по правилам рекламной системы отдельно |
| Как используется name | Заголовок карточки товара | Заголовок или часть текста объявления |
| Как используется description | Описание карточки, влияет на поиск | Может попасть в текст объявления |
| Проверка цены | Сравнивается с ценой на сайте | Используется в тексте объявления «от N руб.» |
Ключевое отличие на практике: Маркет оценивает качество карточки товара с точки зрения покупательского опыта — покупатель видит вашу карточку рядом с конкурентами и сравнивает. Директ использует данные фида для автоматической генерации объявлений — здесь главное, что попадёт в заголовок и картинку объявления.
Практическое правило: если один фид не удовлетворяет обе платформы (например, Маркет хочет поля, которые не нужны Директу), делайте два отдельных файла. Поддерживать два фида проще, чем разбираться с отклонениями по смешанным причинам.
Как проверить фид до загрузки
Проверка до отправки экономит дни ожидания результата модерации. Используйте последовательно три инструмента: каждый ловит свой тип ошибок.
- Открыть файл в браузере. Загрузите YML-файл на сервер и откройте ссылку в Chrome или Firefox. Браузер умеет читать XML: если синтаксис корректный, вы увидите дерево тегов. Если синтаксис сломан — сообщение об ошибке с указанием строки. Этот способ не требует никаких инструментов и ловит большинство синтаксических ошибок за секунды.
- Использовать валидатор Маркета. В личном кабинете партнёра Маркета есть инструмент проверки фида. Загрузите файл или укажите его URL — система покажет, сколько товаров загрузилось, сколько отклонено и по каким причинам. Это наиболее детальная проверка перед реальной отправкой: здесь вы узнаете не только о синтаксических, но и о контентных ошибках.
- Загрузить фид в Директе. При создании товарной кампании в Директе нужно указать URL фида. На этом шаге система проверяет файл и сразу сообщает о проблемах: сколько товаров распознано, есть ли ошибки в полях. Если что-то не так — исправьте фид и загрузите снова, не запуская кампанию.
Проверяйте последовательно: сначала синтаксис в браузере, потом валидатором, потом загрузкой в систему. Пропустить любой из шагов — значит обнаружить проблему только тогда, когда кампания уже остановлена или товары не показываются.
Поддержка фида: обновление, синхронизация и мониторинг ошибок
Настроить и загрузить фид: это только начало. Реальная работа начинается после, и фид нужно поддерживать актуальным, иначе объявления начнут показывать старые цены и недоступные товары.
Как часто обновлять
Фид должен обновляться каждый раз, когда меняются данные о товарах: цены, остатки, ассортимент. Для активно работающего магазина оптимальный интервал: раз в сутки или чаще. Если цены меняются несколько раз в день или проходят акции, обновлять нужно чаще.
Проблема, которая возникает чаще всего: покупатель видит в объявлении одну цену, заходит на сайт, а там другая. Это не только разочарование для покупателя, но и нарушение правил платформы. Маркет активно отслеживает такие расхождения и блокирует товары.
Автоматическая выгрузка из CMS
Для большинства популярных платформ (1С-Битрикс, OpenCart, WooCommerce и другие) существуют плагины, которые автоматически генерируют YML-фид из базы данных магазина. После настройки URL фида остаётся постоянным, а данные обновляются при каждом изменении товаров. Это правильный подход: ручная выгрузка неизбежно отстаёт от реального состояния склада.
Если подходящего плагина нет, настройте скрипт генерации фида на стороне разработчика с автозапуском по расписанию. Фид не тот файл, который стоит обновлять вручную.
Расписание обновления в Директе
При настройке фида в Директе можно указать, как часто система должна перечитывать файл по указанному вами URL. Директ забирает обновлённый файл самостоятельно; вам не нужно каждый раз загружать его вручную. Настройте расписание так, чтобы Директ читал фид не реже, чем вы его обновляете.
Мониторинг ошибок
После загрузки фида следите за уведомлениями. Если файл перестал загружаться (сервер недоступен, URL изменился, синтаксис сломался после обновления CMS), Директ пришлёт уведомление об ошибке. Маркет показывает статус фида в кабинете партнёра.
Не проверять статус фида несколько дней — значит рисковать тем, что товарная кампания крутит устаревшие данные, а вы не в курсе. Включите уведомления об ошибках там, где это предусмотрено.
Что делать, если часть товаров не загрузилась
В статистике фида будет показано: сколько товаров всего, сколько загружено успешно, сколько отклонено. Обратите внимание именно на отклонённые позиции: у них обычно есть конкретная причина: отсутствует обязательное поле, недействительный URL, запрещённая категория. Исправляйте ошибки и загружайте фид заново. После нескольких итераций процент успешно загруженных товаров, как правило, выходит на нужный уровень.
О том, как товарные кампании с фидом вписываются в общую стратегию e-commerce рекламы, читайте в статье о рекламе интернет-магазина в Директе — там рассматриваются товарные кампании, офферный ретаргетинг и последовательность запуска форматов.
Чеклист: фид готов к отправке
Быстрая сверка перед загрузкой фида в Маркет или Директ.
- Файл открывается в браузере без ошибок XML-синтаксиса.
- Спецсимволы (&, <, >) в текстовых полях экранированы.
- У каждого товара заполнены все семь обязательных полей: id, name, url, price, currencyId, categoryId, picture.
- Все id в фиде уникальны — дублей нет.
- Значения categoryId у товаров совпадают с объявленными идентификаторами категорий в блоке категорий.
- Ссылки в полях url и picture открываются без авторизации и отдают нужный ресурс.
- Цены в фиде совпадают с ценами на сайте.
- Изображения соответствуют товарам в полях name.
- Для товаров из ограниченных категорий есть документация (если нужно для Маркета).
- Фид прошёл проверку в валидаторе Маркета.
Товарный фид: технический документ, который переводит ваш каталог на язык рекламной системы. Чем точнее и актуальнее данные в нём, тем лучше работает автоматическая генерация объявлений и тем меньше времени уходит на разбор отклонений. Инвестиция в правильную настройку и регулярное обновление фида окупается качеством трафика и стабильностью кампаний.
Если хотите понять, как агентство встраивает работу с фидом в повседневную операционку рекламного кабинета — посмотрите, что делает агентство с рекламным кабинетом Директа : там разобраны еженедельные и ежемесячные процессы, в том числе работа с товарными кампаниями.
