Table of Contents
This in-depth guide covers everything you need to know about WooCommerce shipping, including key terminology (shipping zones, shipping methods, shipping classes, local pickup, etc.), important settings, and how to configure them properly in your online store.
If your WooCommerce store sells any kind of physical product, you need to set up the shipping settings, and that’s what we’ll discuss in this guide.
Here, we’ll explore:
- A detailed explanation of key shipping terminology in WooCommerce: shipping zones, shipping methods, shipping options, shipping classes, etc.
- How the built-in WooCommerce shipping settings work and their limitations.
- The best WooCommerce plugins to optimize your store’s shipping settings: Flat Rate Shipping Plugin For WooCommerce, Hide Shipping Method For WooCommerce, WooCommerce Multi-Vendor Shipping Addon, and Advanced USPS Shipping Plugin for WooCommerce.
- Frequently asked questions about WooCommerce shipping.

Ready? Let’s kick off with a rundown of key shipping settings in WooCommerce.
An overview of important WooCommerce shipping settings
Most of the important shipping settings are housed under WooCommerce → Settings → Shipping in your site’s admin panel. Let’s go on a quick tour of each shipping-related tab and its uses.
Shipping zones
In WooCommerce, shipping zones are the geographical areas where your store ships. Each zone can have one or more shipping methods, such as flat rate, free shipping, local pickup, etc., and shipping rates (as applicable).
If your WooCommerce store ships to customers based in multiple locations, you need to configure zones properly to control shipping costs, delivery times, and customer expectations.
When a customer enters their shipping address, WooCommerce crosschecks and assigns them to the appropriate zones based on your settings. If a customer’s address doesn’t match any zone, they won’t see shipping options at checkout.
You can set up shipping zones under WooCommerce → Settings → Shipping → Shipping zones. The settings on this page enable you to define geographic areas and assign specific shipping methods.

International stores need to set up multiple zones. For instance, a US-based furniture store that ships from its headquarters in New York to customers around the world might configure their shipping zones as follows:
- Domestic — United States.
- Neighboring countries — Canada, Mexico.
- Europe — All European countries they ship to.
- Rest of the World — A fallback zone for all other locations.
Each zone can have different shipping methods and shipping rates to reflect actual shipping costs.
Shipping methods
After you’ve set up shipping zones, you can add shipping methods to them. You can set up multiple shipping methods per zone and allow customers to choose their preferred option during the checkout process.

There are three default WooCommerce shipping methods: flat rate shipping, free shipping, and local pickup.
- Flat rate shipping — A fixed charge that is applied per order, per item, or per shipping class. This shipping method is useful for simple shipping setups.
- Free shipping — Zero-cost shipping based on minimum order total, valid coupons, user roles, and other criteria.
- Local pickup — Businesses that have brick-and-mortar stores or warehouses can enable customers to collect their orders from a physical location.
Let’s continue with the above example of a US-based furniture store that ships from its headquarters in New York to customers around the world. Here’s an example of how they might set up shipping methods for the “Domestic — United States” shipping zone.
- Flat rate – $5 per order.
- Free shipping – For orders over $100.
- Local pickup – Free for customers who pick up their order from their New York store.
Customers located in California who qualify for free shipping will see both Flat rate ($5), Free shipping ($0), and Local pickup at checkout and can choose their preferred option.
Shipping settings
Previously named “Shipping Options”, the “Shipping settings” tab contains several key settings that impact shipping-related options during the checkout flow.

Let’s explore the options on this page:
- Enable the shipping calculator on the cart page: When this option is enabled, customers can enter their zip code or the entire shipping address on the cart page to see an estimate of shipping methods and costs before they proceed to checkout.
- Hide shipping costs until an address is entered: Enable this option if you want to prevent customers from seeing generic shipping rates before they enter their full address. This ensures shipping rates are accurately calculated based on each customer’s precise location.
- Shipping destination: These options decide how the default shipping address is handled at checkout. Here’s what they mean:
- Default to customer shipping address – This directs customers to specify a different shipping address from the billing address.
- Default to customer billing address – This auto-selects the billing address as the shipping address. Customers can change the shipping address if needed.
- Force shipping to customer billing address – Enabling this option prevents customers from opting to ship their orders to a different location from their billing address. This helps prevent fraud.
Shipping classes
If your store sells products with varying sizes, weights, or handling requirements, instead of applying a flat rate to all products, you can set up shipping classes to charge different shipping rates based on product categories.
Shipping classes enable you to group products based on product type, size, or weight and assign specific shipping costs to them.
To configure shipping classes, head to WooCommerce → Settings → Classes.

