MerchantReturnPolicy
MerchantReturnPolicy is an Intangible for a product return policy. It is consumed directly by Google's product return rich result and by all major shopping aggregators.
Core properties:
applicableCountry(Text / Country): ISO 3166-1 country codes the policy covers.returnPolicyCategory(MerchantReturnEnumeration): finite window / unlimited / not-permitted / unspecified.merchantReturnDays(Integer or Date): return window length when FiniteReturnWindow.returnMethod(ReturnMethodEnumeration): by mail / in store / at kiosk / keep product.returnFees+customerRemorseReturnFees+itemDefectReturnFees(ReturnFeesEnumeration): who pays, under which scenario.returnShippingFeesAmount,customerRemorseReturnShippingFeesAmount,itemDefectReturnShippingFeesAmount: explicit fee amounts.restockingFee: restocking fee amount.refundType:FullRefund,ExchangeRefund,StoreCreditRefund.returnPolicySeasonalOverride: holiday-season overrides.merchantReturnLink: URL of the human-readable policy page.
Attach to Product (or Offer) via hasMerchantReturnPolicy.
Full example of schema.org/MerchantReturnPolicy json-ld markup
The markup is verified as valid with Rich Results Test from Google.
<script type="application/ld+json">
{
"@context": "https://schema.org",
"@type": "MerchantReturnPolicy",
"@id": "https://xoocode.com/returns#standard",
"applicableCountry": ["US", "CA"],
"returnPolicyCategory": "https://schema.org/MerchantReturnFiniteReturnWindow",
"merchantReturnDays": 30,
"returnMethod": ["https://schema.org/ReturnByMail", "https://schema.org/ReturnInStore"],
"itemDefectReturnFees": "https://schema.org/FreeReturn",
"customerRemorseReturnFees": "https://schema.org/ReturnShippingFees",
"customerRemorseReturnShippingFeesAmount": { "@type": "MonetaryAmount", "value": 6.95, "currency": "USD" },
"refundType": "https://schema.org/FullRefund",
"merchantReturnLink": "https://xoocode.com/returns",
"returnPolicySeasonalOverride": {
"@type": "MerchantReturnPolicySeasonalOverride",
"startDate": "2026-11-01",
"endDate": "2027-01-31",
"merchantReturnDays": 60,
"returnPolicyCategory": "https://schema.org/MerchantReturnFiniteReturnWindow"
}
}
</script>Minimal valid version
The smallest markup that still produces a valid MerchantReturnPolicy entity. Use it as the floor. Reach for the advanced example above when you want search engines and AI agents to understand more about your content.
<script type="application/ld+json">
{
"@context": "https://schema.org",
"@type": "MerchantReturnPolicy",
"applicableCountry": "US",
"returnPolicyCategory": "https://schema.org/MerchantReturnFiniteReturnWindow",
"merchantReturnDays": 30,
"returnMethod": "https://schema.org/ReturnByMail",
"returnFees": "https://schema.org/FreeReturn"
}
</script>Google rich results this unlocks
Markup matching this example makes your page eligible for the following Google Search rich results. The primary target drives the required / recommended property classification in the advanced code block above.
- Google docsProduct return rich resultprimary
Common MerchantReturnPolicy mistakes
Mistakes that pass validation but silently fail to earn rich results or mislead consumers walking the graph. Avoid these and your markup will be ahead of most sites in the wild.
- 01
FiniteReturnWindow with no merchantReturnDays
WrongreturnPolicyCategory = FiniteReturnWindow and no daysRightAlways pair FiniteReturnWindow with merchantReturnDaysGoogle's return rich result requires both to render.
- 02
Single returnFees on asymmetric policies
WrongOne returnFees value for both defect and remorseRightitemDefectReturnFees + customerRemorseReturnFees separatelyConsumers specifically ask 'what if the item is broken'; asymmetry must be visible.
Schema properties in this example
About the example data
Xoo Code Shop's full 30-day return policy with defect-vs-remorse asymmetry and a holiday-season override.
Comments
Loading comments...