O campo "shippingDetails" não foi encontrado (em "offers"): opcional, e como colocar
A documentação do Google marca shippingDetails como recomendado, não obrigatório. Ele costuma aparecer junto com o aviso do campo "hasMerchantReturnPolicy", porque os dois vêm da mesma falha: marcação de produto sem frete nem devolução.
Escolha de onde o Google pega o frete
O Google lê o frete de vários lugares. Quando eles discordam, vale esta ordem, do mais forte para o mais fraco: feeds de produto no Merchant Center, a Content API for Shopping, as configurações do Merchant Center ou do Search Console, a marcação do produto e, por último, a marcação Organization.
- Search Console, sem código: abra Configurações > Shopping > Entregas e devoluções. Na guia Frete, clique em Adicionar política de frete. Escolha o país, os dias mínimo e máximo de entrega e o custo. O Google aprova o frete sozinho. É preciso ser proprietário ou usuário pleno da propriedade.
- Marcação Organization, uma vez para a loja toda: um
ShippingServicedentro deOrganization, comhasShippingService. O Google recomenda esse caminho para uma política padrão. - Marcação da oferta, em cada produto:
shippingDetailsdentro deoffers. Use para produtos com frete diferente, ou para tirar este aviso.
O Google não diz se uma política no Search Console ou na Organization tira este aviso. Lojistas no fórum da Shopify contam que ele pode continuar. Se você quer o aviso fora, coloque shippingDetails na oferta.
A correção no JSON-LD
Coloque um OfferShippingDetails na oferta. O Google exige três partes dentro dele: shippingRate, shippingDestination e deliveryTime. No exemplo, o frete custa R$ 24,90 para o Brasil, com 1 dia para separar o pedido e de 2 a 5 dias de transporte:
<script type="application/ld+json">
{
"@context": "https://schema.org",
"@type": "Product",
"name": "Bolsa de Viagem de Lona",
"image": "https://exemplo.com.br/fotos/bolsa-de-viagem.jpg",
"offers": {
"@type": "Offer",
"price": 389.9,
"priceCurrency": "BRL",
"availability": "https://schema.org/InStock",
"shippingDetails": {
"@type": "OfferShippingDetails",
"shippingRate": { "@type": "MonetaryAmount", "value": 24.9, "currency": "BRL" },
"shippingDestination": { "@type": "DefinedRegion", "addressCountry": "BR" },
"deliveryTime": {
"@type": "ShippingDeliveryTime",
"handlingTime": { "@type": "QuantitativeValue", "minValue": 0, "maxValue": 1, "unitCode": "DAY" },
"transitTime": { "@type": "QuantitativeValue", "minValue": 2, "maxValue": 5, "unitCode": "DAY" }
}
}
}
}
</script>shippingRate.currencyprecisa ser igual aopriceCurrencyda oferta.- Para frete grátis, use
0emshippingRate.value. handlingTimevai do pedido ao despacho.transitTimevai do despacho à porta. Cada um precisa deminValue,maxValueeunitCodeDAY.- Um valor de frete por
OfferShippingDetails. Para normal e expresso, coloque duas entradasshippingDetails. addressCountryé um código de duas letras, comoBRouPT.
Já descreveu a política de frete uma vez, com a marcação Organization, em outra página? A oferta pode apontar para ela pelo @id, sem repetir tudo:
{
"@type": "Offer",
"price": 389.9,
"priceCurrency": "BRL",
"shippingDetails": {
"@type": "OfferShippingDetails",
"hasShippingService": { "@id": "https://exemplo.com.br/frete#politica" }
}
}Onde a correção entra
- Shopify: o tema Dawn imprime a marcação de produto com
{{ product | structured_data }}perto do fim desections/main-product.liquid. O Horizon faz isso no começo desections/product-information.liquid. Esse filtro escreve produto, marca e ofertas, sem frete. O Liquid não lê suas zonas de frete, então os valores entram à mão: troque essa linha por um bloco JSON-LD seu, ou use um app de dados estruturados. O caminho sem código é a configuração Entregas e devoluções do Search Console. - WooCommerce: a marcação de produto do próprio WooCommerce não tem frete. O Rank Math documenta um filtro de código,
rank_math/snippet/rich_snippet_product_entity, que colocashippingDetailsem cada oferta pelo arquivorank-math.phpdo tema. - Wix: vá em SEO & GEO > Tools and settings > SEO Settings > Products e clique em Edit ao lado de Structured data markup. Clique em Convert to custom markup no modelo Product e coloque
shippingDetailsna oferta. O Wix aceita 5 marcações por tipo de página, contando o modelo. - Squarespace: o Squarespace escreve a marcação Product sozinho, e a ajuda dele diz que não dá para editar nem tirar. Use a configuração Entregas e devoluções do Search Console.
- BigCommerce: no tema Cornerstone, a marcação de produto fica em
templates/components/products/schema.html. O blocooffersnão tem frete. ColoqueshippingDetailsali e suba o tema.
Confirme que funcionou
- Passe o endereço de um produto pelo Teste de pesquisa aprimorada. Na parte de informações do produto do comerciante, o aviso de frete deve sumir.
- No Search Console, abra Compras > Informações de produtos do comerciante, clique na linha do aviso de
shippingDetailse depois em Validar a correção.
O que importa antes do frete
Preço e frete só aparecem para páginas que estão no índice do Google. O CrawlCoach mostra quais páginas da sua loja o Google deixou de fora, e a correção de cada uma.
Perguntas frequentes
Posso ignorar o aviso do campo "shippingDetails"?
Sim. O Google lista shippingDetails como recomendado, e o Search Console mostra a falta como problema não crítico. Seus produtos podem aparecer como informação do comerciante sem ele.
Configurei o frete no Merchant Center. Por que o Search Console ainda mostra o aviso?
O relatório confere a marcação da página. A documentação do Google não diz que uma política no Merchant Center ou no Search Console tira o aviso. O Google ainda usa essas configurações nas suas listagens, e elas valem mais que a marcação da página.
Preciso de shippingDetails em todo produto?
Não. Para uma política única na loja, o Google recomenda a marcação Organization ou a configuração do Search Console. Coloque shippingDetails nas ofertas com frete diferente, ou onde você quer o aviso fora.
Fontes
Conferido em 8 de outubro de 2026. O Google muda o Search Console e a ajuda de tempos em tempos. Se algo estiver diferente na sua tela, confira a fonte.
- Ajuda do Search Console: Visão geral do relatório de pesquisa aprimorada
- Central da Pesquisa Google: Dados estruturados das informações do produto do comerciante (Product, Offer)
- Central da Pesquisa Google: Dados estruturados da política de frete do comerciante (ShippingService)
- Ajuda do Search Console: Configurações de frete e devolução
- Referência do Liquid da Shopify: filtro structured_data (em inglês)
- Código do tema Dawn da Shopify: seção principal do produto (em inglês)
- Rank Math: política de devolução e de frete no WooCommerce (em inglês)
- Central de Ajuda do Wix: configurações de SEO (em inglês)
- Central de Ajuda do Squarespace: o que o Squarespace faz pelo SEO (em inglês)
Veja quais páginas do seu site estão fora do Google
Entre com sua conta Google. O CrawlCoach confere até 500 páginas de graça e mostra a correção de cada problema.
Gerar meu relatório grátisGrátis para até 500 páginas. Sem cartão. Entre com a conta Google que você usa no Search Console.
O app e os relatórios do CrawlCoach estão em inglês.
Outros erros de dados estruturados
- O campo "hasMerchantReturnPolicy" não foi encontrado (em "offers")O Google quer a sua política de devolução, e a marcação do produto não traz. É um problema não crítico: os produtos continuam aparecendo. Com a política, o Google mostra o prazo e o custo de devolução.
- O campo "price" não foi encontrado (em "offers")Falta de name, image ou price na oferta é crítico: o produto não aparece como informação do comerciante. Falta de description, frete, devolução ou GTIN não é crítico.
- Nenhum identificador global informado (por exemplo, GTIN, MPN ou ISBN)O Google quer um código do produto igual em toda loja, como o número do código de barras. Não é crítico: coloque o GTIN se o produto tem, e deixe o aviso se não tem.