ImplementationUpdated 2026-08-17

Shipping data for AI agents

"Ships in time for Friday" and "under $150 delivered" are ordinary shopping constraints and both require shipping data an agent can compute with. A store that publishes cost and delivery window as structured fields can satisfy them. A store with a shipping page cannot.

Definition

Machine-readable shipping data is schema.org OfferShippingDetails attached to a product offer, expressing shipping cost, destination and delivery time as structured values so an AI agent can evaluate delivery-constrained and total-cost queries.

The two queries that need it

Shipping data is not a nice-to-have field; it is what makes two entire classes of query answerable.

Delivery-constrained
"I need it by Friday." Without a transit time an agent cannot include you in the candidate set at all — it will not guess.
Total-cost
"Under $150 delivered." A $139 product with unknown shipping cannot be compared against a $145 product with free shipping; the unknown loses.

The shape

OfferShippingDetails carries the rate, the destination it applies to, and the time. Transit time is expressed as a range in days, which is what an agent needs to reason about a deadline.

OfferShippingDetails inside the offer
"offers": {
  "@type": "Offer",
  "price": "129.00",
  "priceCurrency": "USD",
  "availability": "https://schema.org/InStock",
  "shippingDetails": {
    "@type": "OfferShippingDetails",
    "shippingRate": {
      "@type": "MonetaryAmount",
      "value": "0",
      "currency": "USD"
    },
    "shippingDestination": {
      "@type": "DefinedRegion",
      "addressCountry": "US"
    },
    "deliveryTime": {
      "@type": "ShippingDeliveryTime",
      "handlingTime": {
        "@type": "QuantitativeValue",
        "minValue": 0,
        "maxValue": 1,
        "unitCode": "DAY"
      },
      "transitTime": {
        "@type": "QuantitativeValue",
        "minValue": 2,
        "maxValue": 5,
        "unitCode": "DAY"
      }
    }
  }
}

Common mistakes

Shipping is the field most often published in a form that technically validates and practically tells an agent nothing.

MistakeEffect
Free-shipping threshold only in a bannerNot machine-readable; total-cost queries treat shipping as unknown
Delivery time as prose ("ships fast")Deadline queries cannot include the product
No shippingDestinationCannot be applied to a buyer in a specific country
Handling time folded into transit timeUnderestimates the deadline; produces recommendations you miss
One rate for a multi-region catalogueWrong for most buyers; contradiction at checkout costs trust
What goes wrong

Conditional free shipping

Threshold-based free shipping is common and awkward to express. The workable approach is to emit the rate that applies to that offer as configured, and to state the threshold in your policy page and llms.txt so an agent evaluating basket-level questions has it.

Do not emit a zero rate on every product because free shipping exists above $75. An agent that quotes free delivery on a $20 item has produced a wrong answer with your name on it.

Frequently asked questions

How do I publish shipping information for AI agents?
Attach schema.org OfferShippingDetails to the product offer with shippingRate, shippingDestination, and deliveryTime split into handlingTime and transitTime as day ranges. A shipping policy page is not machine-readable enough to answer a deadline query.
Why does delivery time need to be structured?
Because deadline queries — "I need it by Friday" — are evaluated against a computable range. An agent will not infer a transit time from prose; it will exclude the product from the candidate set instead.
How should I handle free shipping over a threshold?
Emit the rate that actually applies to that offer and state the threshold in your policy page and llms.txt. Marking every product as free shipping because a basket threshold exists produces recommendations that are wrong at the item level.
Does shipping data matter if I only sell domestically?
Yes, and it is simpler: one shippingDestination, one rate, one transit range. The field still decides whether you can appear in total-cost and deadline queries within that market.

Check your shipping and returns signals

The scan reports which policy terms are machine-readable and which exist only as prose.

Your store vs. competitor

Unlocks AI preference

Free scan · ~30 seconds · No account

Related

From the blog