What is MerchantReturnPolicy in Schema.org?
MerchantReturnPolicy is the Schema.org type that describes a store's return policy in structured data: the countries it applies in, how many days there are to return an item, how it is returned, who pays return shipping and what refund is received. It is declared once on the organization and, only for products with different terms, on their offer.
Key takeaways
- Return markup describes your policy for machines; it does not replace the page that explains it to your customers.
- Google recommends declaring it once, on the organization node, and repeating it on an offer only when that product has different terms.
- For Google, the country and the policy type (with the days if there is a window) are enough or, instead, the link to the returns page.
- If you configure returns in Merchant Center or Search Console, that configuration beats any markup on your site.
Your store already has a return policy: a page with deadlines, conditions and who pays return shipping. MerchantReturnPolicy is that same policy written in structured data, with a closed vocabulary a machine can read without interpreting sentences. It is a Schema.org type. It does not replace your returns page: it summarizes the policy for a search engine. It matters because, according to Google, with this markup Search can show your return policy next to your products and in knowledge panels.[1]Google Search Central. Merchant return policy (MerchantReturnPolicy) structured data
How it works
Schema.org defines MerchantReturnPolicy as the information about product return policies associated with an organization, a product or an offer.[2]Schema.org. MerchantReturnPolicy Google simplifies those three options into two levels. The store's general policy goes on the organization node, with the hasMerchantReturnPolicy property, and Google recommends putting it on a single page of your site that describes your return policy: there is no need to repeat it on all of them. A specific product's goes on its offer, only when that product has different terms, and it supports fewer properties than the organization's.[1]Google Search Central. Merchant return policy (MerchantReturnPolicy) structured data The Organization entry shows where the general one hangs, and the Offer entry, where a product's goes.
That split is recent. Google has supported the policy at the organization level since June 11, 2024; on June 10, 2025 it gave it a documentation page of its own; and on July 11, 2025 it clarified that an offer's policy supports only some of the properties and that the general policy has to go on the organization node.[3]Google Search Central. Latest documentation updates
For Google there are two ways to meet the requirements. The first is to give the country where the policy applies (applicableCountry, as a two-letter code, up to 50 countries) and its type (returnPolicyCategory), which has three values: limited window (MerchantReturnFiniteReturnWindow, which also requires merchantReturnDays, the days since delivery), returns not permitted (MerchantReturnNotPermitted) and unlimited window (MerchantReturnUnlimitedWindow). The second is to give only the link to the page that describes the policy, with merchantReturnLink, whether it is yours or that of a service that handles your returns.[1]Google Search Central. Merchant return policy (MerchantReturnPolicy) structured data
The rest are recommended, and they are what make the markup useful:[1]Google Search Central. Merchant return policy (MerchantReturnPolicy) structured data
| Property | What it says | Values |
|---|---|---|
returnMethod |
How the item is returned | By mail, in store or at a drop-off point |
returnFees |
Who pays for the return | Free (FreeReturn), an amount the store charges (ReturnShippingFees, with returnShippingFeesAmount) or the customer arranges and pays for shipping (ReturnFeesCustomerResponsibility) |
refundType |
What the customer receives | Full refund, exchange for the same product or store credit |
itemCondition |
What condition is accepted | New, used, damaged or refurbished |
returnPolicyCountry |
Where the return is shipped | A country, which may not be the one the original order shipped from |
customerRemorseReturnFees, itemDefectReturnFees |
Who pays if the customer changes their mind, and who if it is defective | The same values as returnFees |
There is also a restocking fee (restockingFee) and seasonal exceptions (returnPolicySeasonalOverride), for example a different window over the holidays.[1]Google Search Central. Merchant return policy (MerchantReturnPolicy) structured data
What surprises most is the order of preference. Google combines several sources and applies the strongest: first the Content API for Shopping, then the returns settings in Google Merchant Center or Search Console, then the product's markup and, last, the organization's. If you have markup and also configure returns in Search Console, Google uses only what is in Search Console.[1]Google Search Central. Merchant return policy (MerchantReturnPolicy) structured data Between the two kinds of markup, if you give both, the product's wins.[4]Google Search Central. Merchant listing (Product, Offer) structured data
In a store
What matters for the markup is that it says the same as your page, and your page says what your store really does.
Fictional example. An invented US store publishes this policy: 30 days from delivery, return by mail, the customer pays return shipping unless the product arrives defective, and a full refund. Shirts embroidered with initials cannot be returned. Here is how it translates:
| What the page says | Property | Value |
|---|---|---|
| "We sell in the United States and Canada" | applicableCountry |
["US", "CA"] |
| "30 days from delivery" | returnPolicyCategory, merchantReturnDays |
MerchantReturnFiniteReturnWindow, 30 |
| "Return by mail" | returnMethod |
ReturnByMail |
| "Return shipping is on you" | returnFees |
ReturnFeesCustomerResponsibility |
| "If it arrives defective, the return is free" | itemDefectReturnFees |
FreeReturn |
| "We give you your full amount back" | refundType |
FullRefund |
{
"@context": "https://schema.org",
"@type": "Organization",
"@id": "https://www.example.com/#organization",
"name": "Calella",
"hasMerchantReturnPolicy": {
"@type": "MerchantReturnPolicy",
"applicableCountry": ["US", "CA"],
"returnPolicyCategory": "https://schema.org/MerchantReturnFiniteReturnWindow",
"merchantReturnDays": 30,
"returnMethod": "https://schema.org/ReturnByMail",
"returnFees": "https://schema.org/ReturnFeesCustomerResponsibility",
"itemDefectReturnFees": "https://schema.org/FreeReturn",
"refundType": "https://schema.org/FullRefund"
}
}
The embroidered shirt carries its own policy on its offer with MerchantReturnNotPermitted, which beats the general one for that product.[4]Google Search Central. Merchant listing (Product, Offer) structured data And if one day the store configures its returns in Search Console, this markup stops being what Google uses.[1]Google Search Central. Merchant return policy (MerchantReturnPolicy) structured data
What people often get wrong
Believing the markup on the site is in charge. For Google it is the weakest source: the Merchant Center or Search Console configuration beats the product's markup, and that beats the organization's.[1]Google Search Central. Merchant return policy (MerchantReturnPolicy) structured data If you change the return window on your page and in your markup but have another figure configured in Search Console, what Google uses is what is in Search Console.
How to check it
- Search for
hasMerchantReturnPolicyin the source code of the page where your organization node lives, and note the country, the policy type and the days.[1]Google Search Central. Merchant return policy (MerchantReturnPolicy) structured data - Compare it with your returns page, sentence by sentence: the window, who pays return shipping and the refund type have to match.
- Look for policies inside the offers on your product pages. Each one has to correspond to a product with different terms, because it beats the general one.[4]Google Search Central. Merchant listing (Product, Offer) structured data
- See whether you have returns configured in Merchant Center or Search Console. If you do, those are what Google uses and that is where they have to be kept up to date.[1]Google Search Central. Merchant return policy (MerchantReturnPolicy) structured data
- Check which rich results Google detects: run the URL through the Rich Results Test and see what it finds and with which errors or warnings.[1]Google Search Central. Merchant return policy (MerchantReturnPolicy) structured data
Related concept: return policy
The return policy is the document: what you promise the customer, with its fine print and its exceptions. MerchantReturnPolicy is its summary in a vocabulary of closed values. The policy is written for people; the markup translates it into values a machine can compare. The order never flips: first the policy is decided and published, and then you mark up exactly what it says. The return policy has its own entry.
To keep going, the structured data reading path orders the rest of the terms, and the OfferShippingDetails entry does the same for shipping.
Synonyms
- English
- return policy structured data, merchant return policy markup
- Español
- marcado de devoluciones, datos estructurados de devoluciones
Sources
- [1] Google Search Central. Merchant return policy (MerchantReturnPolicy) structured data. Accessed . ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑
- [2] Schema.org. MerchantReturnPolicy. Accessed . ↑
- [3] Google Search Central. Latest documentation updates. Accessed . ↑
- [4] Google Search Central. Merchant listing (Product, Offer) structured data. Accessed . ↑ ↑ ↑
Change history
- First English version.
- No country-specific law: the term is general.
This definition is published under CC BY 4.0. Reuse this definition freely, crediting Clione with a link to this page.
Related terms
OfferShippingDetails
What OfferShippingDetails is, what Google asks for to show shipping cost and delivery time, when to use it versus a store-wide policy and how to check it.
Merchant listings
What Google's merchant listings are, where they appear, which Product and Offer markup they need and how to check whether your product page is eligible.
Organization
What Schema.org's Organization type is, which properties Google recommends, where it goes in an online store, and why it has to match your site.
Offer
What the Schema.org Offer type is, how to write price, currency and availability, what Google requires, and how Offer differs from AggregateOffer.
Return policy
What a return policy is for an online store, what it should include, and what Google, Merchant Center and ChatGPT read from it.
Google Merchant Center
What Google Merchant Center is, how your product data gets there, where Google shows it and how to check that the feed and the product page match.
Make your catalog easy for bots to read
Clione fills every product page with what bots read best: the JSON-LD graph with its structured data, the meta description and the FAQs. You review and press Push; then we check your live store so it all stays published.