WooCommerce Shipping Classes: How to Set Up Shipping By Weight (Step-By-Step)

WooCommerce Shipping Classes setup step by step

When it comes to calculating shipping charges, it's not just about the distance covered —the weight and size of the items being shipped play a role as well. Unless all of your products are the same weight, you'll need to make sure your store is set up to adjust shipping rates for items of varying weights. This is where WooCommerce Shipping Classes come into play.

WooCommerce Shipping Classes are a fantastic way to charge different shipping rates based on the products you've bought. You can automatically adjust your shipping rate during checkout to cover those costs if you sell really heavy items (which tend to be more costly) and lightweight products (which tend to be less expensive).

Let's say you have a store that sells candles and t-shirts. If your candles are all about the same size and weight, you can create a WooCommerce Shipping Class for them and assign shipping prices to it. T-shirts, too, can be grouped together into a new WooCommerce Shipping Class with its own set of shipping rates.

It's worth noting that not every store is a good fit for Shipping Classes—if your customers frequently order multiple items at once, package weights (and thus shipping rates) will vary too much to be reliably grouped into one class. Creating Shipping Classes, on the other hand, is a great way to easily calculate WooCommerce shipping per item if your store is more of a "one-and-done" type of place.

Step-by-step instructions for setting up WooCommerce Shipping Classes:

  1. Add Your Product Groupings as WooCommerce Shipping Classes.
  2. Assign Your Items to the correct Shipping Class
  3. Calculate the Shipping Costs for each item
  4. Make a list of your shipping zones
  5. Create a table with each product's shipping class, zone, and rate
  6. Update WooCommerce with your shipping information
  7. Create shipping labels with Shippo


How To Setup WooCommerce Shipping Classes

1. Add Your Product Groupings as WooCommerce Shipping Classes

When your shipping costs differ significantly from item to item, whether due to package weight, service level, or other factors, WooCommerce Shipping Classes come in handy.

You might also want to create WooCommerce Shipping Classes based on carrier service levels' weight limits. Create one Shipping Class for items weighing less than 16 ounces (which will be shipped via USPS First-Class Package Service), and another for items weighing one pound or more (which would ship via USPS Priority Mail).

For expedited orders, one more option is to create a WooCommerce Shipping Class. If you sell perishable items, for example, you might want to create a Shipping Class for those items that require expedited shipping (likely USPS Priority Mail Express or similar).

Determine Your WooCommerce Shipping Classes

Because our store only sells two items, we'll create two WooCommerce Shipping Classes for our example today:

  • Candles weighing five pounds, including packaging.
  • T-shirts with packaging weighing 14 ounces.

Create the Shipping Classes in WooCommerce

Once inside your WordPress dashboard, go to WooCommerce > Settings > Shipping > Shipping Classes.

See the source image

Then, under Add Shipping Class, fill in the relevant details for the item for which you want to create a class. If necessary, click Add Shipping Class again to add more Classes.

2. Assign Your Products to the Appropriate Shipping Class

It's time to assign your products to the appropriate Shipping Class now that your Shipping Classes have been added to WooCommerce. When you add your products to your shopping cart after they've been assigned a Shipping Class, they'll trigger the appropriate shipping price.

Go to Products in your WordPress dashboard.

Now, select one of your products by clicking the blue hyperlink. (we’ll use T-Shirt for this example) > Shipping > Shipping Class

See the source image

Then, choose the appropriate Shipping Class for that item.

3. Determine the Shipping Rate for Each Product

After you've created your Shipping Classes in WooCommerce, you'll need to create your Shipping Zones and prices, which will determine the shipping cost that appears during the checkout process.

To begin, you'll need a firm grasp of your shipping costs. Skip this step if you already know your rates. If not, we'll show you how to calculate how much your carrier will charge to ship your items.

Determine the Package Weight for Each Product

Calculate the total weight of each product, including all packaging materials.

In this post, we'll assume that our store sells two different products: a five-pound candle and a 14-ounce t-shirt, both with their own packaging.

Select Your Service Level

The next step is to choose a carrier and service level. Check out our guide to all of the common USPS service levels for domestic packages for more information.

We'll be using two popular USPS service levels today:

  • Priority Mail from the United States Postal Service is a great option for packages weighing more than one pound and has a delivery time of 1-3 business days. When we ship our candles, this will be our service level.
  • USPS First-Class Package Service is a great option for packages weighing less than 16 ounces that need to arrive within 1-3 business days. This is the level of service we'll use for our t-shirts.

