What is MerchantReturnPolicy structured data? #
- It describes your business return policies in a structured format.
- Helps Google show return info alongside your products and in your brand’s knowledge panel.
- Can be applied at organization level (standard policy for all products) or at offer/product level (specific product exceptions).
Where to add it? #
- Usually nested under your Organization markup using the property:
“hasMerchantReturnPolicy”: { … } - For specific products with different policies, add it under the Offer markup for that product.
Required properties (Organization-level) #
You have two main ways to specify your return policy:
Option A: Specify return policy details directly #
- applicableCountry: Country code(s) where this policy applies (ISO 3166-1 alpha-2, e.g., “IN”, “US”)
- returnPolicyCategory: Type of return window
- MerchantReturnFiniteReturnWindow (fixed days to return)
- MerchantReturnNotPermitted (no returns)
- MerchantReturnUnlimitedWindow (no limit)
- MerchantReturnFiniteReturnWindow (fixed days to return)
- If MerchantReturnFiniteReturnWindow, then specify:
- merchantReturnDays: Number of days customers have to return the product
- merchantReturnDays: Number of days customers have to return the product
Option B: Provide a link to your return policy page #
- merchantReturnLink: URL of the web page describing your return policy (can be your own or a third-party service)
Recommended additional properties (for detailed policies) #
- returnFees: e.g. FreeReturn, ReturnFeesCustomerResponsibility, ReturnShippingFees
- returnMethod: e.g. ReturnByMail, ReturnInStore, ReturnAtKiosk
- refundType: e.g. FullRefund, ExchangeRefund, StoreCreditRefund
- itemCondition: Which conditions of items can be returned (New, Damaged, Used, etc.)
- returnShippingFeesAmount: Cost of return shipping if any
- returnLabelSource: Who provides the return shipping label
- customerRemorseReturnFees, itemDefectReturnFees, etc. for specific fee policies
Example JSON-LD for a business return policy #
{
“@context”: “https://schema.org”,
“@type”: “Organization”,
“name”: “FSIDM Online Store”,
“url”: “https://fsidm.in”,
“hasMerchantReturnPolicy”: {
“@type”: “MerchantReturnPolicy”,
“applicableCountry”: [“IN”],
“returnPolicyCategory”: “https://schema.org/MerchantReturnFiniteReturnWindow”,
“merchantReturnDays”: 30,
“returnMethod”: “https://schema.org/ReturnByMail”,
“returnFees”: “https://schema.org/FreeReturn”,
“refundType”: “https://schema.org/FullRefund”,
“itemCondition”: [“https://schema.org/NewCondition”],
“returnLabelSource”: “https://schema.org/ReturnLabelInBox”,
“merchantReturnLink”: “https://fsidm.in/return-policy”
}
}
Seasonal override example (optional) #
If you have special return windows for holidays or sale seasons:
json
CopyEdit
“returnPolicySeasonalOverride”: {
“@type”: “MerchantReturnPolicySeasonalOverride”,
“startDate”: “2025-12-01”,
“endDate”: “2026-01-05”,
“merchantReturnDays”: 15,
“returnPolicyCategory”: “https://schema.org/MerchantReturnFiniteReturnWindow”
}
Best practices #
- Place your return policy markup on a dedicated return policy page or on your homepage nested inside your Organization markup.
- For products with specific exceptions, add return policy markup under those product offers.
- Validate using Google’s Rich Results Test to ensure no errors.
- Submit your sitemap and request recrawling after updates.
- If managing lots of return policies, consider managing them via Google Merchant Center or Search Console return policy settings for easier maintenance.