Here are example scenarios where shipping classes can be useful:
- In a store that sells bulky furniture and curtains. Curtains being lightweight can ship for $5, but furniture requires freight shipping at $50.
- In a store that sells various clothing and accessories. Small items like belts and hats ship for free, but clothing items are usually heavier and cost extra to ship.
- In a store that sells items and offers both standard and express delivery. Express items can require a premium shipping cost.
Without shipping classes, you’d have to set one fixed rate for all products, which wouldn’t be flexible enough for these cases.
WooCommerce lets you control how multiple shipping classes behave in a single cart. For example, you can combine and apply them as follows:
- Per class – In these cases, the highest shipping cost applies.
- Per order – Here, a base shipping fee is charged for the whole order.
Local pickup
With local pickup, your WooCommerce store can allow customers to collect orders themselves from your brick-and-mortar location, warehouse, or fulfillment center, instead of having them shipped. It’s useful for:
- Retail stores that offer in-store pickup.
- Restaurants that handle online orders for takeaway.
- Warehouses that allow customers to pick up large or fragile items.
The benefits of local pickup are two-fold: it helps businesses save on shipping costs and offers customers a convenient pickup experience.
To configure local pickup, head to WooCommerce → Settings → Shipping → Local pickup.

By default, customers can collect their orders from your business’s physical location at no extra cost. But you can charge a fee (for example handling charges), by entering an amount under the Cost field.
You can also choose whether or not this shipping method is taxable, considering that customers pick up the order at your business location (which may be subject to local taxes).
If you have multiple pickup locations, you can use a plugin to set up different shipping zones for each one. Just remember to share clear instructions with customers about when and where to pick up their orders.
Limitations of the default WooCommerce shipping options
The built-in WooCommerce shipping settings work fine for small stores with simple needs. But as your ecommerce business grows, you’ll find that they are pretty restricted.
Here are some of the fundamental limitations of WooCommerce’s default shipping options.
- No advanced shipping rules. You can’t set up advanced rules and conditions based on cart weight, order subtotal, number of items, and other criteria.
- No real-time shipping carrier rates. Store admins can set up fixed shipping rates. However, WooCommerce doesn’t connect to live shipping carriers like UPS, FedEx, DHL, or USPS out of the box, so it doesn’t calculate accurate live shipping costs at checkout. This means customers might overpay (which can lead to dissatisfied customers) or underpay (which eats into your profit margins) for shipping.
- No support for multi-origin shipping. If items in one order are shipped from different locations, there is no way to calculate rates separately with WooCommerce’s default system. This isn’t ideal for drop shippers or companies that ship out of multiple warehouses.
- No shipping method restrictions. It shows all applicable shipping methods to all customers based on their shipping zone, even if they aren’t relevant. For instance, if a customer qualifies for 3 shipping methods: free shipping, a flat rate of $15, and local pickup, WooCommerce will show all three. This can confuse customers and increase the number of abandoned carts.
- No address-based shipping restrictions. You can’t restrict shipping to certain ZIP codes or states, prevent shipping to PO Boxes (to reduce fraud risks), or set state-specific exclusions e.g. different rates for urban versus rural areas. This isn’t ideal if your store can’t deliver to customers in those locations.
- It doesn’t show estimated delivery dates at checkout. Customers have no idea when their order will arrive unless you manually add that information somewhere in the ordering journey.
- No multiple pickup locations. If you offer local pickup, there is no built-in option to add multiple pickup locations where customers can collect their orders.
- No built-in shipping labels and tracking. WooCommerce doesn’t generate shipping labels or send tracking numbers to customers automatically.
The best WooCommerce shipping plugins
These are the best plugins to tailor your WooCommerce store’s shipping settings as desired.
Flat Rate Shipping Plugin For WooCommerce
WooCommerce’s default settings only allow you to add one fixed flat rate per shipping zone. This isn’t ideal for most scenarios.
Using the Flat Rate Shipping Plugin For WooCommerce plugin, you can set multiple dynamic flat shipping rates per zone based on product type, product category, weight, user role, cart conditions, cart subtotal, delivery location, brands, and other criteria.
Plus, you can specify which shipping methods are auto-selected during checkout.

Hide Shipping Method For WooCommerce
Out of the box, WooCommerce shows all available shipping methods to customers, even if they don’t apply. This can frustrate customers and lead to an increase in cart abandonment rates.
As the name implies, the Hide Shipping Method For WooCommerce plugin lets you customize the shipping options your customers see in the checkout flow. For example, you can use it to:
- Hide free shipping when express shipping is selected
- Prevent local pickup from showing for specific products
- Exclude certain shipping options for wholesale customers
- Disable specific shipping methods based on cart total, weight, products, payment method, delivery location, etc.
- And much more.

