Setting up shipping zones & rates
Step-by-step instructions for creating shipping zones and setting shipping rates in WooCommerce.
- Time
- 10–15 minutes
- Difficulty
- Beginner
- You’ll need
- Your shipping regions and rates
Shipping zones let you charge different rates to different parts of the world. This guide walks you through creating zones and setting the rates customers see at checkout.
Quick summary
Go to WooCommerce → Settings → Shipping. Create a zone for each region you ship to, add a shipping method (flat rate, free, or local pickup) to each zone, and set the prices. Customers see the options that match their address, and each customer matches only one zone.
What you'll need
- A clear idea of where you ship and what you charge
Step 1 — Open the Shipping settings
Go to WooCommerce → Settings.
Click the Shipping tab at the top of the settings page.
Click Shipping zones. This is where you manage all your zones.
Check where you ship first
Before adding zones, open WooCommerce → Settings → General and check that Shipping location(s) is set the way you want. If shipping is switched off or limited there, your zones won't behave as expected.
Step 2 — Create a shipping zone
Click Add zone at the top of the shipping zones screen.
Enter a Zone name. This is for your reference — customers don't see it. Use something clear like "United States," "Canada," or "Local."
Set the Zone regions. Click in the region field and search for or select the countries, states or provinces, or continents this zone covers. You can include multiple regions in one zone.
Optional: click "Limit to specific zip/postcodes" to narrow the zone further. Enter one code per line. You can use exact codes, numeric ranges like 90210...99000, or wildcards like 902*. Wildcards inside a numeric range are not supported.
Click Save changes at the bottom.
Step 3 — Add a shipping method to the zone
Click Edit on the zone you want to add a method to.
Click Add shipping method at the bottom of the screen.
Choose a method:
- Flat rate — charge a fixed price.
- Free shipping — no charge (can be conditional).
- Local pickup — for in-store collection.
Click Continue. The method's settings open so you can configure it.
Step 4 — Configure the flat rate
Enter a Name. This is what customers see at checkout, e.g., "Standard shipping."
Choose the Tax status — whether tax is applied to the shipping cost.
Enter a Cost. Type the price in the cost field, e.g., 5.99 for $5.99. For free shipping, enter 0.
Click Create.
Advanced flat rate pricing
The cost field supports simple math. For example, 5 + ( 2 * [qty] ) charges $5 plus $2 per item in the cart. You can also charge a percentage of the order with [fee percent="" min_fee="" max_fee=""]. Ask us if you need help setting up more complex pricing rules.
Step 5 — Add more zones as needed
Repeat steps 2–4 for each region. There's no limit on how many zones or methods you can add. Common setups include:
| Zone name | Regions | Method |
|---|---|---|
| United States | United States | Flat rate — $5.99 |
| Free shipping threshold | United States | Free shipping (min. order $50) |
| International | Everywhere else | Flat rate — $19.99 |
| Local pickup | Your city/state | Local pickup — $0 |
The "Rest of the world" zone
WooCommerce includes a default zone called Rest of the world. Any customer whose address doesn't match a zone you created falls here. Adding methods to it is optional — and it can't be moved, renamed or deleted, because it acts as the fallback when no other zone applies.
If you don't want to ship internationally, leave this zone without any methods. Customers from uncovered regions are then told that no shipping is available. You can use the same trick to exclude a specific region: create a zone for it and give it no shipping methods.
Changing the order of zones
Zones are checked in order from top to bottom, and each customer matches only one — the first one that fits. Drag the handle on the left of a zone to move it, then click Save changes.
Order your zones from the smallest geographic area to the largest: city, then state or province, then country. If customers aren't seeing the shipping options you expect, the order is the first thing to check. From WooCommerce 11.1, the zones table shows an inline warning when a broader zone higher in the list already covers the same region, so the narrower zone below would never be matched.
Common questions
Can I offer multiple shipping options within one zone?
Yes. Add multiple shipping methods to the same zone. For example, "Standard shipping ($5.99)" and "Express shipping ($14.99)" can both be in the same United States zone. Customers choose at checkout, and the one selected by default is the first enabled method in the zone.
Can I offer different rates by state within the US?
Yes. Create separate zones for individual states. For example, a "California" zone and a "Rest of United States" zone. Put California first in the order so it takes priority.
How do I disable shipping entirely for digital products?
Digital products in WooCommerce are marked as "Virtual." Ticking Virtual disables the product's shipping fields, and a virtual product does not trigger the shipping calculator in the cart and checkout. Make sure your digital products have the "Virtual" checkbox ticked on the product page.
Can I offer free shipping for orders over a certain amount?
Yes. Add a "Free shipping" method to your zone and set the Free Shipping Requires dropdown to "A minimum order amount." Enter the threshold in the Minimum Order Amount field that appears (e.g., $75). See the guide on setting up free shipping for full details.
Related guides
- How WooCommerce shipping works
- Setting up free shipping
- Understanding the checkout experience
- WooCommerce extensions explained
- Troubleshooting order problems
Need a hand?
Learn more
Last updated