Merchant Center отклоняет товар из-за цены или наличия: как найти расхождение

Merchant Center · цена · наличие
Merchant Center отклоняет товар из-за цены или наличия: как найти расхождение

Разбираемся, где данные расходятся между магазином и Google и как проверить всю цепочку – от товарной базы до оформления заказа.

Цена
Наличие
Диагностика



цена и наличие


Где возникает расхождение цены и наличия

Главная мысль

На экране всё может выглядеть правильно, а данные всё равно расходятся

На сайте товар стоит 149 €, в Merchant Center тоже указано 149 €, но Google всё равно сообщает о несоответствии цены.

Или в интернет-магазине товар доступен для заказа, а Merchant Center считает, что сведения о наличии расходятся.

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

Поэтому исправление одной строки в товарной выгрузке не всегда решает проблему.

Что означает несоответствие цены или наличия

Для товаров, участвующих в товарной рекламе и бесплатных показах Google, коммерческие данные должны быть согласованы.

товарная база → Merchant Center → карточка товара → Schema.org → корзина → оформление заказа

Если в одном месте товар стоит 149 €, а в другом 159 €, возникает несоответствие цены.

С наличием ситуация аналогичная: товар есть на складе → in_stock → InStock в Schema.org → активная кнопка покупки → возможность действительно оформить заказ. Если Merchant Center получает сведения о наличии товара, а сайт или оформление заказа показывает обратное, Google может отклонить предложение.

JavaScript и исходный HTML

Почему цена выглядит одинаковой, а Google всё равно находит ошибку

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

Но это ещё не означает, что такую же цену получил Google. Например, покупатель видит 149 €, а в исходном коде страницы первоначально находится 159 €. После загрузки страницы JavaScript меняет 159 € на 149 €.

Для посетителя всё выглядит нормально. Но система проверки Google может получить другое состояние страницы.

Поэтому особенно внимательно нужно проверять магазины, где с помощью JavaScript изменяются цена выбранного варианта, остаток, скидка, валюта, персональная цена или состояние товара.

Диагностика

Начинайте с одного конкретного товара

Не стоит сразу переделывать всю выгрузку или менять настройки Merchant Center. Сначала возьмите один отклонённый товар.

Что проверяем Пример
Артикул или ID предложения shoe-black-42
URL в Merchant Center конкретная карточка
Цена в Merchant Center 79 EUR
Наличие in_stock
Schema.org 79 EUR / InStock
Цена в корзине 79 EUR
Время появления ошибки точное время

Так абстрактная проблема «Google что-то не принимает» превращается в обычную сверку данных.

Особенно важно учитывать время обнаружения ошибки. Утром цена могла быть 159 €, днём её исправили до 149 €, а вечером владелец магазина уже видит правильное значение. Это не означает, что Google ошибся: во время предыдущего обхода расхождение действительно могло существовать.

Какие уровни нужно сравнить

1. Данные в Merchant CenterПроверяйте именно то значение, которое получил Google. Не цену в административной панели сайта и не исходный файл до выгрузки. Например: в системе управления магазином – 149 €, в Merchant Center – 159 €. Значит проблема появилась на этапе формирования или передачи товарных данных.
2. Карточка товараОткройте именно тот адрес, который указан для конкретного предложения в Merchant Center. Не страницу категории. Не родительскую модель. Не просто похожий товар.
3. Структурированные данные Schema.orgПокупатель может видеть 149 €, а в JSON-LD по-прежнему оставаться старая цена или другой статус товара. Поэтому проверяйте Product и Offer: price, priceCurrency, availability и itemCondition. Для Merchant Center эти данные должны соответствовать реальному предложению на странице.
4. Корзина и оформление заказаНужно убедиться, что товар действительно можно приобрести по заявленной цене. Карточка – 149 €, Merchant Center – 149 €, Schema.org – 149 €, а корзина – 159 € уже означает другое предложение.
Синхронизация по времени

Частая причина – сайт и Merchant Center обновляются в разное время

Представим магазин с 30 000 товаров.

В 09:00 система учёта меняет цену. В 09:02 сайт уже показывает новое значение. А товарная выгрузка формируется только один раз в сутки.

Получается: сайт – новая цена, Merchant Center – старая цена. До следующего обновления данные будут расходиться.

С остатками проблема может возникать ещё чаще. Товар закончился в 14:00, а Merchant Center узнает об этом только ночью. Для магазинов с быстро меняющимися ценами и остатками такой подход уже плохо подходит.

Особое внимание – акциям

Акционные цены являются одним из частых источников расхождений. В Merchant Center используются разные атрибуты:

