A

Policy

MEDIUM

MerchantReturnPolicy returnPolicyCategory uses valid Schema.org enum

When present, `returnPolicyCategory` is one of MerchantReturnFiniteReturnWindow / MerchantReturnUnlimitedWindow / MerchantReturnNotPermitted (bare or schema.org URL form). An invalid category is silently dropped — your policy looks present in the source but never renders in Google's return-policy rich result.

What this check looks for

We accept either the bare enum name (`"MerchantReturnFiniteReturnWindow"`) or the full schema.org URL (`"https://schema.org/MerchantReturnFiniteReturnWindow"`). Any other string — including freeform values like `"30 days"`, lowercased enum names, or typos — is rejected because Google's rich-result parser drops them silently.

Which AI surfaces it affects

  • Google AI Mode (UCP)90
  • Microsoft Copilot60
  • Meta AI50
  • ChatGPT (ACP)40
  • Perplexity30

Weighted against the live specs — ACP 2026-04-17, UCP 2026-04-08.

How to fix it

Use a valid Schema.org returnPolicyCategory enum value

Shopify

Developer
  1. If you hand-roll the JSON-LD in `sections/product.liquid`, swap any prose category string for the schema.org URL form.
  2. If you rely on Shopify Markets, confirm the emitted JSON-LD uses the schema.org URL form by viewing source on a PDP.

Platform docs ↗

BigCommerce

Developer
  1. Edit your product template's MerchantReturnPolicy block: replace the category string with `https://schema.org/MerchantReturnFiniteReturnWindow` (or the other two valid values).

WooCommerce

Developer
  1. Yoast/AIOSEO MerchantReturnPolicy add-ons emit the schema.org URL form by default — confirm in browser view-source.
  2. If using a custom snippet via `woocommerce_structured_data_product`, swap prose values for the schema.org URL form.

Custom / headless

Developer
  1. Use one of the three valid enum URLs (or bare names) — strict spelling, case-sensitive.
"hasMerchantReturnPolicy": {
  "@type": "MerchantReturnPolicy",
  "applicableCountry": "US",
  "returnPolicyCategory": "https://schema.org/MerchantReturnFiniteReturnWindow",
  "merchantReturnDays": 30
}

The spec it's pinned to

  • Google return-policy SD — returnPolicyCategory enum

    Google's return-policy spec recognizes only MerchantReturnFiniteReturnWindow, MerchantReturnUnlimitedWindow, and MerchantReturnNotPermitted as valid `returnPolicyCategory` values. Anything else is dropped from rich results.

Google — returnPolicyCategory values

Does your store pass this check?

Run the full audit — 82 checks across five AI shopping surfaces. Most tools only check whether you get mentioned; we check whether an agent can buy from you.

Related policy checks

← All 82 checks