Sub-grade spoke
Shipping Clarity — can an agent read your delivery terms before checkout?
Agents picking a merchant for a user-initiated purchase need to know shipping cost and delivery window before they recommend the option — not at the final cart step. Sites that publish OfferShippingDetails schema and surface delivery dates on the product page get chosen over cheaper competitors with ambiguous fulfillment. Sites that reveal costs only at checkout get filtered out of agent-initiated commerce flows entirely. The bottleneck is structured data — fewer than 1% of analyzed sites currently emit shipping schema.
By Chris Mühlnickel · 2026-05-16
What is Shipping Clarity?
Shipping Clarity is whether your product pages publish OfferShippingDetails Schema.org markup with explicit shipping cost, delivery destination, and delivery-time fields — making fulfillment terms machine-readable before the cart step.
By the numbers
- 48% — of cart abandonments are caused by unexpected costs — shipping fees are the leading culprit. (Baymard Institute — Cart Abandonment Rate Statistics)
- 41% — of ecommerce sites don't provide delivery dates, forcing customers to guess when orders arrive. (Baymard Institute — Cart Abandonment Rate Statistics)
- 0.89% — of analyzed sites publish OfferShippingDetails schema — agents can't read what isn't there. (HTTP Archive Web Almanac 2024 — Structured Data)
Why it matters
Agents transacting on behalf of users need fulfillment certainty before they commit. The user's instruction is "buy me these running shoes by Friday." The agent's job is to find the merchant who can credibly deliver by Friday at a fair price. That decision happens at the product-page comparison step — not at checkout, not after the order is placed. The 48% of cart abandonments Baymard attributes to unexpected costs is the human-side version of the same problem; agents make the decision earlier in the flow and they make it with more discipline. The merchant who publishes OfferShippingDetails machine-readably wins these comparisons; the merchant who hides shipping until checkout doesn't even make the shortlist.
The shipping-data gap is structural, not editorial. Web Almanac measured 0.89% of analyzed sites publishing OfferShippingDetails schema. That's a near-empty market. Most sites have shipping terms — they just publish them as HTML copy in a separate FAQ, a footer link, or a popup at checkout. To agents, those terms don't exist until extraction tooling reaches them, which is unreliable and which agents don't trust enough to base a transaction on. The site that ships structured shipping data steps into a category with effectively no competition for the agent-checkout share.
Delivery windows matter more than shipping cost. The 41% of sites Baymard found that don't publish delivery dates is the harder failure than the 48% that have unexpected costs. Cost is a number the agent can compare; an absent delivery date is a black hole the agent can't reason about. "Ships in 2-3 business days" in unstructured marketing copy doesn't tell the agent which calendar day the user receives the package — a calculation the agent needs to do to honor the user's deadline. Structured deliveryTime fields ship that calculation; visible text doesn't.
Agent-checkout protocols make shipping schema a hard gate. ACP (OpenAI/Stripe) and UCP (Google/Shopify) require the agent to confirm fulfillment terms before submitting payment. Sites without OfferShippingDetails fail the pre-purchase confirmation step and the transaction routes elsewhere. The shipping-markup work that looks like an SEO nice-to-have today is the access ticket to agent-initiated commerce within 12 months — and sites that ship it early are positioned for the early traffic share when those flows scale.
Where it's heading
Real-time delivery windows replace static SLAs. Today most sites publish a fixed shipping window ("3-5 business days"). Within 12-24 months expect agents to consult real-time inventory and carrier-API data — surfaced through schema extensions or dedicated agent-callable endpoints — to give users a calendar date rather than a range. Sites with strong baseline OfferShippingDetails markup adopt the real-time extensions cheaply; sites still hand-rolling static text are two iterations behind.
Shipping-cost transparency becomes a regulatory requirement. The EU's Omnibus Directive and similar US state laws are tightening on hidden checkout fees. The compliance answer is the same as the agent-readability answer: publish total cost — including shipping — at the product-page comparison step. Sites that ship machine-readable shipping data are already compliant; sites that delay disclosure to checkout face both regulatory and citation downside.
Agent-checkout flows make Shipping Clarity table stakes. When ChatGPT, Claude, Perplexity, and Operator-class agents begin completing transactions natively, the merchant set is filtered to those whose shipping terms the agent can pre-confirm. Sites without structured shipping data drop out of the eligible merchant pool by construction. The market for agent-initiated commerce is small today and large by 2027 — sites earning the markup position now compound the share as the channel scales.
Common mistakes
- Shipping cost revealed only at the cart step. Agents won't navigate three pages to discover the number; the comparison is over before the checkout.
- No delivery date or window on the product page. A range buried in a separate FAQ doesn't let an agent honor a user's deadline. Structured
deliveryTimeis the fix. - Free-shipping threshold as marketing copy. 'Free over $50' as a banner image. Agents miss it; humans see it. Structure both layers.
- International shipping invisible to agents. Domestic OfferShippingDetails with no array entries for other regions reads as domestic-only — international shoppers go elsewhere.
- Shipping schema published but visible terms missing. Agents pass; human shoppers get blindsided at checkout. Both layers belong on the product page.
Frequently asked
What's the minimum shipping markup a product page needs?
An OfferShippingDetails block nested inside the Product Offer, with shippingRate (cost + currency), shippingDestination (country or region), and deliveryTime (handling + transit windows). Optionally shippingDetailsId for re-use across products. The fields look granular but they're the exact set Google Merchant requires and the exact set agents look for. A Spekto audit reports the per-page gaps.
Do agents really refuse to recommend sites with ambiguous shipping?
Refuse is strong — they degrade them. When an agent has three candidate merchants for a user's stated product, the agent ranks the option with explicit delivery windows above the option that requires the user to click into a separate Shipping FAQ page. Sites that publish a shipping window machine-readably win the recommendation comparisons even when they're a few dollars more expensive than the ambiguous competitor.
Is OfferShippingDetails worth the effort if my shipping is the same across all products?
Yes — and the implementation is cheaper than per-product because you can publish one shippingDetailsId and reference it from every Offer block. The lift is mostly schema plumbing, not per-SKU work. Sites with uniform shipping policies (free over $N, $N flat under, X-Y business days) ship the cleanest version of this markup with one shared block.
What about international shipping — multiple zones, multiple windows?
OfferShippingDetails supports an array of blocks per Offer. Publish one per destination region with the matching shippingDestination, shippingRate, and deliveryTime. The schema was designed for this case. Sites that ship internationally and emit only domestic shipping data look domestic-only to agents — the international shoppers route to a competitor with the markup.
How does this interact with free-shipping thresholds?
The current schema supports it indirectly via the shippingRate block with conditional pricing notes, but the cleaner pattern is a dedicated freeShippingThreshold reference on the Offer. Sites that publish a free-shipping threshold as machine-readable data make it trivial for agents to surface 'add $12 more for free shipping' suggestions during agent-assisted shopping. Sites that hide the threshold in marketing copy don't trigger the upsell.
What's the relationship between Shipping Clarity and Agent Commerce protocols?
Agent-checkout flows under ACP and UCP need shipping cost and delivery window as pre-purchase data — the agent has to confirm the terms before committing the user's payment. Sites without OfferShippingDetails schema are blocked from these flows by definition: there's nothing for the agent to confirm. Shipping Clarity is the prerequisite for agent-completed transactions, not just an SEO nice-to-have.
Where does shipping cost belong on the product page itself, separate from schema?
Above the fold, next to the add-to-cart button. The schema is for agents; the visible surface is for human shoppers and for the agents that fall back to extracting from visible HTML when the schema is missing. The two-tier rubric — structured > visible text — means sites that ship both layers earn full credit, sites that ship only visible text earn partial credit, and sites that ship only the schema (no visible disclosure) confuse human shoppers. Both belong.