Rudra Kasturi Inc.

Article · AEO

Shipping policy markup for merchants: how to describe rates and delivery times to Google

SUMMARY

Google's shipping policy documentation (last updated 8 September 2026) says to describe a standard policy once, with ShippingService nested under Organization using hasShippingService, and to override a specific product with OfferShippingDetails under Offer. Google may show shipping information next to products and in knowledge panels. The rollout is ours.

Shoppers and shopping systems ask the same questions: how much does shipping cost and when will it arrive? Google’s shipping policy documentation (last updated 8 September 2026 as we read it) explains how to answer them in markup, once for the business and again where a product is different.

Best for: ecommerce managers, merchandisers and developers.

Shipping policy markup: one policy page, nested under Organization, with rates and times, and overrides per product

What Google says

  • When you add ShippingService structured data, Google Search can use it to display shipping information alongside your products and in knowledge panels.
  • It lets you specify shipping costs and delivery times that depend on product characteristics such as weight or dimensions, or on delivery location.
  • A standard policy for most or all products goes in ShippingService, nested under Organization with the hasShippingService property. Google recommends putting it on a single page that describes your shipping policy, not on every page.
  • For a non-standard policy on a specific product, use OfferShippingDetails under Offer with the shippingDetails property. The properties supported at offer level are a subset of those at organisation level. See Google’s merchant listing documentation for that subset.
  • shippingConditions is required. It specifies the shipping cost and delivery times that apply for a set of conditions, such as a weight range, order value or destination. Other properties include name, description, fulfillmentType (delivery to an address, or to a collection point), handlingTime and validForMemberTier for loyalty tiers.
  • Within conditions, recommended properties include shippingDestination, shippingRate and doesNotShip.
  • Google’s example describes free two-day shipping over a price threshold in some countries and no shipping below a threshold elsewhere, which shows that one policy can hold several conditions.

What to do: step by step

StepOwnerTimeHow to checkDone when
1. Write the policy in plain textOperations2 hoursDestinations, thresholds, rates, handling and delivery timesOne approved page
2. Publish one shipping pageContent1 hourA single URL linked from the footerPage live and crawlable
3. Model the conditionsDeveloper2 hoursOne ShippingService per policy, one condition per rowEach rule in the text has a condition
4. Nest under OrganizationDeveloper1 hourhasShippingService on your organisation markupValidates with no errors
5. Add product overridesDeveloper2 hoursOfferShippingDetails for exceptions onlyEach exception has a reason
6. Match markup to the pageMerchandiser30 minCompare rates and timesNo mismatch
7. Review when rates changeOperationsQuarterlyDated change noteMarkup updated within a week

A worked example (made-up)

A shop ships free in two days within India for orders above 1,999 rupees, otherwise charges 99 rupees and takes four days. It does not ship to two regions. It publishes one policy page, a ShippingService with three conditions and doesNotShip for the excluded regions, and an override for oversized furniture with its own rate and time.

Common mistakes

  • Putting a different policy in markup from the one the page states.
  • Repeating the full policy on every product page instead of using offer-level overrides for exceptions.
  • Leaving old delivery times after a courier change.
  • Forgetting that offer-level details support fewer properties.

Related: product data for AI shopping, organization markup and sameAs and Google’s universal cart. Display of shipping information is not guaranteed.

Sources