EVAL-002Compare
Return policy machine-readable
Checks whether an AI agent can read your return window and conditions from structured data or an HTML return policy.
What we check
We look for a MerchantReturnPolicy in the JSON-LD on your product pages (standalone, or as hasMerchantReturnPolicy on the Product or an Offer), and for a return window stated in days, weeks or months on your return policy page, which must be HTML text rather than a PDF, an image or an embedded document.
Why it matters
Shoppers ask agents whether they can send something back before buying, and an agent handling a return after purchase needs the window. A PDF or "contact us to arrange a return" gives it no terms to report or act on.
How we check
We read up to 3 product pages and the return policy page (from the crawl, or fetched once if only its link was found). Weeks count as 7 days, months as 30. PASS: a MerchantReturnPolicy is in the JSON-LD, including one declaring returns are not accepted (MerchantReturnNotPermitted); or the HTML policy states a window. WARN: the JSON-LD merchantReturnDays is not among the windows the page states (we compare against all of them, so "14 days statutory, 30 days ours" matches either); or the HTML policy states no window or defers ("contact us to arrange a return"). FAIL: the policy is a PDF, an image or an embedded document, or returns 404/410; or no policy is found anywhere. SKIPPED when nothing relevant was captured, or when the policy page was blocked or refused to our crawler and there is no JSON-LD policy. We list every window found but do not decide which applies to a given product.
How to fix it
- Add hasMerchantReturnPolicy to your Product or Offer JSON-LD, with merchantReturnDays, returnPolicyCategory and returnFees.
- Publish the return policy as an HTML page stating the window in days and the conditions, not a PDF or "contact us".
- Keep merchantReturnDays equal to a window the page itself states.
- If a product cannot be returned, declare returnPolicyCategory MerchantReturnNotPermitted.
- Link the policy from your footer with a word such as "Returns", "Refunds" or "Rückgabe".
What good looks like
<script type="application/ld+json">
{
"@context": "https://schema.org",
"@type": "Product",
"name": "Linen shirt",
"offers": {
"@type": "Offer",
"price": "49.00",
"priceCurrency": "EUR",
"hasMerchantReturnPolicy": {
"@type": "MerchantReturnPolicy",
"applicableCountry": "DE",
"returnPolicyCategory": "https://schema.org/MerchantReturnFiniteReturnWindow",
"merchantReturnDays": 30,
"returnFees": "https://schema.org/FreeReturn"
}
}
}
</script>
Return policy page (HTML text):
You can return unworn items within 30 days of delivery. Returns are free.