Вы добавили sale_price в фид, товар одобрен, но покупатель по-прежнему видит одну обычную цену — без зачёркивания и без значка скидки. Документация Google объясняет, почему так случается чаще, чем ожидают команды, ведущие фиды: для аннотации цены со скидкой нужна скидка больше 5% и меньше 90%, базовая цена, которая действовала достаточно долго (в большинстве стран, где работает реклама Shopping, — 30 дней за последние 200), и посадочная страница, на которой видны обе цены. Если не выполнено хотя бы одно условие, товар остаётся активным, но без аннотации. Это руководство предназначено для фид-менеджеров и команд paid media, которые проводят распродажи в Google Shopping. В итоге вы сможете по порядку пройти восемь проверок, найти ту, которая не срабатывает, и исправить проблему в фиде, а не в магазине.
Что на самом деле значит «не отображается»
Под фразой «цена со скидкой не отображается» скрываются три разные проблемы, и исправляются они по-разному.
- Товар отклонён. Merchant Center присылает уведомление. Цена со скидкой нарушила требование к данным: например, она не была ниже
priceили не совпала с ценой на посадочной странице. - Товар одобрен, но покупатель видит цену со скидкой без зачёркивания и значка. Данные корректны, но не выполнены правила допуска к аннотации.
- Товар показывается со старой ценой. Скидка не дошла до Google, либо уже закончилась, либо была неправильно запланирована.
Google прямо заявляет, что аннотации цены со скидкой показываются не всегда, даже если вы соответствуете условиям. Поэтому цель этого руководства — устранить все причины, которые вы можете контролировать, и честно признать оставшуюся неопределённость.
Диагностика из восьми проверок
Выполняйте их по порядку. Первые четыре — проверки данных, их можно провести только по фиду. Для последних четырёх нужны история цен, посадочная страница или настройки аккаунта.
| № | Проверка | Условие прохождения | Источник |
|---|---|---|---|
| 1 | Цена со скидкой ниже обычной цены | sale_price < price, а в price указана полная обычная цена | Google: sale_price |
| 2 | Скидка укладывается в допустимый диапазон | Больше 5% и меньше 90% | Google: аннотации цены со скидкой |
| 3 | Даты корректны и относятся к будущему или текущему периоду | Диапазон по ISO 8601, начало раньше конца, реальные календарные даты | Google: sale_price_effective_date |
| 4 | Атрибуты скидки передаются вместе | И sale_price, и sale_price_effective_date в фидах обновления остатков | Google: передавайте оба атрибута скидки |
| 5 | История базовой цены достаточно длинная | Зависит от страны и поверхности, см. таблицу ниже | Google: аннотации цены со скидкой |
| 6 | На посадочной странице видны обе цены | Видны исходная цена и цена со скидкой, они совпадают с фидом и корзиной | Google: аннотации цены со скидкой |
| 7 | Скидка — не промокод и не цена по программе лояльности | Промокоды, цены для участников клуба и программ лояльности не попадают в sale_price | Google: sale_price |
| 8 | Google перечитал фид | Загрузка фида или обновление через API произошли после изменения | Статус фида в вашем Merchant Center |
Проверка 1: price и sale_price расположены в правильном порядке
Правило Google простое: sale_price должна быть ниже price, и эта разница должна быть видна в данных о товаре. Типичная ошибка — платформа магазина выгружает в price уже сниженную цену, а sale_price оставляет пустой или идентичной. Google требует передавать в price полную цену без скидки, а цену со скидкой указывать в price только в том случае, если вы вообще не используете sale_price.
Правильная пара выглядит так:
price: 1000.00 TRYsale_price: 799.00 TRY
Округляйте до двух знаков после запятой, потому что Google сам округляет лишние знаки, и результат может разойтись с ценой на странице.
Проверка 2: процент скидки
Перед публикацией рассчитайте процент для каждой строки со скидкой: (price - sale_price) / price. Google требует, чтобы он был больше 5% и меньше 90%. В примере выше скидка составляет 20,1% — это проходит. Скидка 3% никогда не получит аннотацию, как и строка со скидкой 92%, которая, как правило, является ошибкой в данных.
Проверка 3: формат sale_price_effective_date
Атрибут представляет собой диапазон дат в формате ISO 8601 с началом и концом, разделёнными косой чертой. Шаблон из документации Google: YYYY-MM-DDThh:mm[±hhmm] или YYYY-MM-DDThh:mmZ, максимальная длина — 51 символ. Окно Black Friday для магазина в Стамбуле выглядит так:
sale_price_effective_date: 2026-11-20T00:00+0300/2026-11-30T23:59+0300
Важны два значения по умолчанию. Если не указать время, скидка начнётся в полночь даты начала и закончится в 23:59 даты окончания. Если не указать часовой пояс, Google использует UTC. Турецкий магазин, который записывает 2026-11-20T00:00 без смещения, запускает скидку для покупателей в Турции на три часа позже, а магазин в Дубае (UTC+4) на рынке MENA теряет четыре часа. Всегда указывайте смещение.
Проверяйте и сами даты: на справочной странице Google есть пример с 29 февраля в невисокосном году, поэтому тестируйте примеры, прежде чем копировать их.
Проверка 4: передавайте оба атрибута скидки
Для фидов обновления онлайн-остатков Google указывает, что sale_price и sale_price_effective_date нужно передавать вместе или не передавать вовсе, а отправка только цены означает, что товар не загружен. В обычных фидах с данными о товарах дата необязательна, но мы передаём её для каждой запланированной скидки, чтобы окончание было задано явно.
Проверка 5: история базовой цены
Эту проверку легко упустить, а из-за неё корректная строка со скидкой может остаться без аннотации. Google требует, чтобы базовая цена действовала в течение минимального срока. Цифры ниже соответствуют странице Google на момент написания.
| Поверхность и страна | Базовая цена должна действовать |
|---|---|
| Shopping ads, США | 5 дней за последние 30 или 15 дней за последние 200 — в зависимости от того, что выполнится раньше |
| Shopping ads, Великобритания, Германия, Франция, Италия, Испания, Нидерланды, Бразилия, Индия, Япония, Корея, Австралия, Канада | 30 дней за последние 200 |
| Бесплатные листинги, Бразилия, Франция, Германия, Индия, Италия, Корея, Нидерланды, Испания, Великобритания | 30 дней за последние 200 |
| Бесплатные листинги, США, Канада, Австралия, Япония | Требование не указано |
| Local inventory ads | 60 дней за последние 200 или 60 дней подряд для товаров, активных менее 200 дней |
Турции в этих списках нет. По странице невозможно понять, что применяется к турецкому аккаунту, поэтому проверяйте статус собственных товаров в Merchant Center, а не предполагайте, что правило о 30 днях действует или не действует.
Практический вывод касается последовательности действий. Новый товар, запущенный по цене 1000 TRY 1 ноября, не сможет получить аннотацию скидки 10 ноября в стране с правилом «30 из 200». Товар, цену на который повысили на неделю прямо перед кампанией, может не пройти тот же тест, потому что базовая цена действовала недостаточно долго. Если ваш календарь распродаж зависит от аннотаций, берегите базовую цену в течение нескольких недель до них.
Проверка 6: посадочная страница
Google требует, чтобы на посадочной странице были показаны исходная цена и цена со скидкой, а значение sale_price совпадало с ценой на странице и в корзине. Если на странице товара видна только сниженная цена, а зачёркивание добавляется позже скриптом, который не выполняется для Googlebot, фид и страница расходятся. Проверьте отрендеренный HTML на наличие обеих цен. Наше прошлое руководство о том, как не дать Google переопределять данные о ценах в вашем фиде, описывает, что происходит, когда страница и фид расходятся.
Проверка 7: что не должно попадать в sale_price
Google исключает три вещи. Скидки по промокодам относятся к настройкам скидок в магазине, а не к sale_price. Цены для участников программ лояльности и клубов указываются в loyalty_program. А цены со скидкой, переданные как промоакции Merchant Center, не считаются ценами со скидкой для целей аннотации. Если ваша кампания — «дополнительные 10% в корзине», это промоакция, а цена в фиде остаётся прежней.
Проверка 8: прочитал ли Google изменение?
Загрузка фида по расписанию может создать задержку. На странице интеграции Feedance с Google Merchant Center отмечено, что Merchant Center может перечитывать размещённый фид раз в час, день, неделю или месяц, а для каталогов с быстро меняющимися ценами могут понадобиться отправки через API. После любого изменения скидки откройте товар в Merchant Center, убедитесь, что отображается новая цена, и только после этого делайте вывод об отсутствии аннотации.
Разбор примера с историей цен
Это гипотетическая строка, а не данные клиента. Куртка продаётся по 1000,00 TRY. 10 ноября цену снижают до 800,00 TRY на неделю, 17 ноября возвращают 1000,00 TRY, а затем 27 ноября предлагают за 700,00 TRY на Black Friday.
price: 1000.00 TRYsale_price: 700.00 TRYsale_price_effective_date: 2026-11-27T00:00+0300/2026-11-30T23:59+0300
Фид проходит проверки с 1 по 4: скидка составляет 30%, даты корректны, смещение указано. По тесту Google на базовую цену товар продавался по 1000 TRY большую часть периода, поэтому в стране с правилом «30 из 200» он, скорее всего, пройдёт проверку 5. Турецкое правило — это другой тест, и именно он «ловит» эту строку. С 1 марта 2022 года, когда вступила в силу поправка, опубликованная в Resmi Gazete от 18 февраля 2022 года (выпуск 31754), цена до скидки при распродаже — это самая низкая цена, действовавшая в течение 30 дней до скидки, согласно обзору поправки от KPMG. Здесь самая низкая цена за предыдущие 30 дней — 800 TRY, поэтому реальная скидка относительно этой точки отсчёта составляет 12,5%, а не 30%. Бремя доказывания фактов, связанных со скидкой, лежит на продавце. Фид, в котором на посадочной странице зачёркнуто 1000 TRY, при том что в истории цен есть неделя с 800 TRY, создаёт регуляторную проблему, даже если Google показывает аннотацию.
Для любого рынка помогает один артефакт: ежедневная запись цены, по которой вы реально продавали каждый SKU.
Чек-лист перед запуском фида с распродажей
- Выгрузите
price,sale_priceиsale_price_effective_dateдля каждого SKU, участвующего в распродаже. - Рассчитайте процент скидки и отметьте всё, что равно 5% или меньше, а также 90% или больше.
- Отметьте строки без смещения часового пояса.
- Присоедините историю цен и отметьте SKU, у которых базовая цена менялась за последние 30 дней.
- Отрендерьте десять образцов страниц товаров и убедитесь, что обе цены видны без действий пользователя.
- Убедитесь, что в
sale_priceне записаны ни цена по промокоду, ни цена по программе лояльности.
Как измерить, помогла ли аннотация
Не считайте, что зачёркнутая цена автоматически улучшает результаты. Сравнивайте сопоставимые группы товаров за одни и те же даты, используя подход из нашего руководства по измерению влияния изменения фида на ROAS. Если форматирование TRY, AED или SAR непоследовательно, сначала исправьте его; см. наше руководство по ошибкам с НДС, валютой и десятичными знаками.
Ограничения этого руководства
Мы опирались на справочные страницы Google в том виде, в каком они выглядели на момент проверки, а Google меняет эти требования. Мы не смогли подтвердить, что применяется к турецким аккаунтам, потому что Турции нет в списках стран на странице об аннотациях. Мы не видим ваш аккаунт Merchant Center, поэтому допуск к аннотации может отличаться от того, что следует из правил, и сам Google говорит, что аннотации не гарантируются. Мы также не рассматривали Meta и другие каналы, у которых поля цены со скидкой подчиняются отдельным правилам. Раздел о турецком регулировании основан на вторичном обзоре, а не на тексте Resmi Gazete, и не является юридической консультацией; уточните у юриста. У Channable есть собственный разбор аннотаций цены со скидкой, который стоит прочитать вместе с этим материалом.
Часто задаваемые вопросы
Почему sale_price одобрена, но зачёркивания нет?
Одобрение проверяет только корректность данных. У аннотации есть дополнительные условия: скидка больше 5% и меньше 90%, базовая цена, действовавшая достаточно долго для вашей страны, и обе цены, видимые на посадочной странице. Сначала пройдите проверки 2, 5 и 6.
Нужен ли sale_price_effective_date?
В обычных фидах с данными о товарах он необязателен. В фидах обновления онлайн-остатков Google требует передавать оба атрибута скидки вместе. Мы рекомендуем отправлять его для каждой запланированной скидки, чтобы окончание распродажи было задано явно.
Можно ли записать в sale_price скидку по промокоду?
Нет. Google просит управлять скидками по промокодам в настройках скидок магазина. Цены для участников программ лояльности и клубов указываются в атрибуте loyalty_program.
Создаёт ли промоакция Merchant Center аннотацию скидки?
Нет. Google указывает, что цены со скидкой, переданные как промоакции, не учитываются. Используйте атрибут sale_price для аннотаций скидки, а промоакции — для предложений вроде скидок в корзине.
Как долго должна действовать исходная цена?
В большинстве стран для Shopping ads Google указывает 30 дней за последние 200. В США для Shopping ads это 5 дней за последние 30 или 15 дней за последние 200. Для Local inventory ads нужно 60 дней.
Почему показываемая мной скидка отличается от скидки по турецкому законодательству?
Google проверяет базовую цену, по которой вы продавали товар. Турецкие правила, как их резюмирует KPMG, устанавливают точкой отсчёта самую низкую цену за 30 дней до скидки. Временное снижение цены может уменьшить референсную цену, относительно которой вы вправе рекламировать скидку.
Проверьте собственный фид
Если вам нужен свежий взгляд на атрибуты цены в вашем фиде, проверьте его в бесплатном инструменте Feedance для аудита товарного фида.

Карделен Йылмаз отвечает за рост в Feedance и помогает брендам электронной коммерции и агентствам получать больше отдачи от каждого рекламируемого товара. Она пишет о качестве товарных фидов, кампаниях Shopping и Performance Max, автоматизации креативов и о том, как покупки с помощью ИИ меняют видимость товаров.
LinkedIn