WooCommerce Multi-Vendor Shipping Addon
WooCommerce’s default shipping settings aren’t purpose-built for marketplaces. For instance, there’s no way to charge different shipping rates based on vendors, products, or locations.
That’s what the WooCommerce Multi-Vendor Shipping Addon comes in.
Pair it with the Flat Rate Shipping Plugin For WooCommerce plugin to set unique shipping rates for each vendor with advanced flexibility across products, categories, and countries with ease.

Advanced USPS Shipping Plugin
If you ship with USPS, you need a real-time, accurate shipping rate calculator in your WooCommerce store. Unfortunately, the built-in WooCommerce shipping settings don’t fetch live USPS rates. This means you’d have to set up manual flat rates, which can lead to overcharging or undercharging customers.
Advanced USPS Shipping Plugin for WooCommerce directly connects your site with USPS so you can calculate real-time shipping costs based on product weight and dimension, store location, and customer destination.

Plus, it supports both domestic and international USPS services and ensures customers always see accurate, up-to-date shipping rates based on the shipment origin and destination at checkout.
FAQs about WooCommerce shipping
Here we’ll answer common questions about shipping in WooCommerce.
How does shipping work on WooCommerce?
WooCommerce provides a flexible but basic shipping system that consists of shipping zones, methods, rates, and classes. However, you can easily set up advanced shipping rules and conditions, show relevant shipping options to customers, calculate shipping rates in real time, showcase vendor-specific options, and more with the help of plugins.
Here’s an overview of how shipping works in WooCommerce.
- Shipping zones are geographical areas where specific shipping methods apply. WooCommerce matches the customer’s shipping address to a zone and then applies the configured methods.
- Each zone can have multiple shipping methods. There are 3 default shipping methods: flat rate, free shipping, and local pickup.
- You can set up shipping classes to categorize products with different shipping costs. Think: Variable products, bulky items, or products requiring special handling.
- WooCommerce lets you define each product’s weight and dimensions. Shipping costs for each order are then calculated based on package weight, size, delivery location, and the available methods.
- If you sell to international customers, you need to consider duties and taxes, shipment origin (e.g. multiple warehouse locations), and currency conversions.
- Out of the box, WooCommerce’s shipping system is pretty basic. But you can easily improve it using plugins like Flat Rate Shipping Plugin For WooCommerce, Hide Shipping Method For WooCommerce, WooCommerce Multi-Vendor Shipping Addon, and Advanced USPS Shipping Plugin for WooCommerce.
Is WooCommerce shipping free?
WooCommerce itself is free, and its platform includes basic shipping capabilities, including the option to define shipping zones, add shipping methods including flat rate, free shipping, and local pickup, assign shipping rates, and more, at no extra cost.
However, if you need advanced features — think: conditional shipping rules, real-time rates from shipping carriers, generating and printing shipping labels, multi-origin or multi-vendor shipping options, and more — you’ll need the help of plugins which may cost money.
How do I auto-select free shipping if available in WooCommerce?
WooCommerce shows all available shipping methods during checkout; there is no built-in setting to automatically select free shipping for qualifying purchases.
If multiple shipping options exist, customers must choose one manually. This isn’t ideal — free shipping should be the default choice when it’s an option as it reduces friction in the ordering process and increases conversions.
To auto-select free shipping if available in WooCommerce, you’ll need to add code snippets or use a plugin like Flat Rate Shipping Plugin For WooCommerce.
Ready to set up WooCommerce shipping?
Shipping is one of those aspects of running a WooCommerce store that leaves admins cold and confused: it involves a lot of jargon, many terms used sound similar, and there are an enormous amount of settings to master.
In this guide, we’ve discussed the fundamentals of WooCommerce shipping, including the terminology, important settings, and how to configure them.
Once you’ve set up the default settings, use these plugins to customize your store’s shipping settings to suit your business:
- Flat Rate Shipping Plugin For WooCommerce — Add multiple dynamic shipping rates per zone based on various rules and conditions, such as product type, product category, weight, user role, cart conditions, cart subtotal, delivery location, brands, etc.
- Hide Shipping Method For WooCommerce — Tailor the shipping options each customer sees during the checkout process. You can hide free shipping when an express shipping option is selected, only show local pickup for specific products, prevent wholesale customers from seeing certain shipping options, and more.
- WooCommerce Multi-Vendor Shipping Addon — Charge different shipping rates based on vendors, products, or locations.
- Advanced USPS Shipping Plugin for WooCommerce — Sync your website with USPS to calculate shipping rates in real time based on product weight, product dimension, shipment origins, and delivery destination.