If your return policy leaves out the window, AI checkout should read it as “not stated”
A draft spec for the standard behind Google’s Universal Cart says a missing return window never means unlimited. Here is what the proposal says, where it stands, and a six-point check for your returns page.
Google says checkout in its Universal Cart is powered by the Universal Commerce Protocol, or UCP. UCP is an open standard, and its contributors are now writing down how a return policy should be described to software. The proposal makes one rule very plain: if you leave something out, a machine should not guess.
Where the proposal stands
This matters for how you read everything below. The return-policy extension was opened as pull request #634 on the UCP GitHub repository. Pull request #966 is a set of suggested changes to #634. According to GitHub, #966 was merged into #634’s branch at 04:01 UTC on Oct 22, which is 9:01 PM Pacific on Oct 21. At that time #634 itself was still open and under review.
Update, checked Oct 27: GitHub now shows #634 merged into the main branch on Oct 23. UCP’s latest tagged release is still v2026-08-25, which is older than both pull requests. So the text is in the repository’s main branch, but we have not seen it in a tagged release. Treat it as a direction, not a finished rule.
Missing means not stated
The pull request says an omitted window used to mean two opposite things: “returns at any time” and “the business did not say”. The new design replaces that with an explicit field. Eligibility has three types: window, unlimited, or not accepted.
The current spec text on main goes further. A missing eligibility field means eligibility is not stated. A platform must not read it as returns with no time limit, and must not read it as returns not allowed. It may show the policy from the plain description instead.
The proposal says Google Merchant Center and schema.org both already model these states one to one. So this is a familiar idea, now written for AI checkout.
The business states the deadline
A window has a length, written as an ISO 8601 duration such as P30D for 30 days, and an anchor, the event that starts the clock. Once that event has happened, the business states the actual deadline itself, as a timestamp called expires_at. The pull request explains why: platforms computing dates from delivery events kept going wrong, so the business that knows the number should say it.
For you, that means your policy needs a start point. “30 days” is incomplete. “30 days from delivery” is something a system can store. The spec’s own anchor list includes purchased, and its examples use delivered.
Fees are a list, with a cap
Fees become a list. Each entry says what the fee is for, such as restocking or return shipping, and can apply to one channel only, such as in store or by mail. A price is a flat amount, a percentage, or a percentage with a maximum. The pull request calls these estimated maximums. A business must not state a lower figure than it charges.
One more rule helps free returns. Only an explicit zero means nothing is charged. A platform must not show a channel as free just because no fee was listed.
The sample policy in the pull request shows the shape: 30 days from delivery, refund or exchange, free returns in store, and by mail a $5 return shipping fee, a $1 eco fee, and a 15% restocking fee up to $50 on opened items. These values are the PR’s example, not a real store’s terms.
Six things to check on your returns page
Nothing here is required of you today. But the same facts are what a shopper’s agent will look for, and a gap is read as “not stated”. Tick them off as you go.
How Shopthru.ai helps
Shopthru.ai is an AI agents team for consumer brands. It asks ChatGPT, Gemini, Google AI, Perplexity and Copilot what your shoppers ask, finds where AI gets your products, prices or policies wrong, and drafts each fix into an approval inbox. It ships only on your yes, then checks again. Instagram and Amazon are next.
Sources
- Universal Commerce Protocol, pull request #966, feat(return): explicit eligibility, business-stated deadlines, typed fees, merged Oct 21, 2026 (PT)
- Universal Commerce Protocol, pull request #634, feat: add return policy extension, merged into main Oct 23, 2026
- Universal Commerce Protocol, return-policy.md on the main branch (read Oct 27, 2026)
- Google, “An intelligent new shopping cart”, Oct 15, 2026