On this page:
This is some text inside of a div block.
This is some text inside of a div block.
This is some text inside of a div block.

hasShippingService

hasShippingService · Recommended

Appears in

Organization

What is it?

hasShippingService describes shipping options an organization offers. It links an Organization to one or more ShippingService objects, each defining a named delivery option with details like cost, delivery time, and geographic coverage. This field is primarily relevant for e-commerce businesses that ship physical goods.

Google added hasShippingService to its recommended Organization markup, making it part of the merchant signals that help Google understand a business's fulfillment capabilities.

Why this matters for AEO

When a user asks "Does [store] offer free shipping?" or "How long does [brand] take to deliver?", AI answer engines pull shipping details from structured data. hasShippingService gives engines specific, machine-readable shipping policies instead of forcing them to parse FAQ pages or policy text. An organization with structured shipping data is more likely to appear in comparative queries like "online stores with free shipping on electronics."

Google also uses this field as a merchant trust signal, which influences how prominently an organization appears in shopping-related results and AI-generated product comparisons.

What the specs say

Schema.org: Expects ShippingService. "Specification of a shipping service offered by the organization." Applicable range: OfferShippingDetails, Organization. Source

Google: Recommended for Organization. "The shipping policy of your Organization, if applicable." Source

How to find your value

  • Service name — Your checkout shipping options ("Standard," "Express," "Free Shipping")
  • Delivery time — Fulfillment SLAs from your logistics provider
  • Shipping cost — Pricing rules from your e-commerce platform
  • Geographic coverage — Countries/regions you ship to
  • Free shipping threshold — Promotional rules (e.g., free over $50)

Format and code

Each shipping option is a ShippingService object. Include as many properties as you can populate accurately.

Single shipping service:

{
  "@context": "https://schema.org",
  "@type": "Organization",
  "name": "Warby Parker",
  "hasShippingService": {
    "@type": "ShippingService",
    "name": "Free Standard Shipping",
    "shippingDestination": {
      "@type": "DefinedRegion",
      "addressCountry": "US"
    },
    "deliveryTime": {
      "@type": "ShippingDeliveryTime",
      "handlingTime": {
        "@type": "QuantitativeValue",
        "minValue": 1,
        "maxValue": 2,
        "unitCode": "d"
      },
      "transitTime": {
        "@type": "QuantitativeValue",
        "minValue": 3,
        "maxValue": 7,
        "unitCode": "d"
      }
    }
  }
}

Multiple shipping services (from schema.org example):

{
  "@context": "https://schema.org",
  "@type": "Organization",
  "name": "Acme Retail",
  "hasShippingService": [
    {
      "@type": "ShippingService",
      "name": "Members Free Shipping"
    },
    {
      "@type": "ShippingService",
      "name": "Standard Shipping"
    }
  ]
}

Webflow implementation

Static pages

Add shipping service details in your homepage or site-wide custom code in Page Settings > Custom Code (before </head>):

<script type="application/ld+json">
{
  "@context": "https://schema.org",
  "@type": "Organization",
  "name": "Your Store",
  "hasShippingService": [
    {
      "@type": "ShippingService",
      "name": "Free Shipping (orders over $50)"
    },
    {
      "@type": "ShippingService",
      "name": "Express Shipping"
    }
  ]
}
</script>

CMS template pages

Shipping services are typically organization-level, not per-page. Reference them in your site-wide Organization schema rather than in individual CMS templates.

In Schema HQ

hasShippingService is output in the Organization schema editor. Add shipping service names and details through the UI, and Schema HQ generates the nested ShippingService objects and publishes them to your Webflow site's custom code.

Real examples

Schema.org (schema.org/Organization, hasShippingService example):

{
  "@type": "Organization",
  "hasShippingService": [
    {
      "@type": "ShippingService",
      "name": "Members Free Shipping"
    },
    {
      "@type": "ShippingService",
      "name": "Standard Shipping"
    }
  ]
}

Related fields

FAQ

Is hasShippingService required for e-commerce sites?

Google lists it as "Recommended," not required. However, for any organization that ships physical goods, including it strengthens your merchant profile in Google's systems and provides AI engines with concrete fulfillment data.

Should I list every shipping option or just the most common ones?

List all shipping options that a customer can select at checkout. Each distinct service (free, standard, express, overnight) should be its own ShippingService object. This gives search engines and AI tools the complete picture of your fulfillment capabilities.

Can I include shipping costs in the Organization schema?

Yes, through the shippingRate property on ShippingService. However, if shipping costs vary by product, it is more accurate to specify rates at the product/offer level using OfferShippingDetails rather than at the organization level.

On this page:
This is some text inside of a div block.
This is some text inside of a div block.
This is some text inside of a div block.
Generate schema for your site with Schema HQ

Get Early Access

Get Early Access

Need help with schema on your site?

We implement structured data for Webflow sites — from audit to deployment.

Work with us

Work with us