The schema your online store is missing: returnPolicyCountry and shipping data for AI

As of March 2026, the returnPolicyCountry field is mandatory in return policy schemas, and Google denies the return badge to any store that omits it. But that's only the surface. The Product and Offer structure — which houses return and shipping data — is now the single common denominator across every AI shopping interface. If this structure is missing from your product pages, an AI agent simply cannot read your price, inventory, or terms. Not because it won't try: it returns nothing at all.

Many store owners think of structured data as a Google ranking issue — something the SEO person handles when they have time. This frame is wrong, and increasingly expensive. The Product/Offer JSON-LD now controls not only search appearance formats but also whether an AI agent can even "see" your product when a buyer asks for a comparison or recommendation. The link is direct: without Offer, Google Shopping cannot render an accurate result, and neither can an AI agent provide a reliable data point.

What is returnPolicyCountry, and why did it become mandatory?

The MerchantReturnPolicy is a schema.org type that lets merchants describe their return terms — from return deadlines to refund methods to return fees. The returnPolicyCountry field specifies which country the return policy applies to. Google previously only recommended this field; as of March 2026, it's mandatory to earn the return badge in Google Shopping results.

The return badge is the small icon and summary that highlights certain products on Google Shopping result pages — increasingly, what buyers look for before making a decision. Without this field, Google won't show the badge, and your product loses the visual differentiator that drives click-through rates.

The concrete value is a two-letter ISO-3166-1 country code: for the U.S., US. The most common mistake is showing return terms as text only on your policy page, without JSON-LD — readable by humans but invisible to machines. Bots don't parse prose paragraphs, and neither do shopping agents.

What must a complete return policy schema contain? The required fields of MerchantReturnPolicy are: applicableCountry (the country where the policy applies), returnPolicyCategory (e.g., MerchantReturnFiniteReturnWindow), merchantReturnDays (number of days), returnMethod, and returnFees. Since the March 2026 update, returnPolicyCountry is also required for the badge.

The return schema alone is just one puzzle piece. Far more impact comes from whether the Product and Offer structure even exists on all your product pages — because that's the frame into which return data, shipping data, price, and inventory all nest.

Why can't AI read price data without schema?

AI models — ChatGPT, Gemini, Perplexity — are increasingly asked shopping questions. "Which store should I order from?" "Is this product available locally, and what's the return window?" These models try to answer by parsing available structured data, indexed text, and aggregator sources.

Without schema.org Product JSON-LD on your product page, an agent cannot reliably extract price, currency, stock, and return terms. Not because it won't attempt to — but because without structured data, parsing text becomes unreliable, and the AI either hallucinates or says it found nothing.

It's crucial to see the distinction. If the agent hallucinates — say, quoting a price that isn't your current list price — the buyer makes a decision on false information. If the agent says no data is available, the buyer goes to a competitor whose product page has this data structured. You lose either way.

The Offer type — which nests price (price), currency (priceCurrency), availability (availability), and the return policy (hasMerchantReturnPolicy) from the previous paragraph — is the common denominator that Google's Product Structured Data spec requires and that every major AI shopping surface reads. The link is direct: without Offer, Google Shopping cannot render a precise offer, and an AI agent has no reliable data point to work with.

I've written more broadly on agentic commerce — how AI participates in shopping decisions — in the agentic commerce and online stores post. The preparation steps outlined there follow directly from this structured foundation: return and shipping schema is exactly the entry point an agent queries before anything else.

What about shipping data?

The OfferShippingDetails is a structure that nests under Offer, letting you specify shipping parameters in machine-readable form: the shipping destination (shippingDestination), expected delivery time (deliveryTime), and shipping cost (shippingRate). Google displays these in shopping results when they're accurate and consistent — and shopping agents use them to calculate what your store's shipping terms look like to a given customer.

The most common gaps in this area:

  • Shipping time appears only as text in the description ("3–5 business days"), not as a deliveryTime field in JSON-LD — so the agent either skips it or makes up a value.
  • Shipping cost is shown only at checkout, not at product-page schema level — an agent doing price comparison cannot factor it in.
  • The shippingDestination field is missing, so Google and AI agents don't know whether you ship nationwide or only locally.

A customer comparing offers from two stores decides on "total price including shipping." If one store's shipping data is readable by the agent and the other's isn't, the decision favors the first — not because the offer is better, but because the data is available. A filled field wins over an empty one, even if the empty field masks better actual terms.

How should you verify yours?

The first step isn't a developer request — it's self-audit. Google's Rich Results Test lets you inspect any product page to see whether your current JSON-LD meets Google's expectations and shows exactly which fields are missing. Google Search Console's "Shopping" report scans your entire catalog and flags mandatory-field gaps.

Specifically check:

  • Is there Product JSON-LD on every product page — not just the homepage or category pages?
  • Does Offer contain current price, priceCurrency, and availability fields?
  • Does the hasMerchantReturnPolicy reference point to a populated MerchantReturnPolicy block that includes returnPolicyCountry?
  • Does OfferShippingDetails contain shippingDestination, deliveryTime, and shippingRate data?

If any answer is no, you've found your next fix. Prioritize repairs by what an AI agent cares about most: price and availability are the base layer, then return terms, then shipping details.

A broader picture of schema and AI visibility comes from the seven dimensions of AI visibility post, which details how structured data fits into the whole GEO readiness picture. The how it works page shows the exact steps in the measurement that reveals what AI actually sees in your store right now.

How much difference does it make?

Having structured data doesn't guarantee AI will recommend you — important to be clear on that. As detailed in the GEO score and AI recommendation are different post, recommendation depends on review volume, brand familiarity, and outside presence combined. Structured data is the entry ticket: without it, an agent can't evaluate because there's nothing to evaluate.

Where the difference is measurable today: in your Google Shopping appearance (return badge, shipping time and cost shown in search), your Rich Results status, and whether AI agents quote your data in shopping answers or pull from elsewhere and note data availability gaps.

A fuller picture of webshop AI readiness comes from the agentic commerce post, which lays out the full logic of agent readiness — schema is one essential piece of the puzzle, not the whole picture.

If you'd like to see what AI currently sees in your store — whether Product/Offer schema exists on product pages, whether return and shipping terms are readable, and where the biggest gaps are — reach out via the contact page. I'll review your current state and show exactly where the work starts.

Sources