Return policy structured data for online stores

Last updated:

Return details are one of the things shoppers compare before they buy, and Google can show them next to your products: the return window, whether returns are free, and how to send items back. It takes that information from your returns page, your Merchant Center or Search Console settings, and MerchantReturnPolicy structured data. This guide covers the markup side and how to keep it consistent.

What Google expects

Google's documentation on return policy structured data was updated in September 2026. The key points:

  • One standard policy, at the organization level. Nest hasMerchantReturnPolicy under your Organization markup, ideally on the page that describes your returns.
  • Product-level policies only for exceptions. Use hasMerchantReturnPolicy under a product's Offer to override the standard policy for that product. Offer-level policies support fewer properties.
  • Two ways to meet the minimum. Either give applicableCountry and returnPolicyCategory (plus merchantReturnDays for a fixed window), or give merchantReturnLink, the URL of your returns page.

The three categories are MerchantReturnFiniteReturnWindow (a set number of days), MerchantReturnUnlimitedWindow and MerchantReturnNotPermitted.

A minimal example

A store in France that accepts returns within 30 days, by post, with free returns:

{
  "@context": "https://schema.org",
  "@type": "Organization",
  "name": "Example Store",
  "url": "https://www.example.com",
  "hasMerchantReturnPolicy": {
    "@type": "MerchantReturnPolicy",
    "applicableCountry": "FR",
    "returnPolicyCategory": "https://schema.org/MerchantReturnFiniteReturnWindow",
    "merchantReturnDays": 30,
    "returnMethod": "https://schema.org/ReturnByMail",
    "returnFees": "https://schema.org/FreeReturn",
    "merchantReturnLink": "https://www.example.com/returns"
  }
}

Recommended properties worth adding when they apply: returnFees and returnShippingFeesAmount (who pays), returnMethod, refundType, itemCondition, restockingFee, and returnPolicyCountry when returns go to a different country than the one you ship from. Separate fees for "changed my mind" and "item is defective" returns have their own properties too.

Search Console, Merchant Center and markup

Google can get your policy from several places. When they disagree, it uses them in this order, strongest first:

  1. Content API for Shopping return settings
  2. Merchant Center or Search Console settings
  3. Product-level markup
  4. Organization-level markup

So if you have already entered return settings in Search Console or Merchant Center, those win. The markup still matters for stores without those settings, and it documents your policy in a form other search and AI engines can read. Either way, the numbers must match your returns page.

Common mistakes

  • Markup that contradicts the returns page, for example 30 days in JSON-LD and 14 days in the text. Update both whenever the policy changes.
  • A seasonal policy left in place. Extended holiday return windows belong in returnPolicySeasonalOverride, with a start and end date, not in the main policy.
  • Copying the full policy into every product page instead of declaring it once and overriding only the exceptions.
  • No visible returns page at all. Markup describes a policy; it doesn't replace one. See the trust pages every store needs.

EU stores should also check the newer withdrawal button rules, covered in EU withdrawal button and returns policy.

How Averifly helps

Averifly's trust checks flag stores where no returns or refund page can be found, along with missing shipping, contact and legal pages, and its catalog checks review your product structured data. Run a free scan to see what shoppers and search engines can find, or browse all the rules.

Frequently asked questions

Is return policy markup required to appear in Google Shopping results?

No. Google lists it as recommended, not required, for merchant listings. It helps Google show accurate return details next to your products, which shoppers use to compare offers.

Should I put the return policy on every product page?

Usually not. Google recommends describing your standard policy once, under your Organization markup, and adding a product-level policy only for products that are exceptions, such as final-sale items.

What happens if my markup and Search Console settings disagree?

Google uses the Search Console (or Merchant Center) settings and ignores the on-site markup. Keep both in line with the returns page shoppers actually read.

Can I use markup if I don't accept returns?

Yes. Set returnPolicyCategory to MerchantReturnNotPermitted. Stating it clearly is better than leaving shoppers and search engines to guess.

More Trust guides