In short. Use doesNotShip with a DefinedRegion in shippingDestination to describe an unavailable shipping destination.
Definition: In a
ShippingConditionsobject, setdoesNotShiptotrueand identify the affected place withshippingDestination. ADefinedRegioncan name a country or another supported region shape.
Key facts
- Google's ShippingService documentation shows
doesNotShip: truefor a Mexico destination in its shipping policy example. - Schema.org defines
doesNotShipas indicating that shipping to a particularshippingDestinationis unavailable. - Schema.org says that
shippingDestinationcan describe possibly multiple destinations and can use forms such as postal code ranges. - Google places standard business shipping policies in
ShippingServiceunderOrganizationwithhasShippingService. - Google recommends putting the shipping policy information on one page rather than repeating it on every page.
How does the unavailable-region rule work?
ShippingConditions represents constraints on a shipping service. Schema.org states that all specified conditions must be met for a ShippingConditions object to apply. A condition with a DefinedRegion for a country and doesNotShip set to true therefore describes the unavailable combination for that destination. If the object also includes orderValue, weight, or another constraint, the condition applies only when that additional constraint is met.
Google's example uses Mexico as the destination and places the unavailable rule below an order-value range. Its description says that there is no shipping to Mexico for orders under $50, while orders of $50 or more use a separate shipping rule. The example therefore shows a regional exception that is also limited by order value.
What should shippingDestination contain?
The value of shippingDestination is a DefinedRegion in the Schema.org definition. The property describes one or more shipping destinations and can use postal code ranges. For a country-level rule, use a DefinedRegion with the country's code in addressCountry, as in Google's example for Mexico.
For a region-wide block, keep the condition limited to the destination. For a block that applies only to a price band or another product condition, add that constraint to the same object. The Schema.org definition lists destination, price, weight, and other product aspects among the conditions that can determine whether a shipping rule applies.
Where does the JSON-LD go?
Google documents a standard business shipping policy as ShippingService nested under Organization through hasShippingService. A ShippingService can contain multiple shippingConditions objects. This is the smallest country-level shape for an unavailable destination:
{
"shippingConditions": [
{
"@type": "ShippingConditions",
"shippingDestination": {
"@type": "DefinedRegion",
"addressCountry": "MX"
},
"doesNotShip": true
}
]
}
Google's published example adds orderValue to the Mexico condition because its rule covers orders under $50. If your policy has a different threshold, the markup must reflect that policy's actual condition.
How can you check the published markup?
Google instructs site owners to validate the code with the Rich Results Test and to use URL Inspection to test how Google sees the page. The page must be accessible to Google and must not be blocked by robots.txt, a noindex tag, or login requirements. Google also recommends placing shipping policy information on a single page that describes the business policy.
Related terms
- Structured data
- JSON-LD
- Where does a site's standard ShippingService markup belong?
- Which shipping rate does Google use when several conditions match?
FAQ
Does doesNotShip name the destination by itself?
No. The rule pairs doesNotShip with shippingDestination, whose expected value is DefinedRegion in the Schema.org definition.
Can one shipping service contain several destination rules?
Yes. Google documents multiple shippingConditions objects within a ShippingService, and Schema.org allows shippingDestination to indicate possibly multiple destinations.
Does the example block every order sent to the country?
The published example blocks orders under $50 because that condition includes an orderValue range. A destination-only condition expresses the destination constraint without that extra range.
Sources
- Google Search Central, "Merchant Shipping Policy Structured Data (ShippingService)", 8 September 2026
- Schema.org, "ShippingConditions", undated
- Schema.org, "shippingDestination", undated
Check how a page reads to answer engines. Open the GEO score analyzer