How to Reduce Shipping Costs Based on WooCommerce Shipping Classes

If you purchase through a link on our site, we may earn a commission. Learn more.

WooCommerce shipping classes are useful features that let you classify different products and set separate shipping conditions. Learn how you can reduce shipping costs when using shipping classes in WooCommerce.
Table of Contents
WP Engine High Performance Hosting
BionicWP Hosting

As you may know, there are many types of products sold on an eCommerce site, including items that are easily broken, items needing careful packing, etc. If you don’t classify them into different groups, you will be overwhelmed and won’t be able to manage your products well. One of the best ways to classify your products is by using WooCommerce shipping classes.

But the question is: Classifying products may affect the shipping cost in your store. How can we reduce shipping costs when using WooCommerce shipping classes?

Shipping cost is one of the main factors directly affecting customers’ buying decisions. The higher the shipping fees, the less the possibility to make purchases. This is especially true for wholesale stores.

Therefore, when building a WooCommerce online store and customizing WooCommerce shop pages, store owners should focus on shipping rates and try to reduce the shipping cost as much as possible.

What are WooCommerce Shipping Classes?

WooCommerce shipping classes are a very useful feature that allows you to group products with the same properties which need handling with care, and control how costs are calculated. You can differ small, light products from the big, heavy ones and allocate shipping conditions and costs to specific products.

How to set up WooCommerce shipping classes in your store

To set up Shipping classes in your WooCommerce store, in the dashboard, go to WooCommerce > Settings > Shipping > Shipping classes.


Here, you can add new shipping classes by clicking Add shipping class button.

Then, a new field will pop up. You need to enter:

  • Shipping class name – a name to easily distinguish classes.
  • Slug – if you don’t enter the slug it will be automatically generated. (The slug is used as a reference to the shipping class in your database.)
  • Description – is optional and only visible in the admin area.

After filling up all the required information, remember to save shipping classes. Repeat this process for other shipping classes you’ll need in your store.


Here are some shipping class examples I made for my WooCommerce store.


Once creating a shipping class or classes in your store, you can assign a shipping class to products and minimize shipping costs for them. There are 2 ways for you to do that: per product individually or products in bulk.

Assign shipping classes for each product individually

To apply shipping classes for items individually, in the dashboard, go to Products > All Products. From the list of the products available on your store, choose the item you want to use shipping class.

In the area of Product data, navigate to Shipping section and select the shipping class you want to assign for that product.


For example, you can add a “fragile” class for the products that are easily broken. This can also be helpful for items that require insurance, express shipping, or specialized packaging.

Finally, remember to save all changes you’ve made.

Assign shipping class for multiple products

If you want to add a shipping class for a lot of products, you can add them in bulk. From your products dashboard, select the products you would like to add to the shipping class. Then, select Edit under Bulk Actions, and hit the Apply button to start customizing.


A new window appears. Here, you can select the shipping class you want to assign for the items you have chosen. Lastly, just need to save all things and proceed to the next step.


How to set shipping costs based on WooCommerce shipping classes

In this section, we will show you how to minimize the shipping cost by configuring shipping classes in your WooCommerce store.

As you may know, each product class may add additional shipping and/or handling fee. Hence, once you’ve finished applying the shipping class for your products, you’ll then need to add the costs for your shipping classes for both shipping and handling.

To configure shipping cost based on shipping classes on your WooCommerce store, navigate WooComerce > Settings > Shipping > Shipping zones, and choose the zone name you want to customize. After that, under the shipping method, you can edit it with shipping classes.


You can set any cost for different shipping classes as the example below. I set $5 for basic cost, $4 for “fragile” class, $6 for “insured” class, $2 for “no shipping class“.


The key option is the calculation type where you choose the method of applying additional cost. There are 2 ways for you to charge shipping costs based on product shipping classes which are per order and per class.

Per order: Charge shipping for the whole order

If you select Per Order, besides the base cost, you will have to charge for the most expensive shipping class. In other words, if an order contains items with more than one shipping class, only the highest charge will be added. Regardless of item quantity, the shipping fee will only be added once. Let’s see how it works in the example below.

The total flat rate is $11, containing $5 base cost and $6 for an oversized Demin Jacket (“Insured“- the highest shipping class fee). The $4 cost for a Striped Neckerchief (Fragile class) and $2 for Burberry T-Shirt (no shipping class) will not be added to the calculation.

Per Class: Charge shipping for each class individually

If you select “Per class“, besides the base cost, all of the shipping class fees found in the cart will be calculated once, regardless of item quantity.

Regarding the above example, if I select “per class“, the total shipping cost will be $17, including a $5 base cost, $4 “fragile” fee, $6 “insured” fee, and $2 “no shipping class” fee. I can increase the quantities of the items, while the total fee will remain the same. Because each class fee is only added once. It’s clear that the total flat rate calculated per class is higher than it calculated per order.


The difference between per order and per class cost additions is that if you apply shipping calculation per order, only the highest fee is added once. Whereas, if you apply shipping calculation per class, a fee for each class in the cart will be added, not just the highest one. Therefore, if you want to minimize shipping costs when using shipping classes in your WooCommerce store, you should choose to calculate the shipping rate per order.


That’s all you have to learn about the WooCommerce Flat rate shipping configuration with shipping classes.

Per order and per class fees are typically used when your shipping classes are applied in your WooCommerce store. With the aim of reducing shipping costs when using shipping classes, just set your shipping calculation per order. Now you’re ready to sell!

If you have any question or suggestion about this topic, please let me know by leaving your comment below.

Alice Pham

I am a blogger, writing freelancer, and a digital marketer. I like to work with open-sourced platforms like WooCommerce, WordPress, Shopify, Magento, etc. My hobbies are traveling and watching movies. Follow me on Twitter: @thuyphuong082

Discover more from our archives ↓

Popular articles ↓

Share Your Thoughts

Your email address will not be published. Required fields are marked *

Claim Your Free Website Tip 👇

Leave your name, email and website URL below to receive one actionable improvement tip tailored for your website within the next 24 hours.

"They identified areas for improvement that we had not previously considered." - Elliot

By providing your information, you'll also be subscribing to our weekly newsletter packed with exclusive content and insights. You can unsubscribe at any time with just one click.