Structured data for returns and policies is the implementation of machine-readable schema that tells AI agents exactly what your return window, shipping cost, delivery timeline, and refund terms are without requiring them to extract that information from prose. When an agent evaluates your store for a recommendation, it does not read your help center page. It queries structured fields. A 30-day free return policy that lives only in a paragraph is invisible to that evaluation. The same policy exposed through MerchantReturnPolicy schema is a competitive trust signal agents factor into every comparison. This post covers the three schema types that matter, the specific fields agents extract from each, and how to implement them on Shopify and WooCommerce.
Are your policies visible to AI agents?
AI Advantage Agency audits Shopify and WooCommerce stores for structured data gaps including return policy, shipping, and policy schema that agents use as trust signals.
The Quick Take: Prose Policy vs. Structured Data for Returns and Policies
| Prose Policy Page | Structured Data for Returns and Policies |
|---|---|
| Human-readable: written for shoppers scanning a help page | Machine-readable: typed fields agents query directly without parsing prose |
| Ambiguous to agents: “30 days” buried in a paragraph may or may not be extracted correctly | Unambiguous: merchantReturnDays: 30 is a typed integer agents read with certainty |
| Missing = assumed generous: humans give benefit of the doubt on unstated policies | Missing = assumed risky: agents treat missing policy schema as higher transaction risk and deprioritize the product |
| Passive: shoppers must navigate to the policy page to find it | Active: agents pull policy data at the moment of product evaluation without any navigation |
The Takeaway: Structured data for returns and policies turns policies you already have into machine-readable competitive signals agents factor into every recommendation.
💡 Pro Tip: An audit of ecommerce stores found that 94% are missing hasMerchantReturnPolicy in their product schema. (Dev.to, 2026.) That gap means almost every store that adds return policy structured data gains an immediate trust signal advantage over the majority of their competitors in AI agent evaluations.
Table of Contents
→ Why AI Agents Need Structured Policy Data
→ MerchantReturnPolicy Schema: The Fields That Matter
→ OfferShippingDetails Schema: Delivery Time and Shipping Cost
→ ShippingService Schema: Store-Level Shipping Policy
→ How to Implement on Shopify
→ How to Implement on WooCommerce
→ The Bottom Line on Structured Data for Returns and Policies
→ FAQ: Common Questions
Why AI Agents Need Structured Policy Data
AI agents cannot reliably extract policy terms from prose, and they do not try. When an agent evaluates a product for recommendation, it queries structured schema fields directly. If a return policy field is absent, the agent does not read your help page and infer a policy. It treats the missing data as uncertainty and scores your product as higher transaction risk than a competitor whose policy is structured and queryable.
This is not an SEO problem. It is a machine trust problem. Agents that recommend a product bearing hidden return terms and then fail to deliver on buyer expectations lose the trust of the buyer who delegated that purchase. Agents are therefore trained to avoid uncertain policy signals. A store with no return policy schema is not treated as having a generous return policy by default. It is treated as a higher-risk recommendation than a store whose policy is explicit, structured, and accurate.
The practical consequence is significant. Two products at similar price points, with similar reviews and availability, separate cleanly on policy schema. The product with complete MerchantReturnPolicy and OfferShippingDetails schema wins the recommendation. The product without it loses to a competitor that may not even have a better return policy, just a better-structured one. For context on how policy data fits into the broader agent evaluation framework, see how AI agents evaluate products across all five trust signal categories.
MerchantReturnPolicy Schema: The Fields That Matter
MerchantReturnPolicy is the primary schema type agents use to evaluate your return terms. It is nested inside your Offer schema using the hasMerchantReturnPolicy property. Google officially supports it for return policy display in search results and Merchant Center, and AI shopping agents use the same structured fields for trust evaluation during product comparisons.
The fields agents extract most commonly are:
- returnPolicyCategory: whether you offer a finite return window, unlimited returns, or no returns. Use the schema.org enum values:
MerchantReturnFiniteReturnWindow,MerchantReturnUnlimitedWindow, orMerchantReturnNotPermitted. - merchantReturnDays: the number of days buyers have to initiate a return. This is the field a buyer’s agent checks when they ask “does this store accept returns within 30 days.”
- returnMethod: how items are returned. Common values:
ReturnByMail,ReturnInStore,ReturnAtKiosk. - returnFees: whether return shipping is free or charged.
FreeReturnvsReturnShippingFees. Free returns is a positive trust signal in AI pricing comparisons. - refundType:
FullRefund,ExchangeRefund, orStoreCreditRefund. Agents factor refund type into purchase risk evaluation.
Place MerchantReturnPolicy on your return policy page nested inside an Organization schema node, and reference it from individual product Offer nodes using hasMerchantReturnPolicy. This approach defines the policy once and links it across your entire catalog rather than duplicating it on every product page. For the complete schema implementation pattern including the @graph structure, see product schema for agentic commerce.
OfferShippingDetails Schema: Delivery Time and Shipping Cost
OfferShippingDetails is the schema type that makes your shipping cost and delivery timeline queryable by agents at the product level. When a buyer’s agent filters for products available by a specific date or with free shipping, it queries OfferShippingDetails fields. Products without this schema cannot answer those temporal queries and are excluded from the comparison set regardless of their actual shipping capability.
OfferShippingDetails nests inside your Offer schema using the shippingDetails property. The key fields are:
- shippingRate: the cost to ship the product as a MonetaryAmount. Set value to 0 for free shipping. This is the field agents use in AI pricing comparisons to calculate total landed cost.
- deliveryTime: a nested ShippingDeliveryTime object containing handlingTime (how long before the order ships) and transitTime (how long in transit). Both expressed as QuantitativeValue with minValue and maxValue in days.
- cutoffTime: the order cutoff time after which same-day processing no longer applies. Expressed in ISO-8601 time format. Agents use this to calculate whether a product can arrive by a buyer’s stated deadline.
- shippingDestination: a DefinedRegion object specifying which geographic areas this shipping rate applies to. Required for multi-region stores with different shipping tiers.
OfferShippingDetails is product-level schema. Each product variant with a different shipping cost or delivery timeline needs its own OfferShippingDetails node. For stores with a single flat shipping rate across all products, one OfferShippingDetails configuration applied uniformly is sufficient. Verify your output with Google’s Rich Results Test after implementation to confirm agents can read your shipping fields correctly.
ShippingService Schema: Store-Level Shipping Policy
ShippingService is the Organization-level schema type that defines your store’s overall shipping policy, as distinct from the per-product OfferShippingDetails. Where OfferShippingDetails answers “how much does it cost to ship this specific product,” ShippingService answers “what shipping services does this store offer overall.”
ShippingService nests inside your Organization schema using the hasShippingService property. It is placed on your shipping policy page, not on product pages. The key fields include the service name, a description of shipping tiers and conditions, and nested OfferShippingDetails nodes for each shipping tier you offer.
For most SMB ecommerce stores, ShippingService is the lower-priority implementation compared to MerchantReturnPolicy and OfferShippingDetails. Agents extract more actionable signals from product-level shipping data than from store-level shipping service descriptions. Implement MerchantReturnPolicy and OfferShippingDetails first. Add ShippingService once those are validated and confirmed to be returning correct data in Google’s Rich Results Test.
How to Implement on Shopify
Shopify does not generate MerchantReturnPolicy or OfferShippingDetails schema by default. The platform includes basic Product schema through its Catalog infrastructure, but policy and shipping schema require explicit implementation through a schema plugin or custom JSON-LD injection.
The most accessible path for Shopify stores is the JSON-LD for SEO app by Ilana Davis, which includes dedicated fields for both return policy and shipping policy configuration in its Business Settings. The app generates the correct schema structure and keeps it in sync with your store settings. Configure your return policy fields (return window, return method, refund type, return fees) and shipping fields (shipping rate, handling time, transit time) in the app settings. Validate the output with Google’s Rich Results Test before considering implementation complete.
For stores that prefer manual control, add MerchantReturnPolicy and OfferShippingDetails as JSON-LD blocks through your theme’s theme.liquid file or using Shopify’s Script tag API. Keep policy schema on your policy pages and reference it from product pages using hasMerchantReturnPolicy and shippingDetails properties in your product Offer schema. Never add policy schema only to product pages without defining the policy node separately. Duplicate definitions across thousands of product pages create maintenance overhead and schema conflicts that suppress your rich result eligibility.
How to Implement on WooCommerce
WooCommerce stores have two viable implementation paths for structured data for returns and policies: RankMath Pro or custom JSON-LD snippets.
RankMath Pro supports MerchantReturnPolicy schema through its structured data settings at the store level. Navigate to RankMath settings, select Schema, and configure your return policy fields using the WooCommerce schema builder. RankMath generates the correct JSON-LD output and applies it to your policy pages. For OfferShippingDetails at the product level, RankMath Pro allows custom schema addition per product or through schema templates applied to product categories.
Yoast does not natively support MerchantReturnPolicy as a configurable schema type as of mid-2026. Yoast users on WooCommerce need to add return policy and shipping schema through a custom JSON-LD snippet in their theme’s functions.php or through a dedicated schema plugin. Add the MerchantReturnPolicy block to your return policy page using wp_head action hook and reference it from your product schema output. Never use microdata for policy schema on WooCommerce. Page builders strip microdata attributes on save. JSON-LD is the only reliable implementation method on this platform.
After implementation on either platform, validate every policy schema type with Google’s Rich Results Test. Policy schema errors are common on first implementation and easy to miss without validation. A schema block with a syntax error returns no data to agents, which is functionally identical to having no schema at all. Review the agentic commerce readiness checklist for the full set of structured data requirements across all agent evaluation layers.
The Bottom Line on Structured Data for Returns and Policies
Structured data for returns and policies is one of the highest-leverage schema investments an SMB ecommerce brand can make in 2026, precisely because most stores have not made it. With 94% of stores missing return policy schema, implementing MerchantReturnPolicy alone puts your store in the top 6% of the competitive field for that trust signal. The policy itself does not need to change. Only its machine-readability does.
The implementation priority order is straightforward. Start with MerchantReturnPolicy: it is the field agents weight most heavily in trust evaluation and the gap is largest. Add OfferShippingDetails next to make your shipping cost and delivery timeline queryable at the product level. Add ShippingService last to complete the store-level policy picture for agents operating through UCP. Validate each type after implementation and fix any errors before moving to the next. For more on how brand agents use this policy data when answering shopper questions on your behalf, the brand agents post covers how the data foundation feeds agent accuracy directly.
The core principle is the same as every other agentic commerce optimization: agents cannot factor in signals they cannot read. A generous return policy that exists only in prose is invisible in every AI comparison your products enter. Structure it once, validate it, and let it work as a competitive signal in every agent evaluation from that point forward.
🎯 Make Your Policies Machine-Readable
AI Advantage Agency implements MerchantReturnPolicy, OfferShippingDetails, and ShippingService schema for Shopify and WooCommerce stores, turning your existing policies into structured trust signals agents use in every recommendation.
Most stores can implement all three policy schema types in a single session.
Frequently Asked Questions About Structured Data for Returns and Policies
What is structured data for returns and policies?
Structured data for returns and policies is machine-readable JSON-LD schema that exposes your return window, shipping cost, delivery timeline, and refund terms as typed fields AI agents can query directly. The three primary schema types are MerchantReturnPolicy, OfferShippingDetails, and ShippingService.
Why do AI agents need structured return policy data?
AI agents cannot reliably extract policy terms from prose. When return policy schema is missing, agents treat the product as higher transaction risk and deprioritize it in recommendations. Agents do not assume a generous return policy exists when none is structured. Agents assume uncertainty and recommend competitors with structured policies instead.
What is MerchantReturnPolicy schema?
MerchantReturnPolicy is a schema.org type that defines your return terms in machine-readable fields including returnPolicyCategory, merchantReturnDays, returnMethod, returnFees, and refundType. It nests inside your Offer schema using the hasMerchantReturnPolicy property and is officially supported by Google for return policy display in search results.
What is OfferShippingDetails schema?
OfferShippingDetails is a schema.org type that exposes your shipping cost and delivery timeline at the product level. It includes shippingRate, deliveryTime (with handlingTime and transitTime), cutoffTime, and shippingDestination. Agents use it to answer delivery deadline queries and calculate total landed cost in pricing comparisons.
How do I implement return policy schema on Shopify?
The most accessible path for Shopify is the JSON-LD for SEO app by Ilana Davis, which includes return policy and shipping policy configuration in its Business Settings. For manual control, add MerchantReturnPolicy JSON-LD to your return policy page and reference it from product Offer schema using the hasMerchantReturnPolicy property. Validate with Google’s Rich Results Test.
How do I implement return policy schema on WooCommerce?
RankMath Pro supports MerchantReturnPolicy through its structured data settings. Yoast users need custom JSON-LD snippets added through functions.php or a dedicated schema plugin. Never use microdata for policy schema on WooCommerce. Page builders strip microdata attributes on save. Use JSON-LD only.
What is the difference between MerchantReturnPolicy and OfferShippingDetails?
MerchantReturnPolicy defines your return terms: return window, method, fees, and refund type. OfferShippingDetails defines your shipping terms: cost, handling time, transit time, and delivery timeline. Both are needed for complete policy schema coverage. MerchantReturnPolicy is the higher-priority implementation because the gap is larger across the ecommerce ecosystem.
Where should I place MerchantReturnPolicy schema on my site?
Place MerchantReturnPolicy on your return policy page nested inside an Organization schema node, then reference it from individual product Offer nodes using hasMerchantReturnPolicy. This defines the policy once and links it across your catalog rather than duplicating it on every product page.
How do I validate return policy schema after implementing it?
Use Google’s Rich Results Test to validate your MerchantReturnPolicy and OfferShippingDetails schema after implementation. Policy schema errors are common on first implementation. A schema block with a syntax error returns no data to agents, which is functionally identical to having no schema at all.
What percentage of ecommerce stores have return policy schema?
An audit of ecommerce stores found that 94% are missing hasMerchantReturnPolicy in their product schema. Implementing MerchantReturnPolicy places your store in the top 6% for that trust signal immediately, giving you a structured competitive advantage over the vast majority of stores in AI agent evaluations.

