Você adicionou sale_price ao feed, o produto está aprovado e, mesmo assim, o comprador vê um único preço simples, sem preço riscado e sem selo de promoção. A própria documentação do Google explica por que isso acontece com mais frequência do que as equipes de feed esperam: a anotação de preço promocional exige um desconto maior que 5% e menor que 90%, um preço base cobrado por tempo suficiente (na maioria dos países com anúncios do Shopping, 30 dias dentro dos últimos 200) e uma página de destino que mostre os dois preços. Se uma condição falhar, o produto continua ativo, mas sem a anotação. Este guia é para gestores de feed e equipes de mídia paga que fazem promoções no Google Shopping. Ao final, você será capaz de percorrer oito verificações em ordem, descobrir qual delas está falhando e corrigir o problema no feed, e não na loja.
O que “não aparece” realmente significa
Existem três falhas diferentes que costumam ser relatadas como “o preço promocional não está aparecendo”, e cada uma exige uma correção diferente.
- O produto está reprovado. O Merchant Center avisa você. O preço promocional violou um requisito de dados, por exemplo, não era menor que
priceou não correspondia à página de destino. - O produto está aprovado, mas o comprador vê o preço promocional sem preço riscado nem selo. Os dados são válidos, mas as regras de elegibilidade da anotação não são atendidas.
- O produto mostra o preço antigo. A promoção nunca chegou ao Google, expirou ou nunca foi agendada corretamente.
O Google afirma claramente que as anotações de preço promocional nem sempre têm exibição garantida, mesmo quando você é elegível. Por isso, o objetivo deste guia é eliminar todas as causas que você controla e ser honesto sobre a incerteza que permanece.
O diagnóstico em oito verificações
Execute-as em ordem. As quatro primeiras são verificações de dados que você pode fazer só com o feed. As quatro últimas exigem histórico de preços, a página de destino ou configurações da conta.
| # | Verificação | Condição para passar | Fonte |
|---|---|---|---|
| 1 | O preço promocional é menor que o preço | sale_price < price, e price contém o preço regular integral | Google: sale_price |
| 2 | O desconto está dentro da faixa | Maior que 5% e menor que 90% | Google: anotações de preço promocional |
| 3 | As datas são válidas e estão no futuro ou no período atual | Intervalo ISO 8601, início antes do fim, datas reais do calendário | Google: sale_price_effective_date |
| 4 | Os atributos de promoção são enviados juntos | sale_price e sale_price_effective_date nos feeds de atualização de inventário | Google: enviar os dois atributos de promoção |
| 5 | O histórico do preço base é longo o bastante | Depende do país e da superfície; veja a tabela abaixo | Google: anotações de preço promocional |
| 6 | A página de destino mostra os dois preços | Preço original e preço promocional visíveis, correspondendo ao feed e ao checkout | Google: anotações de preço promocional |
| 7 | O desconto não é uma promoção por código nem um preço de fidelidade | Códigos promocionais, preços para membros e de fidelidade ficam fora de sale_price | Google: sale_price |
| 8 | O Google leu o feed novamente | Busca (fetch) ou atualização via API ocorreu depois da alteração | O status do feed no seu Merchant Center |
Verificação 1: price e sale_price estão na ordem certa
A regra do Google é simples: sale_price deve ser menor que price, e essa diferença precisa estar visível nos dados do produto. Uma falha típica é uma plataforma de loja que exporta o valor já com desconto em price e deixa sale_price vazio ou idêntico. O Google orienta os lojistas a enviar o preço integral, sem promoção, em price e a colocar o preço promocional em price somente se você não usar sale_price de forma alguma.
Um par correto fica assim:
price: 1000.00 TRYsale_price: 799.00 TRY
Arredonde para duas casas decimais no feed, porque o Google arredonda dígitos extras por conta própria e o resultado pode divergir da página.
Verificação 2: o percentual de desconto
Calcule o percentual em cada linha com promoção antes de publicar: (price - sale_price) / price. O Google exige que ele seja maior que 5% e menor que 90%. No exemplo acima, é 20,1%, o que passa. Uma redução de 3% nunca terá anotação, nem uma linha com 92%, que geralmente é um erro de dados de qualquer maneira.
Verificação 3: formato de sale_price_effective_date
O atributo é um intervalo de datas em ISO 8601, com início e fim separados por uma barra. O padrão documentado pelo Google é YYYY-MM-DDThh:mm[±hhmm] ou YYYY-MM-DDThh:mmZ, com limite de 51 caracteres. Uma janela de Black Friday para uma loja em Istambul fica assim:
sale_price_effective_date: 2026-11-20T00:00+0300/2026-11-30T23:59+0300
Dois padrões importam. Se você omitir o horário, a promoção começa à meia-noite da data de início e termina às 23h59 da data de término. Se você omitir o fuso horário, o Google usa UTC. Uma loja turca que escreve 2026-11-20T00:00 sem deslocamento inicia a promoção três horas atrasada para os compradores na Turquia, e uma loja MENA em Dubai (UTC+4) perde quatro horas. Escreva sempre o deslocamento.
Valide as datas também: a própria página de ajuda do Google contém um exemplo com 29 de fevereiro em um ano não bissexto, então teste os exemplos antes de copiá-los.
Verificação 4: envie os dois atributos de promoção
Para feeds de atualização de inventário online, o Google diz que sale_price e sale_price_effective_date devem ser enviados juntos ou não ser enviados, e que enviar apenas o preço significa que o item não foi carregado. Para feeds de dados de produtos comuns, a data é opcional, mas nós a enviamos em toda promoção agendada para que o fim fique explícito.
Verificação 5: histórico do preço base
Esta verificação passa despercebida com facilidade e pode deixar uma linha de promoção válida sem anotação. O Google exige que o preço base tenha sido cobrado por um tempo mínimo. Os números abaixo são os que constam na página do Google no momento da redação.
| Superfície e país | O preço base deve ter sido válido por |
|---|---|
| Anúncios do Shopping, EUA | 5 dias dentro dos últimos 30, ou 15 dias dentro dos últimos 200, o que ocorrer primeiro |
| Anúncios do Shopping, Reino Unido, Alemanha, França, Itália, Espanha, Países Baixos, Brasil, Índia, Japão, Coreia, Austrália, Canadá | 30 dias dentro dos últimos 200 |
| Listagens gratuitas, Brasil, França, Alemanha, Índia, Itália, Coreia, Países Baixos, Espanha, Reino Unido | 30 dias dentro dos últimos 200 |
| Listagens gratuitas, EUA, Canadá, Austrália, Japão | Nenhum requisito listado |
| Anúncios de inventário local | 60 dias dentro dos últimos 200, ou 60 dias consecutivos para produtos ativos há menos de 200 dias |
A Turquia não aparece nessas listas. Não é possível saber, pela página, o que se aplica a uma conta turca; por isso, verifique o status dos seus próprios produtos no Merchant Center, em vez de presumir que os 30 dias se aplicam ou não.
A consequência prática está na sequência das ações. Um produto novo lançado a 1.000 TRY em 1º de novembro não pode ter anotação de promoção em um país de 30 em 200 no dia 10 de novembro. Um produto cujo preço foi aumentado por uma semana pouco antes de uma campanha pode falhar no mesmo teste, porque o preço base não foi cobrado por tempo suficiente. Se o seu calendário de promoções depende das anotações, proteja o preço base nas semanas anteriores.
Verificação 6: a página de destino
O Google exige que o preço original e o preço promocional sejam exibidos na página de destino, e o valor de sale_price deve corresponder ao preço mostrado na página e no checkout. Se a página do produto mostra apenas o valor com desconto e o preço riscado é adicionado depois por um script que não é executado para o Googlebot, o feed e a página divergem. Verifique o HTML renderizado para os dois preços. Nosso guia anterior sobre como impedir que o Google sobrescreva os dados de preço do seu feed aborda o que acontece quando a página e o feed divergem.
Verificação 7: o que não pertence a sale_price
O Google exclui três coisas. Descontos por código promocional pertencem às configurações de desconto da loja, não a sale_price. Preços de fidelidade e de membros vão em loyalty_program. E preços promocionais enviados como promoções do Merchant Center não contam como preços promocionais para fins de anotação. Se a sua campanha é “10% extra no carrinho”, ela é uma promoção, e o preço do feed permanece como está.
Verificação 8: o Google leu a alteração?
Uma busca agendada pode deixar uma lacuna. A própria página de integração do Feedance com o Google Merchant Center observa que o Merchant Center pode reler um feed hospedado a cada hora, diariamente, semanalmente ou mensalmente, e que catálogos com mudanças rápidas de preço podem precisar de envios via API. Após qualquer alteração de promoção, abra o produto no Merchant Center, confirme que o preço exibido é o novo e só então avalie se a anotação está faltando.
Um exemplo prático com histórico de preços
Esta é uma linha hipotética, não dados de cliente. Uma jaqueta está listada a 1.000,00 TRY. Em 10 de novembro, o preço cai para 800,00 TRY por uma semana, volta a 1.000,00 TRY em 17 de novembro e depois é oferecida a 700,00 TRY na Black Friday, em 27 de novembro.
price: 1000.00 TRYsale_price: 700.00 TRYsale_price_effective_date: 2026-11-27T00:00+0300/2026-11-30T23:59+0300
O feed passa nas verificações 1 a 4: o desconto é de 30%, as datas são válidas e o deslocamento de fuso está presente. Quanto ao teste de preço base do Google, o produto foi cobrado a 1.000 TRY na maior parte do período analisado, então é provável que passe na verificação 5 em um país de 30 em 200. A regra turca é um teste diferente, e é ela que pega esta linha. Desde que a alteração publicada no Resmi Gazete de 18 de fevereiro de 2022 (edição 31754) entrou em vigor em 1º de março de 2022, o preço anterior ao desconto, em uma venda com desconto, é o menor preço cobrado nos 30 dias anteriores ao desconto, segundo o resumo da KPMG sobre a alteração. Aqui, o menor preço nos 30 dias anteriores é 800 TRY, então o desconto honesto em relação a essa referência é de 12,5%, não 30%. O ônus de provar os fatos do desconto cabe ao vendedor. Um feed que risca 1.000 TRY na página de destino enquanto a semana de 800 TRY consta do histórico de preços é um problema regulatório, mesmo que o Google exiba a anotação.
Para qualquer mercado, o artefato que ajuda nos dois testes é um registro diário do preço efetivamente cobrado por SKU.
Checklist pré-lançamento para um feed de promoção
- Exporte
price,sale_priceesale_price_effective_datede cada SKU em promoção. - Calcule o percentual de desconto e sinalize tudo que esteja em 5% ou abaixo, ou em 90% ou acima.
- Sinalize as linhas sem deslocamento de fuso horário.
- Cruze com o seu histórico de preços e sinalize os SKUs cujo preço base mudou nos últimos 30 dias.
- Renderize dez páginas de produto de amostra e confirme que os dois preços estão visíveis sem interação do usuário.
- Confirme que nenhum código promocional ou preço de fidelidade foi gravado em
sale_price.
Medindo se a anotação ajudou
Não presuma que o preço riscado melhora os resultados. Compare grupos de produtos equivalentes nas mesmas datas, usando a abordagem do nosso guia sobre como medir o impacto de uma alteração de feed no ROAS. Se a formatação de TRY, AED ou SAR estiver inconsistente, corrija isso primeiro; veja nosso guia sobre erros de impostos, moeda e casas decimais.
Onde este guia tem limites
Trabalhamos com as páginas de ajuda do Google como estavam quando as consultamos, e o Google altera esses requisitos. Não conseguimos confirmar o que se aplica a contas turcas, porque a Turquia está ausente das listas de países na página de anotações. Não temos visibilidade da sua conta do Merchant Center, então a elegibilidade pode diferir do que as regras sugerem, e o próprio Google diz que as anotações não são garantidas. Também não cobrimos Meta nem outros canais, cujos campos de preço promocional seguem regras próprias. A seção sobre a regulamentação turca se baseia em um resumo secundário, não no texto do Resmi Gazete, e não constitui aconselhamento jurídico; confirme com um advogado. A Channable publica a sua própria explicação sobre anotações de preço promocional, que vale a leitura junto com este guia.
Perguntas frequentes
Por que meu sale_price está aprovado, mas não há preço riscado?
A aprovação só verifica a validade dos dados. A anotação tem condições adicionais: desconto acima de 5% e abaixo de 90%, preço base válido por tempo suficiente para o seu país e os dois preços visíveis na página de destino. Comece pelas verificações 2, 5 e 6.
Preciso de sale_price_effective_date?
Para feeds de dados de produtos comuns, é opcional. Em feeds de atualização de inventário online, o Google diz que os dois atributos de promoção devem ser enviados juntos. Recomendamos enviá-lo em toda promoção agendada para que o fim da promoção fique explícito.
Posso colocar o desconto de um código promocional em sale_price?
Não. O Google pede que você gerencie descontos por código promocional nas configurações de desconto da loja. Preços de fidelidade e de membros vão no atributo loyalty_program.
Uma promoção do Merchant Center cria uma anotação de preço promocional?
Não. O Google afirma que preços promocionais enviados como promoções não contam. Use o atributo sale_price para as anotações de promoção e as promoções para ofertas como descontos no carrinho.
Por quanto tempo o preço original precisa ter ficado ativo?
Na maioria dos países com anúncios do Shopping, o Google indica 30 dias dentro dos últimos 200. Nos EUA, para anúncios do Shopping, são 5 dias dentro dos últimos 30 ou 15 dias dentro dos últimos 200. Os anúncios de inventário local exigem 60 dias.
Por que o desconto que exibo é diferente do previsto na lei turca?
O Google testa o preço base que você cobrou. As regras turcas, conforme resumidas pela KPMG, definem como referência o menor preço dos 30 dias anteriores ao desconto. Uma redução temporária pode diminuir o preço de referência com o qual você pode anunciar legalmente.
Verifique o seu próprio feed
Se você quer uma segunda opinião sobre os atributos de preço do seu feed, passe-o pela ferramenta gratuita de auditoria de feed de produtos do Feedance.

Kardelen Yılmaz atua na área de growth da Feedance, onde ajuda marcas de e-commerce e agências a obter mais retorno de cada produto que anunciam. Ela escreve sobre qualidade do feed de produtos, campanhas de Shopping e Performance Max, automação de criativos e como as compras impulsionadas por IA estão mudando a visibilidade dos produtos.
LinkedIn












