How to Set Up WooCommerce Shipping Zones, Methods, and Rates
Learn how WooCommerce shipping zones work, choose the right shipping methods, set clear rates, and test checkout before customers place orders.
Setting up shipping in WooCommerce means deciding where you deliver, which shipping choices customers can use, and what each choice costs. A clear setup helps customers understand their options and helps you avoid orders that are too expensive or difficult to fulfill.
WooCommerce uses shipping zones to match a customer’s delivery address with the methods you offer in that area. You can then add options such as flat-rate shipping, free shipping, or local pickup. This guide walks through the setup, explains the choices, and shows you how to test the result.
How WooCommerce shipping zones work
A shipping zone is a group of places that share the same shipping options. For example, you might create one zone for your city, another for the rest of your country, and a third for nearby countries.
When a customer enters a shipping address, WooCommerce checks your zones and uses the first zone that matches. Each zone can have different shipping methods and prices. A customer in your local area might see pickup, while a customer farther away sees only delivery options.
Zones can cover countries, states or regions, and postal codes. If you use postal codes, you can set rules for specific codes or ranges. The places you can target depend on the country and the address information your store collects.
Key point: Put the most specific zones above broader zones. If a broad zone matches first, WooCommerce may not reach the more specific zone you intended to use.
Plan your shipping setup before changing settings
Before you add zones, write down where you ship and how you fulfill orders in each area. This prevents a long list of zones that are hard to manage.
- Delivery areas: List the countries, regions, or postal codes you serve.
- Available services: Decide whether each area gets standard shipping, express shipping, pickup, or another option.
- Shipping costs: Choose whether customers pay a flat amount, receive free shipping after a condition is met, or see a carrier-calculated price.
- Product differences: Note whether some products are heavy, oversized, fragile, or not available in every area.
- Order limits: Decide if you have a minimum purchase, a maximum delivery area, or products that cannot be shipped together.
Keep the first version simple. A few zones with understandable rules are often easier to test and maintain than a separate zone for every small area.
How to create a WooCommerce shipping zone
In your WordPress dashboard, open WooCommerce > Settings > Shipping. The exact labels can differ slightly between WooCommerce versions or store setups, but shipping zones are managed from the Shipping settings.
-
Add a zone. Choose the option to add a shipping zone, then give it a name you will recognize, such as “Local delivery” or “Domestic shipping.” Customers may see this name in some places, so use clear wording.
-
Choose the zone regions. Select the countries or regions that belong in the zone. To narrow a zone further, add postal codes if that option is available.
-
Set the zone order. Move narrow areas above broad ones. For example, place a city-specific zone above a zone covering the whole country.
-
Add shipping methods. Select the methods that should be offered to customers in that zone.
-
Save and review. Check that the zone is enabled and that its regions do not create an unintended overlap with another zone.
WooCommerce also has a final area for locations that are not covered by your other zones. Review it rather than assuming it is harmless. If it contains a shipping method, customers outside your intended delivery areas may be able to place an order.
Choose the right shipping method
A shipping method controls the delivery choice shown at checkout. The built-in options suit many basic stores. More advanced needs may require an extension or a shipping service connected to your store.
Flat-rate shipping
Flat rate charges a set amount for shipping. It is easy for customers to understand and simple to manage when your delivery costs do not vary much by order.
For example, a store might charge $6 for standard shipping across one zone. To configure it, add the flat-rate method to that zone and open its settings. You can name the option, set its cost, and choose how tax should apply based on your store’s tax setup.
A flat rate may be charged per order or, depending on the method’s cost rules, in relation to the items in the cart. Read the method’s settings carefully before using a formula. A rate that seems correct for one item may become too high when a customer buys several items.
Free shipping
Free shipping can encourage customers to complete an order, but it still has a cost to your business. You can offer it to everyone in a zone or set a condition, such as a minimum order amount or use of a coupon. The available conditions depend on the WooCommerce setup and extensions you use.
If you set a minimum spend, decide whether the amount should include tax or coupons and check how your store handles those items. Then test a cart just below the limit and another just above it. If customers can combine free shipping with paid options, make sure the choices shown at checkout are intentional.
Local pickup
Local pickup lets customers collect an order instead of having it delivered. It can be useful for a shop, studio, or local food business. Add it only to zones where pickup is practical, and use a clear method name such as “Pick up at our shop.”
Tell customers what happens after they choose pickup. For example, explain that you will contact them when the order is ready, or provide collection hours on a page they can find before checkout. Do not imply that an order is ready immediately unless that is true.
Carrier-calculated shipping
Carrier-calculated rates use details such as the delivery address, parcel size, or package weight to estimate a shipping price. This can be helpful when costs vary widely. It usually requires a shipping extension or connection to a carrier account, and the result depends on correct product and package information.
Before using calculated rates, check that your products have useful weights and dimensions, your store address is correct, and the service offers delivery to the areas in your zones. If a rate is missing, test the product and address details before assuming the carrier connection is the cause.
Use shipping classes for products with different costs
A shipping class is a label you can assign to products that need different shipping treatment. Classes can help distinguish items such as small accessories, bulky goods, or products that need special packing. A class does not create a shipping method or zone by itself. It works with a shipping method that supports class-based costs.
To use one, open the shipping settings and add a shipping class, then assign it to the relevant products. You may also need to set how the shipping method handles those classes. Depending on the method’s settings, it might use the cost for the most expensive class, add class costs together, or calculate them another way.
Try a mixed cart before launch. Add one product from each class and check the total. If the result does not match your packing and delivery costs, change the method’s calculation rules or simplify the class setup.
Make checkout options easy to understand
Customers should be able to tell what they are paying for and when they can expect the order. Give each method a plain name and avoid internal labels that make sense only to your team.
- Use “Standard shipping” rather than a warehouse code.
- State a delivery estimate only if your business can support it. A processing time and a carrier transit time are not always the same.
- Explain any limits, such as delivery to selected regions only.
- Show pickup instructions where customers can find them before they travel to collect an order.
- Check that your shipping price does not appear as an unexpected extra at the last step.
If you advertise free shipping, confirm that the checkout rules match the wording on your product pages and promotions. A customer should not discover a key restriction only after adding items to the cart.
Test your shipping settings before launch
Do not test only one order from your own address. A setup can work for one location while failing for another. Use a test product and check addresses from each zone you created.
- Test one address per zone. Confirm that the intended methods appear for local, domestic, and international addresses where relevant.
- Test an address outside your delivery area. Confirm that the checkout behaves as you expect and does not offer a method you do not support.
- Test a small and a large cart. Check that rates still make sense when quantities or product types change.
- Test shipping conditions. If free shipping has a minimum, try totals below and above that amount.
- Test mixed products. Include items with different shipping classes or packing needs.
- Check mobile checkout. Make sure method names and prices are readable on a phone.
Use a test payment method or a safe test order process if you need to reach the full checkout flow. Avoid placing a real order unless you are comfortable refunding it and handling any related emails or stock changes.
Common WooCommerce shipping problems
No shipping methods appear
Check that the customer’s address matches a zone and that the zone has at least one enabled method. Review the final zone for uncovered locations, along with any product shipping restrictions. Also confirm that the product is set up as a physical item if it needs delivery.
The wrong rate appears
Review zone order and region rules first. A broad zone placed above a narrow one can catch an address before the intended zone does. Then check the method cost, shipping class rules, product weight, and any extension settings that affect the calculation.
A rate changes when more items are added
This may be expected if the method charges per item, uses shipping classes, or calculates rates from weight or package size. Test different cart combinations and compare the result with your actual packing process. Do not assume a flat rate means the same fee for every possible cart unless you have checked the method’s rules.
Customers can order from an area you do not serve
Inspect every zone, including the final area for places not covered elsewhere. Make sure the regions are correct and that no general shipping method is active where you do not want to deliver. Also review any separate settings or extensions that affect which countries customers can select.
A simple shipping setup example
Imagine a small store that ships lightweight goods within its country and allows nearby customers to collect orders. It could start with three zones:
- Local pickup area: A defined local region with pickup and standard delivery.
- Rest of the country: The country-wide region with standard flat-rate shipping and, if useful, free shipping above a clear order threshold.
- Other locations: No method unless the store is ready to serve those addresses.
The local area should come before the country-wide zone. The store should then test an address in the local area, one elsewhere in the country, and one outside the country. This small plan is easier to understand than a large group of overlapping zones, and it can grow when the business is ready to ship farther.
WooCommerce shipping launch checklist
- Every delivery area has a clear zone.
- Specific zones appear before broader zones.
- Each zone has only the shipping methods you intend to offer.
- Rates reflect your costs and the way orders are packed.
- Shipping class rules work for single-item and mixed carts.
- Free-shipping conditions are clear and tested.
- Pickup instructions and delivery wording are accurate.
- Addresses inside and outside your service area have been checked.
- Checkout is readable on both desktop and mobile.
Frequently asked questions
Can one WooCommerce shipping zone include several countries?
Yes. A zone can include more than one region. Use a shared zone when the same shipping options and rules make sense for all included places. Create separate zones when prices, services, or delivery limits differ.
Can a product have different shipping costs from other products?
Yes, but the best method depends on why the cost differs. Shipping classes can group products with similar needs, while weight or package details may suit carrier-calculated rates. Test mixed carts to make sure the final cost is reasonable.
Why does a customer see a different shipping option than I do?
Shipping options can depend on the customer’s address, cart contents, and your zone rules. Test with the same address and products the customer used. If the issue remains, review zone order and any shipping extensions that may change the available methods.
Should I offer free shipping?
Only if you can cover the delivery cost through your prices, order size, or another part of your business plan. A minimum order can help control the cost, but test the rule and explain it clearly to customers.
Keep shipping clear and review it as you grow
A reliable WooCommerce shipping setup starts with delivery areas, then adds the methods and rates that fit each one. Use simple rules, explain the choices in everyday language, and test more than one address and cart. When your products, costs, or service areas change, review the zones and repeat those tests before relying on the new setup.