priceОбычная цена товара.
sale_priceЦена со скидкой.
sale_price_effective_dateПериод действия скидки. Лучше передавать начало и окончание акции вместе со временем и часовым поясом, чтобы Merchant Center и сайт переключались одновременно.

Если акция на сайте началась в полночь по местному времени, а в товарных данных используется другой часовой пояс, некоторое время Google и магазин могут показывать разные значения. Для Merchant API отсутствие часового пояса трактуется как UTC; для файловых источников может использоваться часовой пояс целевой страны. Поэтому время и часовой пояс лучше указывать явно.

Получается, что ошибка находится не обязательно в самой цене. Иногда причина – во времени начала или окончания акции.

Несколько цен на одной странице – ещё один источник ошибок

Отдельно нужно проверять карточки, где одновременно отображаются:

Обычная ценаБазовая стоимость товара.
Цена со скидкойФактически действующая акционная стоимость.
Старая зачёркнутая ценаНе должна восприниматься как текущая.
Цена для зарегистрированных покупателейМожет действовать только при дополнительных условиях.
Цена выбранной модификацииДолжна соответствовать конкретному варианту.
Цена «от»Не должна подменять стоимость рекламируемого предложения.

Google должен однозначно понимать, какая стоимость относится к рекламируемому предложению. Если на странице одновременно присутствует несколько значений, структурированные данные и товарная выгрузка должны правильно указывать действующую цену.

Варианты товара проверяйте отдельно

Типичный пример: размер 42 – в наличии; размер 43 – закончился; Merchant Center передаёт размер 43; карточка автоматически открывается с размером 42.

Человек видит надпись «В наличии». Но Google проверяет другое предложение.

ID предложенияКонкретный вариант должен иметь собственное значение.
item_group_idСвязывает варианты одной модели.
Размер и цветДолжны совпадать с открытым состоянием страницы.
URLДолжен приводить к нужной модификации.
ЦенаПроверяется именно для данного варианта.
НаличиеНе должно подтягиваться от соседнего размера или цвета.

Нельзя ограничиваться проверкой общей карточки модели.

Наличие – это не только остаток на складе

Статус in_stock означает, что товар действительно можно заказать. Просто наличие положительного остатка в базе ещё не всегда достаточно.

in_stockТовар реально доступен для заказа.
preorderДоступен предварительный заказ.
backorderТовар можно заказать сейчас, но поставка будет позже.

Если товар временно отсутствует – это нужно правильно передать. Для preorder и backorder необходимо корректно работать и с датой появления товара.

Главный принцип: статус в Merchant Center должен соответствовать реальной возможности покупки.

Проверьте геолокацию и валюту

Ещё один классический источник проблем – сайт меняет содержимое по IP. Например: пользователь из Германии видит 149 EUR; пользователь из другой страны – 169 USD; Google получает третий вариант.

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

Не забудьте про кеш

Иногда все данные уже исправлены: система учёта показывает новую цену; Merchant Center получил новую цену; администратор сайта тоже видит её.

Но серверный кеш или сеть доставки содержимого продолжает отдавать старую версию страницы. В результате Google может получить устаревшее значение.

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

Автоматические обновления

Автоматическое обновление данных – страховка, а не ремонт

Merchant Center умеет автоматически уточнять часть сведений по данным посадочной страницы. Для этого Google использует структурированную разметку и другие данные, которые находит на сайте.

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

Для структурированных данных особенно важны price, priceCurrency, availability и itemCondition: именно эти свойства помогают Merchant Center сопоставлять цену, валюту, наличие и состояние товара с данными источника.

Плохая схемамагазин передаёт устаревшие данные → Google постоянно пытается их исправлять
Правильная схемамагазин и Merchant Center получают актуальные сведения из согласованного источника → автоматическая проверка исправляет только редкие исключения

Если расхождений много, нужно исправлять сам механизм синхронизации.

Актуально для 2026 года

Советы про Content API уже устарели

В старых руководствах по Merchant Center часто советовали использовать Content API for Shopping для частого обновления цен и остатков.

В 2026 году это уже устаревшая рекомендация. Google завершил работу Content API for Shopping 18 августа 2026 года.

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

Способ реализации зависит от CMS, системы учёта, количества товаров, частоты изменений и текущей архитектуры магазина.

Если отклонены сотни товаров

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

Товарная выгрузкаНеправильно формируется товарная выгрузка.
Формат ценыCMS изменила формат цены.
JSON-LDУстарел шаблон структурированных данных.
АкцияАкция включилась на сайте, но не передалась в Merchant Center.
СинхронизацияПерестала работать передача остатков.
КешСеть доставки или сервер отдают старые карточки.
Региональные настройкиИзменились правила отображения цены по регионам.
JavaScriptЦена стала формироваться только после загрузки страницы.

