This Is How WooCommerce Calculates Shipping

An image of a man moving shipping boxes down a sidewalk

One of the most important aspects of running an online store is dealing with shipping, and that includes calculating the cost of shipping. When you run a WooCommerce store, you will have to determine the shipping rates for your customers based on their location and the package itself. However, shipping prices can get complicated, especially if you ship worldwide.

How does WooCommerce calculate shipping? WooCommerce offers many ways to calculate the shipping of items, and one popular method is shipping classes. Meanwhile, table rate shipping allows for different rates for different geographic regions. Other methods involve the use of shipping services, like UPS, to calculate shipping costs.

These are the key things to keep in mind:

  • Shipping classes can apply to items of different sizes.
  • Shipping classes are also suitable for classifying different types of items or for offering sales.
  • Table rate shipping makes it so the shipping charge can differ from country to country.
  • Depending on the shipping service, some work with WooCommerce to help calculate the cost of shipping.

There are many ways you can calculate shipping in WooCommerce. While that can be overwhelming, each method has a purpose. One product might need to go into a shipping class, while another may only need to use table rate shipping.

How to Set Up Shipping in WooCommerce

When setting up your WooCommerce store, you have to figure out how you plan to ship your products. There are a few different ways you can set up shipping for your store, and you can change and add options later. However, when you first set up your store, you may want to add some WooCommerce extensions to customize how you ship packages.

  • You can use WooCommerce shipping for free, and this lets you print labels and use USPS’s cheapest shipping option. This can be a good choice when you first set up shipping.
  • If you want more options for shipping with USPS, you can use the USPS Shipping extension. This extension allows you to ship domestically and internationally.
  • Perhaps you don’t like shipping with USPS. In that case, you can use the UPS Shipping extension, which can also ship packages worldwide.
  • For more flexible shipping options, you can use the Table Rate Shipping extension. That allows you to create different shipping costs based on various factors.
  • You can also offer flat rate shipping for different products. The cost can vary based on item size, and you can combine the shipping for orders with multiple items.

One of the nice things about shipping with WooCommerce is that you can try different options to see what works. If you decide you don’t like a particular shipping method or price, you can change it. You can check out the various WooCommerce Shipping extensions here.

Product Shipping Classes


If you have a lot of products in your online store, you may want to set different shipping prices for different products. This is where product shipping classes come in. You can set separate prices for products based on their size or type.

  • Set a smaller shipping price for a “small” shipping class. You can include smaller items in this class, like bookmarks or pins.
  • The bigger, bulkier items can go into a “large” shipping class with a higher cost. That way, you don’t have to worry about losing out on profits on larger products.
  • Items that fall in the middle on size can go into their own shipping class that has an average cost.
  • You can also separate shipping classes for items that require unique packaging, like posters or other oddly-shaped items.
  • Another great use for product shipping classes is discounted shipping. If you want to offer a sale on shipping for select items, you can create a discount class.

You can create different shipping classes for almost anything you can think of. Whether you want to separate items by shape or product type, WooCommerce product shipping classes are flexible. For a larger store, they allow you to keep shipping costs low for smaller products without losing money for shipping big items.

While you could use product shipping classes for different locations, there’s a better way to do that. Instead, focus on using product shipping classes for different items, not different destinations. If you want to learn more about setting up product shipping classes, click here.

Creating and Editing Shipping Classes

Product shipping classes aren’t necessary for shipping with WooCommerce. However, they can offer you more flexibility with how you ship products to customers. You can start with one or two shipping classes, and you can add more as you need.

  • Head to WooCommerce, then Settings, then Shipping. Find the option for Shipping Classes.
  • Once you create shipping classes, you will see them here, but at first, there won’t be a list. So, you have to create a shipping class.
  • Select Add Shipping Class, which should be below the table where your shipping classes will go.
  • Name the new shipping class and add a description. You can name the class based on the size or product type. The description can include what products should go into the class.
  • At this point, you can add a slug (which is the end of the URL for the class). You can also let WooCommerce create the slug for you.
  • Finally, hit Save on the shipping class.

