Missing field "hasMerchantReturnPolicy" (in "offers"): how to fix it
Google wants your return policy, and your product markup doesn't include it. It's a non-critical issue, so your products still qualify for merchant listings. Adding the policy lets Google show your return window and cost next to them.
- Non-critical
Missing field "hasMerchantReturnPolicy" (in "offers")
Shopping > Merchant listings
Non-critical: the item can still show as a rich result.
By Bruno Amorim · ·
The fast route: Search Console
- Open Settings > Shopping > Shipping and returns, then the Returns tab.
- Click Add return policy and pick a country.
- Enter the address of your return policy page, the return window in days (or no returns), and the return cost: free, a flat fee, or a share of the price.
- Repeat for each country you ship to.
Google checks return policies by hand. That takes about 10 to 13 days, and the policy shows as pending until then. Google ranks these settings above the markup on your pages. Its docs don't say whether they clear this warning in the Merchant listings report.
The markup route
For one policy across the store, Google recommends hasMerchantReturnPolicy under Organization, on a single page such as your returns page. Use it on the offer only for products with their own rules, or when you have no store-wide policy. A product-level policy beats the store-wide one.
<script type="application/ld+json">
{
"@context": "https://schema.org",
"@type": "Product",
"name": "Canvas Weekender Bag",
"image": "https://example.com/photos/weekender-bag.jpg",
"offers": {
"@type": "Offer",
"price": 89,
"priceCurrency": "USD",
"availability": "https://schema.org/InStock"
}
}
</script><script type="application/ld+json">
{
"@context": "https://schema.org",
"@type": "Product",
"name": "Canvas Weekender Bag",
"image": "https://example.com/photos/weekender-bag.jpg",
"offers": {
"@type": "Offer",
"price": 89,
"priceCurrency": "USD",
"availability": "https://schema.org/InStock",
"hasMerchantReturnPolicy": {
"@type": "MerchantReturnPolicy",
"applicableCountry": "US",
"returnPolicyCategory": "https://schema.org/MerchantReturnFiniteReturnWindow",
"merchantReturnDays": 30,
"returnMethod": "https://schema.org/ReturnByMail",
"returnFees": "https://schema.org/FreeReturn"
}
}
}
</script>Fields that trip people up
merchantReturnDaysis required whenreturnPolicyCategoryisMerchantReturnFiniteReturnWindow.- No returns? Use
https://schema.org/MerchantReturnNotPermitted. That's still a valid policy. returnShippingFeesAmountgoes withReturnShippingFeesonly. Leave it out withFreeReturnorReturnFeesCustomerResponsibility.applicableCountrytakes two-letter codes, up to 50 of them.- Product-level policies accept fewer properties than Organization-level ones.
To reuse a store-wide policy from another page, give the offer only its @id, such as "hasMerchantReturnPolicy": { "@id": "https://example.com/returns#policy" }.
On your platform
Shopify
The structured_data filter in Dawn and Horizon writes no return policy, so either replace it with your own block or set the policy in Search Console.
WooCommerce with Rank Math
Rank Math PRO can add a store-wide policy: Rank Math SEO > Schema Templates > Add New Schema, build a MerchantReturnPolicy with the Custom Schema Builder, and insert it into the Organization schema under Display Conditions. Without PRO, Rank Math's docs give a code filter that adds the policy to each offer.
Wix, Squarespace, and BigCommerce
Wix: edit the Product markup under SEO Settings > Products. Squarespace: its markup can't be edited, so use Search Console. BigCommerce Cornerstone: add the policy to offers in templates/components/products/schema.html.
Confirm it worked
Test a product in the Rich Results Test and check that Merchant listings lists the return policy. Then click Validate fix on the issue in Shopping > Merchant listings.
Questions
Is hasMerchantReturnPolicy required for merchant listings?
No. Google lists it as recommended, and Search Console shows the missing field as a non-critical issue. Your products can show without it.
What if my store doesn't accept returns?
Say so in the markup: set returnPolicyCategory to https://schema.org/MerchantReturnNotPermitted with your applicableCountry. In Search Console, pick no returns as the return window.
Should the return policy go on every product page?
Not for a store-wide policy. Google recommends one policy under Organization markup, on a single page. Products can point to it by @id if you want the warning gone.
Sources
Checked on October 8, 2026. Vendors change their tools and docs, so check the source if something looks different.
- Google Search Central: Merchant listing (Product, Offer) structured data
- Google Search Central: Merchant return policy structured data
- Search Console Help: Shipping and return settings
- Rank Math: How to add merchant return and shipping policy in WooCommerce
- Shopify Liquid reference: structured_data filter
- Wix Help: Customizing your SEO settings
- Squarespace Help: How does Squarespace optimize my site for search results?
- BigCommerce Cornerstone theme source: product schema template
See which of your pages Google left out
Prices, stars, and breadcrumbs only show for pages in Google's index. CrawlCoach shows which of your pages Google left out, and the fix for each.
Get my free reportFree for up to 500 pages. No card needed. Sign in with the Google account you use for Search Console.
More structured data fixes
- Missing field "shippingDetails"This is a non-critical issue in the Merchant listings report, so your products can still show with their prices. Add shipping details if you want Google to show your shipping cost and delivery time too.
- Merchant listings: missing fieldsA missing name, image, or offer price is critical: those products can't show as merchant listings until you fix it. A missing description, shippingDetails, hasMerchantReturnPolicy, or GTIN is non-critical and can wait.
- No global identifier providedGoogle wants a product ID that is the same everywhere the product is sold, such as the barcode number. It's a non-critical issue: add the GTIN if your products have one, and leave the warning if they don't.