Your WooCommerce shipping setup defines your shipping fees, fulfillment methods, and where and how you ship your products. In this guide, we’ll walk you through how to set up shipping zones, shipping methods, and rates in your WooCommerce dashboard so you can start accepting and shipping orders.
Step 1: Set Up WooCommerce Shipping Zones & Methods
Your first step in setting up WooCommerce shipping is identifying your Shipping Zones. This is the beginning of setting up your order fulfillment process. WooCommerce shipping zones serve two purposes—they define the areas (zones) that you ship to and let you assign different Shipping Methods and/or Shipping Rates to specific zones.
For example, you can use WooCommerce shipping zones to:
- Ship to all U.S. states, but charge more for orders shipping to Hawaii and Alaska
- Ship to certain international locations but not others
- Ship to specific states, for example, limiting liquor sales to just those states where you have a license
- Create zones by zip code to allow local pickup options
WooCommerce shipping zones make all types of shipping rules like these possible. To set up zones, head to your WordPress dashboard and click on WooCommerce > Settings. About halfway down the settings page, you’ll see a drop-down menu for Shipping Locations:
WooCommerce Main Settings screen
Here you can select to ship to all countries you sell to and select specific locations within those countries. Since most sellers generally ship to all countries that they sell to, we selected that option.
Next, we head to the Shipping Tab in your WooCommerce settings to create a Shipping Zone; this is the screen you’ll see:
WooCommerce Shipping Settings screen
Next, select Add Shipping Zone to open this screen:
WooCommerce Shipping Zones screen
Here you enter your Zone Name and select the Zone Region. Since we’re setting up our U.S. shipping, we name this zone USA; then select United States in the region drop-down menu. If you sell to other countries, those countries will be available to select in the drop-down menu, too.
Note: Your customers will only see shipping options that you set up for their particular zone. If you ship to both the U.K. and the U.S., a customer in England won’t see shipping options for your U.S. zones, and vice versa.
Next, we click the Add Shipping Method button to assign a shipping method for this zone. The following window opens and we can select from WooCommerce’s four standard Shipping Methods:
WooCommerce Shipping Methods pop-up
WooCommerce’s built-in shipping Methods include:
- Free Shipping – this doesn’t add any shipping charges to customer orders
- Flat Rate – you can add a flat fee or a percentage of the order total using flat rates
- Local Pickup – you can let customers pick up from your location, and even add a fee if you choose
- WooServices – this calculates actual USPS or Canada Post shipping charges and lets you print USPS and Canada Post labels from your WooCommerce dashboard
Note: For this quick-start guide, we’re focusing on the built-in methods, which is all many sellers need. You can apply real-time rates from UPS, FedEx, and other carriers using a third-party shipping service like ShipperHQ. For table-based shipping rates, you’ll need the Table Rate Shipping Extension from WooCommerce.
After you select your shipping method from the drop-down menu, click Add Shipping Method to save that method. You’ll see your new Zone/Method combination in your Shipping Methods menu:
WooCommerce Shipping Zone detail screen
You can repeat this process to set up as many Zone/Method combinations as you need for your WooCommerce store. You can change, add, and delete methods at any time, too. You’re never locked in to your initial setup choices.
Going back to the Shipping Zones screen, you can see the two Zone/Method combinations we created using the steps above:
- Free Shipping for our mainland U.S. customers (called USA)
- Flat Rate for customers in Hawaii and Alaska (called HI and AK), because it costs us more to ship orders to these far-away states.
WooCommerce Shipping Zones screen
This is one of the benefits of WooCommerce shipping zones. You can add a unique Zone/Method combination, say for Hawaii and Alaska (or locations of your choosing), and charge a unique fee for just those orders.
This way, customers entering an Alaska or Hawaii shipping address during checkout see the HI and AK shipping option. Our USA Free Shipping option isn’t available to them and can’t be selected by these shoppers. To learn more about setting up and fine-tuning multiple Zone/Method combinations, visit the WooCommerce shipping zone tutorial.
Next, we’ll look at how to add Shipping Rates to your Shipping Methods.
Step 2: Set Up WooCommerce Shipping Rates
In WooCommerce, Shipping Rates are the fees that you charge customers to ship their orders.
To recap, WooCommerce gives you four built-in shipping methods that you can use to create shipping rates:
- Free Shipping[ – Free shipping adds no shipping fees to your customers’ orders
- Flat Rate Shipping – This lets you add a flat amount or percentage of the sale total to orders
- WooCommerce Services Shipping – This lets you add real-time USPS and Canada Post calculations on orders and conveniently print labels within WooCommerce
- Local Pickup – You can enable local pickup for free or add a fee
Offering free shipping is a great way for e-commerce retailers to increase conversion rates. However, free shipping alone leaves a lot of opportunity on the table. Offering faster or alternate shipping options alongside free shipping gives retailers the possibility of recouping shipping costs for customers who choose these options. Third-party shipping solutions like ShipperHQ extend basic WooCommerce shipping options and make it easy and cost-effective to offer other shipping options alongside free shipping.
– Melanie Cross, CMO, ShipperHQ
For this quick-start guide, we’ll cover setting up WooCommerce’s Flat Rate Shipping option. It’s the most detailed setup process, but also the most versatile of WooCommerce’s built-in shipping methods. Learn more about the other built-in shipping methods in WooCommerce shipping tutorials.
To set up a Flat Rate Shipping fee for the Hawaii and Alaska zone we set up in Step 1, we click on our HI and AK zone in the Shipping Zones screen:
WooCommerce Shipping Zones screen
This opens our HI and AK zone detail screen. To access the shipping rate settings for this zone, we click on Flat Rate in the Methods box:
WooCommerce Shipping Zones detail screen
And we see this pop-up screen:
WooCommerce Flat Rate Settings screen
In this screen, you can create flat-rate shipping fees several different ways. Here are three popular options that work for many online selling needs:
- Flat shipping fee per order
- Flat shipping fee per item
- Shipping fee as a percentage of the order total
We’ll show you how to set up each of these flat-rate options below. You can see even more ways to configure specialized flat-rate shipping fees in WooCommerce’s flat-rate shipping tutorial.
Add a Flat Shipping Fee per Order
To apply a simple flat-rate shipping fee, like $2, $5, or $9.95, to every order shipping within a Zone, simply enter an amount in the Cost field, like this:
WooCommerce Flat Rate Settings screen with flat shipping fee per order in the Cost field
Using a flat shipping fee per order, the exact amount entered in the Cost field is applied to each order. With this setting, WooCommerce adds a $5 shipping fee to all orders shipping to Hawaii or Alaska.
Add a Flat Shipping Fee per Item
You can also add a shipping fee for every item in the order. To set this up, you enter a simple formula into the Cost field. For example, if you want to charge a $2 shipping fee per item in the order, enter this formula: [qty] * 2, like this:
WooCommerce Flat Rate Settings screen with flat shipping fee per item in the Cost field
Using this setting, WooCommerce adds a $2 shipping fee to a single item order, but adds a $6 shipping fee to an order containing three items.
Add a Shipping Fee as a Percentage of the Order Total
You can even set up a shipping fee as a percentage of the total order value. Again, this is done by entering a simple formula in the Cost field. For example, if you want to charge a 10 percent shipping fee, enter this in the Cost field: [cost] * .10, like this:
WooCommerce Flat Rate Settings screen with percentage-based shipping fee in the Cost field
Using this 10 percent shipping fee setting, WooCommerce automatically applies a $1 shipping fee to a $10 order, a $10 shipping fee to a $100 order, and so on.
Again, these are just a few of the many ways that you can apply flat-rate shipping fees using simple formulas. Find more shipping fee formulas in WooCommerce flat rate shipping tutorials. Or, see how to apply real-time USPS rates to orders and print shipping labels in the WooCommerce Services tutorial.
Step 3: Use Shipping Classes for Product-Specific Charges
Oversized, heavy, or fragile goods that require special handling can cost far more to ship than sturdy, standard-sized products. If you sell these types of goods, you can use WooCommerce Shipping Classes to apply additional shipping rates to specific items. This is an optional step, but if you don’t want to ship every item you sell using just free or flat rate fees, Classes are the answer.
To set these up, click on Shipping Classes under the Shipping tab:
WooCommerce Shipping Classes Settings screen
You’ll see this screen:
WooCommerce Add Shipping Class screen
Click on Add Shipping Class, and enter your class Name, Slug (usually the name again), and Description, like we did for our oversized Baby Gates, below. Then click Save Shipping Classes:
WooCommerce Add Shipping Classes screen with details input
After your class is saved, you add shipping charges to the Class from the Zone screen covered in Step 1.
For example, our oversized baby gates cost far more to ship to Alaska and Hawaii than standard-sized orders. So we’re going to use our Baby Gate Class to add an additional shipping fee surcharge to the HI and AK flat rate shipping fee that we set up earlier.
To do this, we open our HI and AK Zone screen and click on our Flat Rate method:
WooCommerce Shipping Zone detail screen
Now we see an expanded Flat Rate screen with a new section called Shipping Class Costs:
WooCommerce Extended Flat Rate Settings Screen with optional Shipping Class fields
Our original $5 Flat Rate Cost is still there, but there are new fields labeled Baby Gate Class, No Shipping Class, and Calculation Type. We added a $10 fee for Baby Gate Class Cost, did nothing in the No Class field, and left the Calculation on the default setting.
With this setup, when a customer in Hawaii or Alaska orders a baby gate, WooCommerce will add $10 to the $5 flat rate fee, making the total shipping fee $15. Non-baby gate items will ship with the standard $5 flat rate to these locations. Of course, we note this surcharge in our shipping information pages and on our baby gate item pages as well, so HI and AK shoppers aren’t surprised at checkout.
The last step in our shipping class setup is to assign all baby gate items to the Baby Gate Class. We do this in each item’s Product Edit screen, under the Shipping tab:
WooCommerce Product Edit Screen with Shipping Classes selected
Clearly, shipping classes are useful if you ship large items, but they also help you better serve business-to-business (B2B) customers. Using shipping classes, you can list bulk order products like large case packs, and even offer products in truck-freight quantities. Classes let you add appropriate shipping fees to these items so B2B customers can place large orders online and know the shipping charges upfront.
B2B buyers are usually driven by efficiency and, often unconsciously, are influenced by their personal experiences buying from business-to-consumer (B2C) sites. For both of these reasons, any situation where they have to wait for a call back or quote on shipping before completing an order, or are forced to complete an order without knowing what they’ll be charged in the end, is likely to have a negative impact on their satisfaction with the retailer. Offering buyers a B2C-like experience even for large or complex orders increases perceived efficiency and meets or exceeds expectations that buyers often have from their personal online buying.
– Melanie Cross, CMO, ShipperHQ
Step 4: Set Up an Order Fulfillment Operation
After your WooCommerce shipping setup is complete, you can open your store for business. But before orders start rolling in, you need to set up a system for organizing and storing your products and packing and shipping orders. That end-to-end process is called order fulfillment.
Many startups and small sellers can manage these tasks using whatever spare space is available at home or in an office. Inexpensive storage units also are a great place to launch a small fulfillment operation. But wherever you set up your fulfillment operation, organization is key.
Here are the main components you need to include in your order fulfillment setup:
- Inventory storage area – This can be shelves, bins, or boxes set up and labeled so you can quickly find goods to fill orders. Be sure to set aside storage spaces for your packing materials and shipping boxes as well.
- Order checking and packing area – A few long folding tables provide plenty of space to double-check and pack orders for shipping.
- Shipping station – You need a computer and label printer to pull up shipping rates and print shipping labels. If your orders vary in weight and size, you’ll need a shipping scale, too.
- Receiving and shipping areas – If you have space, set aside an area for your inbound inventory deliveries and an area for your packed orders waiting for carrier pickup. This keeps your checking, packing, and shipping areas clear and reduces errors.
That’s really all you need to operate a fledgling fulfillment operation shipping around 20 orders per day. Learn more about building out and running a fulfillment operation and the costs involved in our guides covering warehouse setup, inventory management, order fulfillment, shipping and handling best practices, and fulfillment costs.
As you grow, you can expand your own fulfillment facility into a warehouse setup complete with employees, a computer network, phone systems, and all of the overhead that goes with it. But, if you’d rather focus on growing your business and not packing boxes each day, you can outsource these tasks to a fulfillment company that integrates with WooCommerce.
The Bottom Line
You can set up all types of shipping rules and rates using WooCommerce’s built-in shipping features. It all starts with setting up your WooCommerce shipping zones, adding methods, and creating rates. You can ship everything under free shipping or add actual rates to orders using WooCommerce Services’ built-in USPS integration or via third-party shipping solutions.
Renaud Thirion
Dear Krista,
I hope you are well. Thanks for this tuto.
I am using WC. I am now managing the transportation costs.
My issue is that the stocks, depending of the products I sell are located in different countries of; Europe, North/South America and Asia.
I understand the address input in the general settings of WC is for an invoicing purpose.
I understand that I have to assign shipping classes to my products depending on where they are stored.
I understand that I can apply rules with a table rate shipping.
What I do not understand is how WC make the freight calculation rate according to the “wharehouses/stocks” addresses.
Examples:
The calculation of the freight costs are made either:
By weight
By size
By volumetric weight
We have 2 main shipping methods : Air/freight and Ocean/Freight.
1) I am a client located Burundi, I want to buy a baby bed. This product is stored in Shanghai. The plugin/system needs to make the freight calculation from Shanghai’s address to Burundi’s address.
2) I am an Argentine client. I want to buy a saw. This tool is stored in Belgium. The plugin/system needs to make the freight calculation from Belgium’ address to Argentina’s address.
I am a bit lost with the process. Can you help/oriented me to go further
Kind Regards
André Renaud
Amanda Norman
Hi Andre,
Thanks for commenting, and glad you liked the article.
Shipping costs are calculated based on the method of shipping, where you are shipping and how quickly, what kind of product you are shipping, and the size and weight of the package. Setting up shipping zones and shipping classes for your products can help simplify shipping for you and your customers. These are amounts you enter based on estimates you’ve made for shipping. You can go to USPS to help with those shipping cost estimates. If you would like to use real-time rates from carriers that you use, take a look at ShipperHQ as a third-party plugin. It offers shipping rates and methods based on product, category, cart quantity, value, weight, dimensions and more.
Hope this helps.
Mandy, Moderator
Alex Harris
Great , You have explained in depth, but since Woocommerce is newer to me, I had difficulties in setting it up, anyways I overcome those with the help of a guide to setup WooCommerce shipping on Wpblog. Finally it done. Thanks
Laura Handrick
Alex,
Thanks for sharing your feedback. We’re happy you were able to get your shipping set up.
Best!
Laura, Staff Writer
Alexey Protasov
Dear Krista!
Nice explanation, all is easy 🙂 All work fine, except one thing.
I have simple products and one-time paid subscription products in the store. Setting up shipping costs works fine or products, but not for subscriptions. Options based on shipping classes / zones, but subscription always shows flat rate as 0:00. Can’t really figure it out 🙁
If you can help it would be very appreciated!
Thanks in advance! ohmresistance.net
Krista Fabregas
Hi Alexey,
If the subscription is processed a one-time payment, then it should process — with the appropriate shipping charge for the full subscription — as a one-time purchase, just like a regular simple product. True subscription functionality (which you can add with Woo’s subscription management extension) handles automated renewal charges. But if you’re charging a one-time payment and just managing fulfillment of the subscription items without a renewal charge, then the simple charge with a one-time shipping fee should work.
How do you have these items set up? If you selected digital downloads (which it looks like you include in the subscription items), then any shipping charges wouldn’t apply by default. Could that be the issue? If you can give me a few more item setup details I’ll see if I can troubleshoot.
Cheers!
Krista