What MerchantReturnPolicy is
Per Schema.org v30.0, MerchantReturnPolicy 'provides information about product return policies associated with an Organization, Product, or Offer.' Inheritance: Thing > Intangible > MerchantReturnPolicy. The type supersedes the older ProductReturnPolicy. Key properties: applicableCountry (Country or Text — ISO 3166-1 alpha-2 like 'US', 'GB', 'DE'), returnPolicyCategory (MerchantReturnEnumeration), merchantReturnDays (Integer or Date — for finite-window policies), returnMethod (ReturnMethodEnumeration), returnFees (ReturnFeesEnumeration), refundType (RefundTypeEnumeration).
The AI Overviews claim — [UNVERIFIED]
Industry SEO publications throughout Jan–May 2026 repeatedly state that Google AI Overviews now treats hasMerchantReturnPolicy (and shippingDetails) as effectively required on Product schema — without them, products become invisible to AI shopping recommendations. This claim is widespread but has not been confirmed in Shopify's primary documentation or in Google Search Central's own AI Overviews policy statements at our verification window. We mark it [UNVERIFIED — third-party only].
Why ship hasMerchantReturnPolicy anyway
Three reasons to ship hasMerchantReturnPolicy regardless of whether the AI Overviews claim turns out exact. First, Google Merchant Center has required (effectively) this field for over a year for Shopping eligibility — stores running Merchant Center feeds already need it. Second, Shopify's own AI-optimisation doc names keeping policies 'complete and up-to-date' as one of its recommendations for AI agent reference. Third, AI shopping engines (ChatGPT, Perplexity, Gemini, Copilot) all read structured-data policy fields when surfacing recommendations; the field demonstrably helps even if the specific AI Overviews threshold is unverified.
MerchantReturnPolicy fields
The fields Google's Product documentation names as required for the property and the field set Schema.org documents: applicableCountry (one or array of ISO 3166-1 alpha-2 country codes — the geographies where the policy applies), returnPolicyCategory (a MerchantReturnEnumeration URL), merchantReturnDays (when returnPolicyCategory is MerchantReturnFiniteReturnWindow), returnMethod (ReturnMethodEnumeration URL — ReturnByMail, ReturnInStore, ReturnAtKiosk), returnFees (ReturnFeesEnumeration URL — FreeReturn, RestockingFees, ReturnFeesCustomerResponsibility, ReturnFeesEnumerated), refundType (RefundTypeEnumeration URL).
JSON-LD example — MerchantReturnPolicy inside Offer
The block below shows hasMerchantReturnPolicy inside the Offer sub-object of a Shopify Product block. Hard-coded values where the merchant's policy is universal (30-day finite window, free returns by mail); use a metafield for stores where the policy varies by country or product.
Validation
Rich Results Test against a PDP with hasMerchantReturnPolicy should report Product detected, Offer parsed, MerchantReturnPolicy parsed, zero errors. The Rich Results Test does not actually require all five fields to validate — applicableCountry and returnPolicyCategory are the strict minimum. Schema.org Markup Validator confirms structural validity.
Shopify gotchas on hasMerchantReturnPolicy
Four gotchas. First: emitting an empty MerchantReturnPolicy object on a store that hasn't configured its refund policy — validators accept the empty object, but the markup is meaningless. Wrap emission in a Liquid conditional on the metafield or hard-code the policy only after the merchant ships their real one. Second: hard-coding applicableCountry: 'US' on a multi-country store, misrepresenting policy to customers outside the US. Third: emitting MerchantReturnFiniteReturnWindow without merchantReturnDays — the validator flags this. Fourth: using a string for merchantReturnDays ('30') instead of an integer (30) — Schema.org accepts both but Google's parser sometimes complains about the string form.