Skip to main content

Shipping zones

A zone is a group of postal codes and postal code ranges that share the same shipping treatment. Zones answer the where of a rule.

Fields of a zone

FieldDescription
NameA label, for example Munich city
Country (optional)Restricts the zone to one country. Postal codes then only match if the destination country matches too. Leave it empty and the postal codes apply in every country.
Postal codesIndividual codes, for example 10115, 80331. Added one at a time.
Postal code rangesInclusive ranges, for example 1000010999 covers everything in between, both ends included.

Creating a new shipping zone

How ranges are compared

If start, end and the customer's postal code are all numeric, they are compared as numbers. If any of them contains letters, they are compared alphabetically. So 10002000 behaves as you expect for German or French codes, while a Dutch or British code such as 1012 AB is compared character by character. For alphanumeric postal codes, prefer individual codes or narrow ranges and verify them in the preview.

Zones and countries inside a rule

Zone list with postal code ranges and individual codes

When you add a destination to a rule you pick one of two kinds:

  • Shipping zone — references a zone from this page. Its postal codes and ranges are used for matching.
  • Country — a direct country selection. The rule matches whenever the destination is in that country. The special code ** stands for all countries.

A rule matches if at least one of its entries matches the destination.

A rule without a zone or country never applies

Like shipping classes, at least one destination entry is mandatory. A rule with an empty zone list fails its zone check and is skipped.

Surcharges and which zone pays them

Every zone or country entry in a rule can carry its own fixed and percentage surcharge (the percentage is calculated on the cart total).

When several entries match the same destination, only one of them contributes its surcharge — the most specific match, in this order:

  1. Exact postal code match
  2. Postal code range match
  3. Direct country match
  4. "All countries" (**) match

This lets you charge a general German rate and add a surcharge for a few island postal codes, without the two adding up.

Destinations without a postal code

The surcharge is selected by postal code. If Shopify sends no postal code for the destination — some countries do not use them — the rule can still match through a country entry, but no zone surcharge is added. Put such surcharges on the shipping method instead (Shipping methods).