If you decide to change the name or description of a shipping class, you can do that later by editing the shipping class. You can also remove a class completely if you decide you no longer need it. Editing shipping classes can come in handy if you change your inventory later.

Adding Shipping Classes to Products

Once you set up all your shipping classes, it’s time to assign them to various products. That way, WooCommerce can accurately calculate the price of shipping for different items. Unfortunately, you will have to assign different product shipping classes separately, which can take a while if you have a lot of products.

  • Go to WooCommerce, then select Products. This will bring up all the products that are currently in your store.
  • Once you find a product to add a shipping class to, select the product, and click Edit.
  • Under Product Data, go to Shipping, and find the Shipping Class dropdown menu. Here, you’ll be able to select the shipping class that you want to apply to the product.
  • If you have a variable product, go to Variations. Each variation of the product will have the option for a shipping class.
  • Luckily, you can add a shipping class to multiple products at once. To do this, go to the Products page, and select the box next to each product you want.
  • Select Edit from the Actions menu, and then click Apply. This will bring up a new screen where you can make changes to all the products, including assigning a product shipping class.

If you ever need to change the shipping product class for one or more products, you can follow these same steps. While you probably won’t need to change the class often, it may need a change if you change the packaging or shipping method. When you add a shipping class, make sure you choose the right one for the right product so that WooCommerce can calculate the shipping correctly.

Table Rate Shipping

Product shipping classes are an easy tool for separating different products for shipping purposes. However, there can be some limitations to those classes, and you may want or need more control. That’s where table rate shipping comes in since it has more options than shipping classes.

If you want to ship products worldwide, table rate shipping allows you to set different prices based on the customer’s location. Along with different locations, you can set shipping rules. Once you do this, WooCommerce will calculate the shipping cost based on the information it has.

Before you set up table rate shipping, it can be helpful to set up shipping classes. That way, you can get more accurate costs for shipping items to different regions. You can learn more about table rate shipping and how to set it up here.

Create Shipping Zones

Table rate shipping relies on having different geographical regions, such as countries or continents. If you’ve ever heard that customers from one country have higher shipping costs than another, the company probably used shipping zones. Creating different zones can help you cut costs for local customers while still making money on international orders.

  • Before you can set up table rate shipping, head to WooCommerce, then Settings, then Shipping.
  • When you first add shipping zones, you’ll need to add a default zone.
  • Under Shipping, you should see an option for Shipping Zones. Click on that, then Add the shipping zone.
  • Next, add a zone name, and select regions to include in that zone. Regions can be local, domestic, or international. You can even select certain zip codes to put in a shipping zone.
  • Select which shipping methods are available to customers in that zone then hit Save.
  • You can create as many shipping zones as you want and add different shipping options.

Creating shipping zones will allow WooCommerce to calculate shipping costs for customers in different places. It will do this based on the shipping prices for whatever shipping method you select. After you create zones, you can sort and edit them if you need to, so don’t worry about getting everything right at the start.

Even if a customer fits multiple zones, they will only be placed in one. So, while you may want to offer local pickup, you should also offer traditional shipping in case a nearby customer doesn’t want to pick up their order. You can read more about shipping zones here.

Add Table Rates

Once you set up shipping zones, you can start to add table rate shipping. This will give you more options for charging shipping to different customers based on what or how much they order. You can make table rates as simple or as complicated as you want, which can be nice when growing your store.

  • Select one of the zones listed and click Edit. This will allow you to add rates to that shipping zone.
  • Once you select Edit, click on Add shipping method.
  • In the popup menu, select Table rates, and save the changes.
  • Go back to the Shipping zones menu and select a region with Table rate as a method.
  • Under the list of shipping methods, find Table rate, then click edit.
  • Next, you should see a screen that allows you to enter your shipping preferences. You can set the Method Title, Tax Status, Handling Fee, and Maximum Shipping Cost.

You can add different table rates for different regions and different products, so this step may take a while to complete for your whole store. However, it will help you calculate shipping costs so that your customers can know how much they will be charged.

Manage Rate Settings

