How To Assign Rates To Shipping Classes in Woocommerce Plugin

How To Assign Rates To Shipping Classes in Woocommerce Plugin

One of my clients had me set up his e-commerce site and recently, we ran into a simple issue with woocommerce. It’s a very basic question but I couldn’t readily find an answer to it anywhere – not even on the woocommerce documentation. And as I researched about it, I’ve seen other people posting the same question also.

It’s about setting up the rates or charges that you want to apply for particular shipping classes. Creating shipping classes for your products in woocommerce is very straightforward and the instructions are well laid out in the developer’s documentation. But it is how to assign rates to them that’s very hard to come by.

Most of the answers I found talk about buying the “table rate shipping” extension which costs $199 for a single-site license. I personally find it a big rip-off and an overkill if all you wanted to do is assign a simple flat rate charge for your shipping classes. I mean, think about it – what is the whole point of letting users create shipping classes if you can’t assign rates to them? Is it all so that we will buy the overpriced extension?

Fortunately, after about an hour of browsing through the settings pages in the admin area, I figured it out. This might be nothing to the experienced woocommerce users, but to the first time users of this plugin, this could save you hours of work, research and possibly money. So here’s how to do it:

  1. Let’s start with creating shipping classes. To do that, go to  Products  >>  Shipping Classes how to assign rates to woocommerce shipping classes step 1
  2. On the  Shipping Classes  page, create a shipping class just like how you would do it when manually adding categories or tags for your blog posts :how to assign rates to woocommerce shipping classes step 2
  3. Now that you have created a shipping class. We’ll assign it a rate, the amount you want to charge your customers for shipping of products under this shipping class. Go to  WooCommerce  >>  Settings  >>  Shipping  >>  Flat Rate how to assign rates to woocommerce shipping classes step 3
  4. Scroll down to  Additional Costs . First select how you want to apply the shipping charge – on a per-item or on a per-order basis; then click the button  + Add Cost  :how to assign rates to woocommerce shipping classes step 4
  5. After clicking  +Add Cost , a new entry (or rule) will be added where you can set how much charges you will apply to particular shipping classes:how to assign rates to woocommerce shipping classes step 5

    Don’t forget to click the  Save Changes  button when you’re done, to apply the changes.

So.. If you have come to this post and read this far, I’m assuming that you are asking the same question. I hope this post has helped you, saved you time and money by not buying the table rates extension. Of course that extension has additional features, but when you’re just starting out with your online business, setting up your e-commerce site can be very complicated and you just want simple solutions to simple problems like this.

Let us know what you think by leaving a comment below. Also, if you were able to find a better solution, you would make the world a better place by telling us about it below! 😉


People don't really know what they want until they learn about it. Marketing educates people about what they want. I'm a marketer, therefore I'm an educator.
  • Micky Sanderson

    Is there a way to integrate eparcel rates manually without having to pay for an expensive plugin? This is for international use and for each zone, there are TWO shipping calculations to add. for example. For US up to 2kg it would be base rate + price per kg +gst….anything between 2kg-20kg it would be a different base rate + price per kg + gst. Can this be done with multiple shipping zones manually without buying an expensive pluggin? If so, how do I go about it. My web developer has pretty much given up on it so any help would be appreciated. Thanks.

  • miri

    hi thanks for this post.
    i have a question. my client offers first and second class shipping and each has a different rate. my client has different sizes of products, and each size has both shipping classes. however, the first class rate for the bigger size is not the same as the first class of the small size.
    e.g. LArge product: 1st class= 5 dollars, snd class= 3 Dollars
    Medium Product: 1st class= 4 Dollars, 2nd class= 2 Dollars
    Small product: 1st class= 3 Dollars, 2nd class= 1 Dollars

    how would i set that up? please answer me asap! thanks so much

  • Harshita Sharma

    How to set different shipping rates (standard and express) for different products for different countries in WooCommerce?

    “Table rate shipping” paid plugin can do this, but I am looking for a free solution.

  • dude

    How to allot different shipping charges for different number of products like for eg,Rs,50 for 1 product,Rs.100 for more than 5 products.

  • Emilia Hazell – Smith

    Thank youuuuuuuu! This has been a lifesaver!