Pular para o conteúdo

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.

No Search Console:O campo "shippingDetails" não foi encontrado (em "offers")

Também nesta página: "Falta o campo "shippingDetails" (em "offers")"

Por Bruno Amorim · ·

Leia em: English · Español · Deutsch · Français · Italiano · Polski · 日本語 · 한국어

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 ShippingService dentro de Organization, com hasShippingService. O Google recomenda esse caminho para uma política padrão.
  • Marcação da oferta, em cada produto: shippingDetails dentro de offers. 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.currency precisa ser igual ao priceCurrency da oferta.
  • Para frete grátis, use 0 em shippingRate.value.
  • handlingTime vai do pedido ao despacho. transitTime vai do despacho à porta. Cada um precisa de minValue, maxValue e unitCode DAY.
  • Um valor de frete por OfferShippingDetails. Para normal e expresso, coloque duas entradas shippingDetails.
  • addressCountry é um código de duas letras, como BR ou PT.

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 de sections/main-product.liquid. O Horizon faz isso no começo de sections/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 coloca shippingDetails em cada oferta pelo arquivo rank-math.php do 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 shippingDetails na 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 bloco offers não tem frete. Coloque shippingDetails ali e suba o tema.

Confirme que funcionou

  1. 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.
  2. No Search Console, abra Compras > Informações de produtos do comerciante, clique na linha do aviso de shippingDetails e 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.

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átis

Grá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

Leia também