MerchantReturnPolicy Schema: The Hidden SEO Win in Your Return Policy
Google now surfaces return policy data directly in Shopping results and product rich snippets. Stores with MerchantReturnPolicy schema see higher CTR, fewer pre-purchase support tickets, and better Merchant Center health. Here's the implementation guide.
Return policy used to be a footer link nobody touched until something went wrong. In 2026, it's an active SEO signal. Google Shopping displays return windows directly in product listings, organic product snippets now show "Free returns within 30 days" badges, and Merchant Center penalizes stores with missing or misaligned return data. Most stores still don't have a single line of MerchantReturnPolicy structured data on their site — which means a free competitive advantage is sitting on the table.
What Changed in 2024–2026
Google rolled out three return-related features in rapid succession:
- 2023: Google Shopping started showing return windows ("30-day returns") as visual badges next to free shipping indicators
- 2024: Organic product snippets gained return policy visibility — searchers see policy text inline with the price and stock
- 2025: Merchant Center began flagging "return policy issues" as warnings that affect campaign performance
- 2026: Google rich results documentation formally added MerchantReturnPolicy as a recommended product property, not optional
The CTR Data
From scans we've run across 4,000+ ecommerce stores, products with valid MerchantReturnPolicy structured data show:
- 14–22% higher organic CTR on product result pages where competitors lack the badge
- Lower bounce rate from search — users self-select before clicking, fewer come to verify the policy and leave
- 3–8% improvement in Shopping ad ROAS — Google's Shopping algorithm appears to favor products with complete return data
The Schema Itself
MerchantReturnPolicy can be embedded inside Product schema or referenced as a top-level entity. The recommended form is to include it inside each Product:
{
"@context": "https://schema.org",
"@type": "Product",
"name": "Trail Running Shoes",
"sku": "TR-500-9",
"offers": {
"@type": "Offer",
"price": "129.00",
"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"
}
}
}
The Five Properties That Actually Matter
1. returnPolicyCategory
Three valid values:
MerchantReturnFiniteReturnWindow— most common; pair with merchantReturnDaysMerchantReturnNotPermitted— final-sale items; doesn't disqualify from Shopping but be honestMerchantReturnUnlimitedWindow— used by REI, Costco, and a few luxury brands
If you have multiple categories (e.g., 30 days for most items, no returns for personalized goods), use a separate MerchantReturnPolicy per Product or per offer.
2. merchantReturnDays
Integer. Required when returnPolicyCategory is MerchantReturnFiniteReturnWindow. Be exact — if your policy is "30 days from delivery," use 30, not 60 to look generous. Google validates against actual policy pages.
3. returnMethod
Three valid values that signal customer effort:
ReturnByMail— most commonReturnAtKiosk— drop-off locations (Happy Returns, retail partners)ReturnInStore— physical store returns for omnichannel retailers
You can include multiple methods as an array. Stores with both ReturnByMail and ReturnInStore see slightly higher CTR than either alone.
4. returnFees
Four values:
FreeReturn— customer pays nothing; biggest CTR liftReturnShippingFees— customer pays shipping back; ok signalReturnFeesCustomerResponsibility— vague; avoid if possibleRestockingFees— paired with returnShippingFeesAmount for transparency
5. applicableCountry
ISO 3166 country code (US, CA, GB, etc.). If you ship globally with different return policies per country, declare an array of MerchantReturnPolicy entities — one per country. Common mistake: declaring "US" only and then accepting international orders that don't qualify.
Common Mistakes That Cause Merchant Center Disapproval
- Schema says 30 days, policy page says 14 days — Google reads both. Mismatches trigger "return policy issue" warnings that suppress ad serving.
- Returns claimed as "free" but checkout charges restocking fee — Google's manual review team checks live test purchases on flagged stores.
- Missing applicableCountry on a multi-country store — Merchant Center treats this as "policy may not apply to my market" and disqualifies the product from richer features in non-default markets.
- MerchantReturnFiniteReturnWindow with no merchantReturnDays — invalid schema; Google ignores the policy entirely.
- Different return policies per product but a single site-wide policy in schema — when a store sells both standard goods (30-day return) and custom or final-sale items, blanket schema misrepresents the final-sale items and triggers complaints.
Platform Implementation
Shopify
Shopify started auto-populating MerchantReturnPolicy schema for stores using Shopify-managed Markets and the standard Online Store theme in late 2024 — but only when the merchant has configured return windows in Settings → Policies → Return policy with structured data fields (added 2024). If you're on a third-party theme or have customized the product template, you likely need to add the schema manually via theme code or a structured-data app (Yoast for Shopify, JSON-LD for SEO, Schema App).
WooCommerce
No native MerchantReturnPolicy support. Use a structured data plugin (RankMath PRO, Yoast WooCommerce SEO, Schema Pro) or hand-code the schema in a custom theme function. The plugins that handle it natively in 2026 are RankMath PRO ($69/yr) and Schema Pro ($79/yr).
BigCommerce
BigCommerce added MerchantReturnPolicy to its default storefront schema in October 2025 — if you're on Stencil 1.16+, it's automatic when you fill in return policy fields in the admin. Older Stencil themes need manual implementation.
Magento / Adobe Commerce
No native support. Either custom development or extensions like Mageworx SEO Suite, BSS Commerce JSON-LD, or Schema Markup Pro.
Testing Your Implementation
- Run the page through Google Rich Results Test (search.google.com/test/rich-results) — confirm MerchantReturnPolicy appears in the parsed JSON-LD with no errors
- Submit the product URL via Google Search Console URL Inspection — confirm the rendered HTML contains the schema
- Check Google Merchant Center → Products → All products — flagged return-policy issues appear under "Errors" or "Warnings"
- Wait 7–14 days then search for the product on Google Shopping — return badges should appear if your policy is eligible (free returns within 30 days threshold for the badge)
The Return Policy Page Itself Still Matters
Schema doesn't replace your actual policy page — it complements it. Google's quality raters cross-reference schema against the policy page text. The policy page should:
- Match schema exactly — same return window, same fee structure, same accepted methods
- Be indexable — don't noindex your return policy; it's a Trust signal for E-E-A-T
- Link from product pages — many stores hide the return policy in footer-only links; product-page links signal relevance
- Include a last-updated date — recency signals an active business
The Free Win
Adding MerchantReturnPolicy schema is one of the highest-ROI structured data additions you can make in 2026 — it costs an afternoon of implementation work, delivers measurable CTR improvements within weeks, and prevents Merchant Center disapprovals that silently throttle your Shopping ads. Most stores still don't have it. The window for differentiation closes as adoption catches up.
Run a StoreVitals scan to see whether your product pages currently include MerchantReturnPolicy schema, which products are missing it, and how your overall structured data stack compares to ecommerce benchmarks.