Note Your Rates for Each Zone

The majority of carriers base their prices on the package's weight, dimensions, and distance traveled. The distance between the origin and destination addresses is divided into different Zones. The higher the Zone, and the more expensive the package, the greater the distance.

4. Identify Your Shipping Zones

The next step is to identify and configure WooCommerce Shipping Zones.

It's critical that you charge your customers for shipping during the checkout process using WooCommerce Shipping Zones. The reason for this is that the major carriers charge different shipping rates depending on the distance between the origin and destination addresses. Shipping Zones are used to divide these distances. You can pass along the correct shipping rate to your customer by using WooCommerce Shipping Zones in your WooCommerce shopping cart.

Check out this blog post for step-by-step instructions on how to set up your Shipping Zones.

Today, we'll assume you've already set up your WooCommerce Shipping Zones.

5. Build a Table with Shipping Class, Zone, and Rate for Each Product

Create a table with the information you gathered above, listing each product and the shipping rate per item to each zone. The table we made with our sample items is shown below.



Zone 0, 1, 2





Zone 3





Zone 4





Zone 5





Zone 6





Zone 7





Zone 8





Zone 9





6. Add Your Shipping Information to WooCommerce

Now, using the table you created earlier, add these rates to each Shipping Zone's Shipping Classes. Here's how to do it:

  • Go to WooCommerce > Settings > Shipping > Shipping Zones.
  • Click the blue hyperlinked Zone Name. We’ll set up Zone 1 for this example.  

See the source image

  • Click the blue hyperlinked Shipping Method to edit (USPS).

Now, using your table as a guide, fill in the appropriate rate for each Shipping Class in the field. We add $7.81 for the candle Shipping Class and $4.94 for the T-shirt Shipping Class to Zone 1. You can also choose a calculation type on this screen–we're using "per class" so that all items are charged separately and totaled at checkout.

  • Save your changes.
  • Do this for all nine Shipping Zones.

7. Use Shippo to Generate Shipping Labels

After you've set up your WooCommerce Shipping Classes, you'll need to connect your store to a shipping software like Shippo, which has a WooCommerce shipping plugin, so you can create shipping labels for the same price you're charging your customers.

Shippo is a free WooCommerce integration that works right out of the box. The following is how it works:

  • Shippo imports your WooCommerce orders into the Shippo dashboard automatically.
  • After that, you can choose your orders and create labels (either one at a time or in a batch).
  • When you create a label in Shippo, the fulfillment status in WooCommerce is automatically updated.
  • When you make a change to your WooCommerce address or order status, it will sync with Shippo.
  • In just three simple steps, you can sync your WooCommerce store with Shippo. Instructions can be found in our Help Center article.

Congrats! Your WooCommerce Shipping Classes will be set up after you complete these steps, and you'll be ready to ship orders to your customers. Create a few new orders and use different ZIP codes to see how it works.


What is the difference between WooCommerce Shipping Class and Shipping Rate?

A WooCommerce shipping class is a way to group products together, such as the bulky shipping class, which only contains large items. A shipping rate is a fee that the customer must pay in addition to the purchase price, depending on the shipping class. As a result, any bulky items may incur a $50 surcharge.

How to make a shipping class In WooCommerce?

Go to WooCommerce > Settings > Shipping > Shipping Classes from your WordPress dashboard. Then, under Add Shipping Class, fill in the relevant details for the item for which you want to create a class.

Does WooCommerce offer free shipping and tax?

WooCommerce shipping tax is a feature that allows you to include tax in the price calculation. You can also set the tax percentage and enable tax based on location with WooCommerce. You can enable or disable the tax option for locations and zones under Standard rates.

About the Author
Author: Daniel Luke
Daniel is a WordPress web designer with vast experience working with various WordPress themes that allows him to compare and contrast different themes, understand the strengths and weaknesses to develop factual, real-world reviews.

One more thing... Did you know that people who share useful stuff like this post look AWESOME too? ;-)
Please leave a useful comment with your thoughts, then share this on your Facebook group(s) who would find this useful and let's reap the benefits together. Thank you for sharing and being nice!

Disclosure: This page may contain links to external sites for products which we love and wholeheartedly recommend. If you buy products we suggest, we may earn a referral fee. Such fees do not influence our recommendations and we do not accept payments for positive reviews.

Author(s) Featured On:  Inc Magazine Logo   Sitepoint logo   CSS Tricks logo    webdesignerdepot logo   WPMU DEV logo   and many more ...