NewThe tragent CLI is on npm: npx @tragent/cli scan your-store.com

Issue reference

Your product data has no return policy

Issue code
SCHEMA_RETURN_POLICY_MISSING
Stage
Read the details
Protocol
—
Severity
Low

What it means

tragent reports this at the “Read the details” stage. The question there is “Can it understand what the product is?” Name, description, images and variants have to be readable as data, not just rendered as a page.

What it does to an agent

Agents get through, but your store reads less clearly to them than it could. It is worth fixing once the higher-severity issues are gone.

"Can I return it?" is one of the first questions a shopper asks an agent before buying, especially for clothes and shoes. If the return policy is only on a policy page, the agent has to find and read it; declared in the data, it can answer straight away and compare your window with another store's.

Declare it once on your Organization with hasMerchantReturnPolicy, or on each Offer when policies differ by product.

How to fix it

Add hasMerchantReturnPolicy to your offers, or once to your Organization, so agents can say whether a purchase can be returned.

Organization-level return policy
{
  "@context": "https://schema.org",
  "@type": "Organization",
  "name": "Northwind Supply",
  "url": "https://shop.example",
  "hasMerchantReturnPolicy": {
    "@type": "MerchantReturnPolicy",
    "applicableCountry": "US",
    "returnPolicyCategory": "https://schema.org/MerchantReturnFiniteReturnWindow",
    "merchantReturnDays": 30,
    "returnMethod": "https://schema.org/ReturnByMail",
    "returnFees": "https://schema.org/FreeReturn"
  }
}

On your platform

Shopify

Add the Organization block above to layout/theme.liquid, inside a script tag of type application/ld+json, with your real window and fees.

WooCommerce

Add the Organization block to your theme's header, or through an SEO plugin's organisation settings if it supports a return policy.

Headless or custom

Emit it once in the site layout. Keep it in step with the policy page; a policy in the data that the page contradicts is a finding of its own on marketplaces.

In practice

Describe the policy shoppers actually get. If returns are free for exchanges but cost money for refunds, or the window differs for sale items, declare the main policy and note the difference on the page. The fields agents use most are the window in days, whether returns are free, and how the item comes back: by mail, in store, or both.

If you sell in several countries with different policies, declare one MerchantReturnPolicy per country with applicableCountry set. A single policy with no country reads as worldwide, which may promise free returns in countries where you charge for them, and that is a promise an agent will repeat to the shopper word for word.

Review the declared policy whenever the real one changes, and at the start of every peak season, when many stores extend their return windows. An extended holiday window is worth declaring because it is a reason to buy now, and agents comparing stores in December will mention it; the old window left in the data hides the offer you made.

Check the fix

  1. Check any page for an Organization block with hasMerchantReturnPolicy.
  2. Run the scan; the return policy finding should be gone.

Run the check that reported SCHEMA_RETURN_POLICY_MISSING again after the change. The scan needs no account; an issue found during an AI shopping test needs that test run again.

Terminal
npx @tragent/cli scan https://your-store.com

Common mistakes

  • A return window in the data that differs from the policy page.
  • Declaring free returns when the shopper pays for the label.