After you set up table rates, you may need to manage their settings. This is where you’ll decide how WooCommerce will calculate the exact shipping costs. WooCommerce will take the information you give it while setting up the rates and show it to customers when they check out.

  • You can calculate shipping per order. This will give the cost of shipping for the entire cart. When a customer orders items from different shipping classes, it will use the highest priority class to get the final cost.
  • If you have to ship items separately, you can calculate shipping per item. This can come in handy if you deal with a lot of bulky items.
  • A nice compromise between the prior options is to calculate shipping based on each line. If a customer orders two shirts and one pair of pants, the shipping will be separate for the pants, but the two shirts will be together.
  • You can also calculate shipping per shipping class. This means you can charge shipping for some items while perhaps leaving the cost off for discount items.
  • The settings also let you add a flat rate handling fee based on the other settings.
  • You can also set the minimum and maximum costs per item, line, or order.

Once you configure the rate settings, you can add rates. That way, when a customer checks out, WooCommerce will compare the products in the cart to the rates in your table. You can apply certain rates to specific shipping classes, and you can also set rates to be based on the price, number, or weight of the items.

Setting Class Priorities

When you have multiple shipping classes, you’re bound to receive an order with items from different classes. That is why you should set up class priorities. Class priorities help WooCommerce calculate shipping for orders that have items in multiple shipping classes.

  • Head to WooCommerce, then Settings, then Shipping, then Shipping Classes. If you calculate shipping per order, you will see an option to set Class Priorities.
  • You can give each shipping class a number, and the lower the number, the higher the priority.
  • If you set larger items in a higher priority than smaller items, shipping will be calculated based on the large item in the cart.
  • This will let you combine shipping costs for items in different shipping classes.

Class priorities don’t matter as much for single-item orders or orders where all items are in the same class. However, having them in place will make the order process smooth for you and your customers. That way, you can ship their whole order together, and you won’t have to deal with shipping multiple packages if it isn’t necessary.

Shipping Services

When setting up shipping and shipping costs, you’ll have to choose one or more shipping services. You can choose from USPS, UPS, and FedEx, among others. Each shipping service has pros and cons, and each one also has different prices.

No single shipping service is perfect in all cases. While most of the major carriers deal with domestic and international orders, you may want to stick with one option. If you don’t live near a UPS store, for example, that may not be the best shipping method for you.

Even if you have easy access to all the major carriers, you should still shop around. The higher the price for you, the higher it will be for your customers. While you may be able to eat some of the shipping costs, you don’t want to charge too much.

How to Choose a Shipping Carrier

There are many different shipping carriers out there, and it can be hard to choose the right one. Before you select a shipping carrier, consider a few important factors. While you can switch carriers, that can be difficult if you get a lot of orders.

  • First, consider the starting costs of working with a carrier. WooCommerce offers a few free shipping services, but most have some cost to install and start up.
  • Next, you should think about the continuing costs. That includes how much a carrier charges for the common package sizes that you sell.
  • Similarly, think about how much time you lose out on when you go to the post office or shipping store. If one carrier is significantly closer, that might save you time and money.
  • You should also consider where a carrier can ship to. If you want to ship orders internationally, you’ll have to choose a carrier that can handle that need.

The more you can save on shipping costs, the more your customers will be able to save. And in the world of Amazon and free expedited shipping, it can be hard to compete with big companies. If you can offer low shipping, you might be able to attract more customers.

WooCommerce Shipping

If you want to start off simple, the WooCommerce Shipping extension is a great option. It’s free to set up and manage from month to month, and you can ship with USPS. This extension is built into the WooCommerce dashboard, so you don’t have to worry about transferring information to another platform.

  • The extension takes all your orders and information and processes them with the lowest USPS shipping cost. You’ll typically save about 90 percent on USPS shipping rates.
  • You can print shipping labels yourself.
  • Unfortunately, this option only works if you’re shipping from the United States. However, there are other extensions available in other countries.
  • It also doesn’t show as much detail as the full USPS shipping method.

WooCommerce shipping is perfect for new stores based in the United States. As you grow your store, though, you may want to switch to another shipping carrier or upgrade to USPS Shipping. Still, the standard WooCommerce shipping option is great if you and your customers want to save money.

USPS Shipping

While the WooCommerce shipping extension is good for basic needs, it may not be enough for some stores. The USPS Shipping extension offers more features and control, but it still works through USPS. Of course, this does mean you’ll have to ship from the United States.

