СтатьяАналитикаРеклама

Как проверить цену и валюту в YML-фиде до запуска рекламы

Пять проверок для price, oldprice и currencyId: формат числа, справочник валют, логика скидки, совпадение с карточкой и финальный статус площадки.

Товарные карточки, YML-фид, калькулятор и лупа для проверки цены и валюты

Проверка YML-фида должна закончиться ответом по каждому товару: какую цену увидит рекламная система, в какой валюте, есть ли настоящая скидка и совпадают ли эти данные с карточкой товара. Для этого недостаточно убедиться, что XML открывается. Нужны пять последовательных проверок: price, currencyId, справочник валют, oldprice и страница магазина.

Что требует схема Яндекс Директа

В требованиях к YML-фиду Яндекс задаёт для цены конкретные условия:

  • price содержит целое или десятичное число больше нуля;
  • дробная часть отделяется точкой;
  • значение совпадает с ценой на сайте;
  • при наличии price нужен currencyId;
  • oldprice должен быть выше price, а обе цены должны быть видны на сайте;
  • размер скидки может появиться в объявлении, если разница между oldprice и price составляет не меньше 5%.

Код BYN есть в списке поддерживаемых значений currencyId. Для магазина в Беларуси это позволяет передавать цену в белорусских рублях без пересчёта в другую валюту. Сам код нужно связать со справочником <currencies>, который расположен перед списком товаров.

Корректная связка выглядит так:

<currencies>
  <currency id="BYN" rate="1"/>
</currencies>

<offer id="A-101">
  <price>120.50</price>
  <oldprice>150</oldprice>
  <currencyId>BYN</currencyId>
</offer>

Здесь price больше нуля, десятичный разделитель — точка, старая цена выше текущей, а currencyId совпадает с валютой в справочнике. Остаётся открыть карточку A-101 и проверить, что покупатель увидит те же 120,50 BYN и зачёркнутые 150 BYN.

Учебная проверка пяти товаров

Для воспроизводимого примера мы собрали YML с одним справочником валют и пятью товарами. Все названия, ссылки и цены учебные.

IDФрагмент данныхРезультат проверки
A-101120.50, oldprice 150, BYNФормат и логика цены корректны; нужна сверка с карточкой
A-102119,90, BYNЗапятая не соответствует формату YML; заменить на точку в источнике выгрузки
A-103price 210, oldprice 200Старая цена ниже текущей; исправить данные или убрать oldprice
A-104price 0, BYNНулевая цена запрещена; передать реальную цену или исключить товар
A-105price 90, USDВ справочнике примера объявлен только BYN; добавить используемую валюту или исправить код

Мы вставили этот фрагмент в анализатор товарных фидов WiseLab, выбрали правила Яндекс Директа и проверили пять товаров. Инструмент показал две блокирующие ошибки: нулевую цену A-104 и oldprice A-103, который не выше текущей цены. Остальные две проблемы выявила ручная сверка с официальной схемой: запятую в A-102 и ссылку A-105 на валюту, которой нет в справочнике примера.

Этот результат задаёт полезную границу автоматической проверки. Валидатор быстро находит формальные нарушения и показывает ID товара. Приёмка остаётся за специалистом: он сверяет схему, справочники и фактическую страницу магазина, а окончательный допуск смотрит в рекламной системе.

Пять последовательных проверок цены в YML-фиде: формат, валюта, скидка, карточка товара и кабинет Яндекс Директа

Цена проходит пять контрольных точек. Ошибка на раннем этапе требует исправления источника выгрузки, а расхождение с карточкой — синхронизации сайта и фида.

Проверяйте цену в фиксированном порядке

1. Найдите все товары с отсутствующей или нулевой ценой

Проверяйте полный файл, а не первые строки. Для каждого замечания сохраняйте offer id и фрагмент XML. Цена 0 не описывает бесплатный товар в этом сценарии: Яндекс требует значение больше нуля. Если цену нельзя показывать, согласуйте, должен ли такой товар попадать в рекламный фид.

2. Проверьте формат числа

Выгрузка из таблицы или учётной системы может сохранить локальную запятую: 119,90. В YML нужен вариант 119.90. Удаляйте пробелы, обозначение валюты и разделители тысяч из самого тега price: значение 1 299 BYN следует передать как число, а валюту — отдельным currencyId.

Исправление лучше вносить в источник экспорта. Ручная замена в готовом XML исчезнет при следующей автоматической выгрузке.

3. Свяжите currencyId со справочником

Соберите список всех значений currencyId из товаров и сравните его с ID в <currencies>. Для моновалютного магазина ожидается один понятный код. Если часть товаров внезапно ссылается на USD, выясните причину: реальная валютная цена, ошибка маппинга или остаток старой настройки.

Курс rate не следует использовать как способ скрыть ошибку масштаба. Товар с ценой 12900 вместо 129.00 останется неверным для покупателя, даже если XML формально разбирается.

4. Проверьте скидку

Для каждого oldprice выполните два контроля:

  1. oldprice > price;
  2. обе цены видны на странице товара.

Отдельно посчитайте долю скидки:

(oldprice − price) ÷ oldprice × 100%

В учебном товаре A-101 это (150 − 120,50) ÷ 150 × 100% = 19,67%. Условие в 5% выполнено. Формула описывает только размер разницы; она не подтверждает законность или срок акции.

5. Сверьте фид, карточку и кабинет

Возьмите выборку из обычных товаров, скидочных позиций, дорогих товаров и остатков. На каждой карточке проверьте текущую цену, старую цену, валюту и наличие. Затем загрузите итоговую версию в рекламную систему и дождитесь её отчёта: локальная проверка не заменяет модерацию и фактический статус товаров.

Если цены меняются часто, фиксируйте время генерации YML и время проверки. Так можно отличить задержку обновления от постоянной ошибки экспорта.

Что передать разработчику

Фраза «в фиде неверные цены» заставляет повторить всю диагностику. Рабочая задача содержит:

  • URL или имя проверенной версии фида;
  • дату и время генерации;
  • offer id;
  • фактический фрагмент price, oldprice и currencyId;
  • значение на карточке товара;
  • ожидаемое значение;
  • правило, которое нарушено;
  • способ повторной проверки.

Пример: «В версии от 4 октября 2026 года товар A-103 содержит price 210 и oldprice 200; старая цена должна быть выше текущей. Исправьте источник выгрузки или удалите oldprice, затем повторите полную проверку».

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

Источники

Материал подготовлен редакцией WiseLab с помощью AI. Источники и фактические утверждения проверены при подготовке.

Загружаем рейтинг…

Насколько полезен материал?

Выберите оценкуСлева — меньше пользы, справа — больше

Загружаем вашу оценку…

Что думаете?

Загружаем комментарии…

СЛЕДУЮЩИЙ ШАГ

Что ещё поможет в этой задаче