On-Site Content · Last verified: MAY 2026

Chapter 13 — Policy Schema

Definition

Policy schema is the structured-data layer covering returns (MerchantReturnPolicy) and shipping (OfferShippingDetails) — the two question categories AI engines field most often before recommending a product. When a shopper asks ChatGPT “do they have free returns?” or “how long does shipping take?”, AI engines look for these two schema types to answer with confidence. Pages without them either get skipped or recommended hesitantly, with the AI deferring to whoever marked their policies up cleanly. Most Shopify stores ship neither. The few that do unlock a citation surface most operators don’t know exists.


Why it matters

Policy schema closes the trust gap that pure product schema can’t.

Stacked Product + Offer schema covers what a product is. Policy schema covers what happens after a shopper buys it — and AI engines weight that information heavily when deciding whether to recommend a store. Google’s primary documentation is direct: MerchantReturnPolicy lets Search “display return policies alongside your products and in knowledge panels in Search results”1, and OfferShippingDetails “enables people to see shipping costs and estimated delivery timeframes based on their location and your company’s shipping policies”2. Both are now ranking factors for the Merchant Listing rich result, the same surface that feeds Google AI Mode’s product answers.

For a Shopify operator, three structural facts matter:

1. AI engines extract policy answers directly from schema. Shoppers asking AI assistants questions like “does X have free returns?” or “what’s the shipping time to California?” trigger AI engines to look first at structured data, then fall back to scraping policy pages if schema is missing. The schema-driven answers are faster, more confident, and more likely to be cited. The scraped answers are uncertain — and an uncertain AI defaults to the competitor that gave it certainty.

2. The Organization-level pattern is leverage. Google’s recommendation: place return and shipping policies once at the Organization (or OnlineStore) level using hasMerchantReturnPolicy and shippingDetails properties — not duplicated on every product page13. A single well-formed policy block at /policies/refund-policy and /policies/shipping-policy propagates across the entire catalog. One implementation, thousands of products covered. Most Shopify stores never do it.

3. Mismatch between schema and visible content is a manual-action trigger. This rule, established for Product + AggregateRating in Ch. 8, applies just as strictly to policy schema. Schema declares 30-day returns, page says 14 — Google may demote or remove the listing entirely, and AI engines lose trust in the source. The schema must mirror what the visible policy actually says, exactly.

4. The conversational-ad layer is already live and expanding into retail. OpenAI launched ChatGPT Ads in February 2026, and the first confirmed placements include hotel listings with a distinctive feature: direct in-chat conversation with the advertiser. Shoppers can ask questions about an advertised property without leaving ChatGPT7. OpenAI’s own Help Center confirms that users can message advertisers through ad units to ask questions while making purchase decisions8. The mechanic is shipped for hospitality; AI Commerce features for retail purchase completion are on OpenAI’s documented roadmap for Q1 2027. For Shopify merchants, the implication is structural: when conversational ad engagement expands to retail and shoppers can ask “what’s the return window?” or “how fast does shipping arrive?” mid-conversation with the AI, the merchants whose policy data is machine-readable in advance will be the ones the AI can answer for confidently. Merchants without policy schema will require the AI to defer, hedge, or send the user elsewhere — and AI engines optimize against deferral.

The practical consequence: a Shopify store with clean Product + Offer schema but missing policy schema is leaving the rich result enhancement on the table — and ceding citation share to competitors who completed the stack. The window before retail conversational-ad engagement ships is the window to get policy schema implemented and tested.


What separates AI-citable policy schema from generic ones

Three properties consistently distinguish policy schema that earns citations from policy schema that gets ignored:

Organization-level placement. Generic: copy-paste a MerchantReturnPolicy block onto every PDP. Maintenance becomes impossible at scale; the data drifts; updates take weeks. AI-optimized: declare once at the Organization level on /policies/refund-policy and /policies/shipping-policy, with hasMerchantReturnPolicy referencing it13. Single source of truth, propagates across the catalog, updated in one place.

Required + recommended properties both populated. Generic: minimum-viable schema with just returnPolicyCategory and applicableCountry. AI-optimized: required properties (returnPolicyCategory, applicableCountry) plus the recommended set that AI engines extract for answer richness — merchantReturnDays, returnMethod, returnFees, refundType. For shipping: shippingRate, shippingDestination, plus handlingTime and transitTime separately24. The recommended set is what makes the answer specific enough to be useful.

Schema-content-page mirror. Generic: schema says one thing, the policy page on the site says another. AI-optimized: every value in the schema matches a visible value on the policy page — same return window, same shipping cost, same applicable countries, same return methods1. AI engines cross-reference both before answering with confidence; mismatch breaks the trust contract and risks manual action.

Across all three properties, the same principle: policy schema is operational documentation in machine-readable form. The text on your /policies/refund-policy page is for humans. The schema is for the AI engines, the merchant programs, and the ad systems that power your distribution. Both must say the same thing.


The system