The USPS Shipping extension starts at $79, which will license you to use it on one website. You can pay more for multi-site licenses, though most store owners won’t need that. If you do decide to pay for this extension, you can still use the free WooCommerce one to print your shipping labels.


Domestic Shipping Options Include: International Shipping Options Include:
First Class

Flat Rate

Priority Mail

Priority Mail Express

Standard Post

Media Mail

Library Mail

First Class Mail International Letters and Envelopes

Global Express Guaranteed (GXG)

Priority Mail International

Priority Mail International Flat Rate

International Postcards


You can use USPS shipping if you use US Dollars and are based in the United States, Puerto Rico, or the US Virgin Islands. It works with inches and pounds, but it can convert other measurements when calculating shipping costs. You can use the extension to calculate shipping for any worldwide destination

If you need to change the shipping services, you can edit or delete some as necessary. You can also rename different services, and you can add costs to the calculation. If you want to know more about how the extension works, click here.

UPS Shipping

Another popular shipping method for stores in the United States is UPS. Like the USPS extension, this one costs $79 for a single-site license, though you can buy a license for multiple sites. It also works with both domestic and international shipping, and it can calculate rates accordingly.

There are different shipping rates available, and you can enable the ones that make the most sense for your store. That can be helpful if you don’t want to use the most expensive shipping options.

Domestic Shipping Options Include: International Shipping Options Include:
Next Day Air Early

Next Day Air

Next Day Air Saver

2nd Day Air AM

2nd Day Air

3 Day Select



Worldwide Express

Worldwide Express Plus

Worldwide Expedited



If you decide to go with UPS shipping, you should know that they don’t offer freight shipping. They also limit orders to 150 pounds. While that shouldn’t be a problem for most stores, it could be an issue if you tend to sell a lot of overweight products. Learn more about the UPS shipping extension here.

Should You Offer Flat Rate Shipping?

WooCommerce uses multiple tools and various pieces of information to calculate shipping costs. But you can simplify all of that by offering flat rate shipping. However, flat rate shipping may not always be a wise idea.

  • If most of your inventory is the same size or weight, flat rate shipping makes sense. You won’t have to worry about overcharging or undercharging for shipping.
  • When you have products of all shapes and sizes, flat rate shipping doesn’t make as much sense. You might charge too much for small packages or not enough for big ones.
  • If you only ship domestically, that can be another reason to offer a flat rate.
  • But if you want to ship all over the world, costs can vary, and you don’t want to have to charge a higher flat-rate.

You can set up flat rate shipping when you set up shipping zones and methods. This can be an easy way to calculate shipping for various items or orders, but it can get complicated as you grow. If you want to know more about setting up flat rate shipping, click here.

Should You Offer Free Shipping?

Thanks to Amazon and other retailers, customers have come to expect free shipping. However, that can be hard for smaller stores. After all, the shipping still costs money, but you’ll have to cover that cost.

If you want to offer free shipping, you can work the shipping cost into the product price. Customers will see the overall cost when viewing the item, and they won’t have to worry about paying more. However, that is not always a great solution.

Shipping costs can change, and again, shipping costs vary around the world. You want to make a profit. That may not happen if you offer free shipping and have a large international customer base.

Free shipping can also pose problems if you work the shipping cost into the initial price of the product. Some customers might see the price and think it’s too high. They may not realize that the price includes shipping.

Final Thoughts

WooCommerce calculates shipping costs in many ways. From the carrier you use to the products you sell, you can set different metrics to help WooCommerce determine the cost. However, you can also make things simple by setting rates yourself based on location or product weight.

An image with the text "How WooCommerce Calculates Shipping. Key things to keep in mind. Shipping classes can apply to items of different sizes. Shipping classes are also suitable for classifying different types of items or for offering sales. Table rate shipping makes it so the shipping charge can differ from country to country. Depending on the shipping service, some work with WooCommerce to help calculate the cost of shipping."

Share This Post

More To Explore

Boise Web logo

Do you want to boost your business?

Our goal is to see other small businesses succeed! We would love to be part of your journey.