В такой ситуации бессмысленно исправлять товары по одному. Нужно искать общий уровень, на котором произошло расхождение.

Практическая таблица диагностики

Возьмите несколько проблемных товарных позиций и сведите данные в одну таблицу.

Источник Цена Наличие Вариант
Система учёта / CMS 149 € есть black / M
Merchant Center 149 € in_stock black / M
Исходный HTML 159 € InStock black / M
Schema.org 159 € InStock black / M
Корзина 149 € доступен black / M

В этом примере проблема становится очевидной. Merchant Center исправлять не нужно. Ошибка находится в исходном HTML и структурированных данных страницы.

Такой подход намного надёжнее, чем менять плагины, повторно загружать одну и ту же выгрузку, вручную редактировать товары или постоянно отправлять запросы на повторную проверку.

Когда проблема действительно исправлена

Не тогда, когда в Merchant Center исчезло красное предупреждение. Сначала нужно восстановить согласованность:

один товар → один вариант → одна цена → одно наличие → одинаковые сведения во всех источниках

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

Чего делать не стоит

Не скрывайте проблему подменой наличияЕсли товар есть в наличии, но его временно не хочется показывать, не передавайте out_of_stock только ради остановки показов. Для краткой паузы используйте pause; для исключения отдельных мест размещения – excluded_destination. Наличие должно отражать фактическую возможность покупки.
Не правьте вручную то, что сломается сноваРучное исправление цены в Merchant Center бессмысленно, если через несколько часов автоматическая выгрузка снова передаст старое значение.

Исправлять нужно не симптом, а источник расхождения.

Порядок проверки

Короткий алгоритм

1Выберите конкретный отклонённый товар.
2Зафиксируйте время появления ошибки.
3Сравните данные Merchant Center с конкретной карточкой товара.
4Проверьте исходный HTML страницы.
5Проверьте Product и Offer в Schema.org.
6Убедитесь, что открывается нужный вариант товара.
7Добавьте товар в корзину и проверьте итоговую цену.
8Проверьте скидки, валюту, региональные настройки и кеш.
9Если ошибка массовая, ищите общий источник расхождения.
10Настройте передачу данных так, чтобы сайт и Merchant Center использовали актуальные сведения из одного источника.
Правильная архитектура

Одинаковые данные должны приходить во все системы из одного источника

Проблема повторяется, когда цена отдельно существует в системе учёта, отдельно – в CMS, отдельно – в HTML, отдельно – в Schema.org, отдельно – в Merchant Center, а акция или региональные настройки меняют её ещё раз.

Надёжнее строить передачу данных так, чтобы сайт, Merchant Center, структурированные данные и оформление заказа получали согласованное значение.

Тогда автоматическая проверка Google перестаёт быть постоянным «ремонтом» магазина.

Главная мысль

Не добивайтесь зелёного статуса одного товара – устраняйте источник расхождения

Несоответствие цены или наличия редко означает, что проблема находится только в товарной выгрузке.

Чаще оно показывает, что интернет-магазин хранит несколько версий одних и тех же сведений. Цена отдельно существует в системе учёта, CMS, HTML, Schema.org, Merchant Center и корзине, а акция или региональные настройки могут изменить её ещё раз.

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

При массовых ошибках проверяйте общие механизмы магазина

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

Техническая проверка сайта
Для поиска общей причины в шаблонах, данных и работе сайта.
SEO-аудит сайта
SEO интернет-магазина
Если проблема затрагивает каталог, индексацию и коммерческие данные целиком.
Перейти к услуге

Полезно по теме

Если ошибка повторяется

Не проверяйте сотни товаров вручную – найдите одно место, где данные расходятся

Если Merchant Center отклоняет десятки или сотни позиций, проблема обычно находится выше отдельной карточки. Нужно сопоставить товарную базу, выгрузку, HTML, Schema.org, варианты, корзину и время обновления – и найти общий источник расхождения.

Результат нормальной диагностики – не список из сотен ошибок, а конкретный ответ: где данные расходятся, почему это происходит и что исправить первым.

Что ищем
Сайт: 149 €
→
HTML: 159 €
Есть точка расхождения → появляется ошибка
↓
Один источник
→
149 € везде
Сайт, Schema.org, Merchant Center и корзина согласованы
Цель – не «погасить» предупреждение, а убрать причину, из-за которой оно появляется снова.