CadenceTaskDifficultyNote
SetupAudit current MerchantReturnPolicy implementation — Organization-level vs missing vs partial🟡Most Shopify themes ship none by default
SetupAudit current OfferShippingDetails implementation — Organization-level vs missing vs per-product🟡Theme-level shipping schema is rarer than return-policy schema
SetupImplement organization-level policy schema in theme.liquid referencing visible policy pages🔴Single source of truth; catalog-wide coverage
SetupMap all required properties (returnPolicyCategory, applicableCountry for returns; shippingRate, shippingDestination, deliveryTime for shipping)🟡Without required properties the schema is invalid; rich result eligibility lost
SetupMap recommended properties for citation richness (merchantReturnDays, returnMethod, returnFees, handlingTime, transitTime)🟡Recommended properties drive specific AI answer extraction
ValidationPaste each policy page into Google Rich Results Test🟢Catches required-property gaps and syntax errors
ValidationCross-check every schema value against visible policy page content🔴Mismatch is a manual-action trigger (Ch. 8)
ValidationVerify policy schema is in initial HTML — curl -A "GPTBot/1.0" against /policies/refund-policy🟡Client-injected schema is invisible to first-pass AI crawlers
ValidationTest policy answer extraction across ChatGPT, Gemini, Perplexity using shopper questions🟡Confirms the schema actually feeds the answer-extraction layer
ValidationConfirm Merchant Listings report in Google Search Console shows no errors🟢Google’s own diagnostic of schema-policy fit
MaintenanceSchema-content parity check whenever the policy text changes🔴Marketing or legal changes the policy page; schema drifts; mismatch silent
MaintenanceQuarterly review of new MerchantReturnPolicy / OfferShippingDetails properties (Google adds them regularly)🟡The 2024 expansion added customerRemorseReturnFees and related fields1
MaintenanceAnnual full audit of policy schema across all regional sites (Shopify Markets)🔴Multi-region stores need per-region applicableCountry blocks

Common gaps (8 out of 10 audits)

  • No MerchantReturnPolicy schema anywhere. The most common gap. Shopify themes don’t ship it by default; most stores have never been told it matters. Search Console flags it as “Missing field hasMerchantReturnPolicy” — and most owners ignore the warning because they don’t know what to do with it.
  • No OfferShippingDetails schema anywhere. Even rarer than missing return policy. Stores publish detailed shipping policy pages that humans can read; AI engines see nothing structured.
  • Per-product policy schema instead of organization-level. Some implementations duplicate the policy block on every PDP. Maintenance becomes impossible at catalog scale; values drift; one product update breaks the consistency. The Organization-level pattern Google explicitly recommends gets skipped.
  • Required properties present, recommended properties missing. Bare-minimum schema validates but tells AI engines nothing useful. returnPolicyCategory: MerchantReturnFiniteReturnWindow plus applicableCountry: US passes validation; without merchantReturnDays, the AI still doesn’t know how long the window is.
  • Schema says 30-day returns, policy page says 14. Marketing or legal updates the visible page; schema is never touched. Mismatch silent until Google flags it or AI engines lose confidence and stop citing.
  • Multi-region stores with single-region schema. US-based store ships internationally but declares only applicableCountry: US in MerchantReturnPolicy. EU shoppers asking about returns get no answer; competitor with multi-region schema gets the recommendation.

Paid layer connection

Policy schema feeds the same Merchant Center feed that powers Google Shopping Ads, Performance Max, and ChatGPT Ads. A store with clean policy schema qualifies for shipping-and-returns annotations on its ads — which Google’s data shows lift CTR and quality scores measurably. The same implementation work earns organic AI citations and paid ad enhancements simultaneously.

The conversational-ad layer raises the leverage further. ChatGPT Ads with direct in-chat advertiser engagement (currently shipped for hospitality, expanding to retail) turns the policy schema into an answer source the AI can quote on the merchant’s behalf. A shopper sees the ad, asks ChatGPT “what’s their return policy?” mid-conversation, and the AI answers from the merchant’s structured data in seconds — without the shopper leaving the chat or the merchant fielding a manual question. Stores without policy schema either get hedged answers (“you’d need to check with the retailer”) or get filtered out of the conversational-ad experience entirely. Either failure mode loses the conversion. Policy schema is the same single implementation that earns organic citation eligibility and conversational-ad performance.


Deeper dive

Standalone posts will go further on:

  • Organization-level policy schema for Shopify — full Liquid markup with regional handling
  • Multi-region policy schema — per-country applicableCountry blocks for stores using Shopify Markets

Subscribe → — 4x weekly. Deep-dives ship here.


This chapter is on a 30-day refresh cycle. The conversational-ad-layer landscape is actively evolving; OpenAI’s retail product policy chat extension is expected to ship between late 2026 and Q1 2027. Refresh logged in this chapter’s frontmatter last_verified field.


  1. Google Search Central. Merchant Return Policy Structured Data (MerchantReturnPolicy). developers.google.com/search/docs/appearance/structured-data/return-policy. Documents the Organization-level pattern, required and recommended properties, and the 2024-2025 expansion of fields including customerRemorseReturnFees. Full reference →
  2. Google Search Central. Merchant Shipping Policy Structured Data (ShippingService) and Merchant Listing Structured Data. developers.google.com/search/docs/appearance/structured-data/shipping-policy and developers.google.com/search/docs/appearance/structured-data/merchant-listing. Documents OfferShippingDetails properties (shippingRate, shippingDestination, deliveryTime, handlingTime, transitTime) and Organization-level placement. Full reference →
  3. Schema.org. MerchantReturnPolicy type. schema.org/MerchantReturnPolicy. Authoritative vocabulary for return policy properties; informs Google’s required and recommended fields. Full reference →
  4. Google Merchant Center Help. Supported structured data attributes and values. support.google.com/merchants/answer/6386198. Documents the requirements for Merchant Center crawled offers, including handlingTime + transitTime as separate fields. Full reference →
  5. ALM Corp (February 20, 2026). ChatGPT Ads Launch in February 2026: First Confirmed Placements Appear More Aggressive Than Expected. almcorp.com/blog/chatgpt-ads-aggressive-placement-pricing-analysis. Documents hotel listings with direct in-chat conversation functionality with advertisers — the first conversational-ad mechanic in production. Full reference →
  6. OpenAI Help Center (verified May 2026). Ads in ChatGPT. help.openai.com/en/articles/20001047-ads-in-chatgpt. Confirms users can message advertisers through ad units to ask questions while making purchase decisions; advertisers receive only the messages users send directly. Primary source on the conversational-ad mechanic. Full reference →