Setting up Weight Based Shipping Rates using Shipping Pro

In this article, we will take a real-life scenario where the flexibility of WooCommerce Table Rates Shipping Pro resulted in letting the store owner achieve a shipping solution based on weight. Read below to know more.

The shipping industry has supported eCommerce a lot. Be it the huge online businesses or small store owners, shipping the products to customers has been the top concern for all of them. While WordPress has a lot of shipping plugins, almost none of them provide as much flexibility as WooCommerce Table Rates Shipping Pro.

According to Bryan, who owns an online Sports Accessory store in LA,

I am having trouble setting up shipping rates. I have 3 categories of products with different shipping -rates.

  • Pool Cues should be $12.00 for the first cue and then rate should increase by weight for each additional cue as $5 per pound.
  • Cases should be $10 for the first case and then rate should increase by weight for each additional case as $3 per pound.
  • All other products should be $2.45 base with a $0.19 increase per pound.

Clearly, Bryan wants the shipping rates to be calculated on an additional weight basis. Let us see how WooCommerce Table Rates Shipping Pro achieves this.

Weight-based Shipping Rates in Shipping Pro

Shipping Pro lets store owners choose from a list of parameters based on which they want shipping rates to be calculated. In Bryan’s case, as he wants the shipping rates to be displayed based on the weight, he needs to select the following options,
Method Title: This will be the name of the shipping option that will be visible to the customers on the cart as well as on the check-out page.
Method Groups: This option helps to group multiple shipping methods under a group. Using groups the store owners can show more than one shipping option.
Product Category: The product category can be used to apply the rule to all the products of a single category.
Rates Based on: This option lets the store owner decide based on which parameter the rates will be applied. The store owners can choose between Price, Weight, and Items.
Weight: Since Bryan chose to go by weight, this option will let him choose the weight limitations as to minimum weight and maximum weight.
Base Cost: This option is the base cost that is applied irrespective of the quantity of the product.
Cost per Unit: As Bryan wants additional charges based on per unit weight then this option is selected to fulfill that.
According to Bryan’s business needs, the following image shows the ideal options for his business.


Now let us take a look at the configuration that Bryan wants,

Weight-based-Shipping-Rates-in-WooCommerce-Table-Rate-Shipping Pro

Now let’s take a look at Bryan’s cart page and all the business scenarios that he wanted.

Bryan’s Business Scenarios…

Bryan has three products based on his business scenario.

  • Pool Cue with weight 2 lbs
  • Cases with weight 3 lbs
  • Baggage with weight 2 lbs

Let’s check by adding each product to the in cart.

  • Pool Cues in Cart


As you can see, the single Pool Cue is added to the cart and the shipping option Ship 1 Ground A is selected. Based on the shipping rules in the Shipping Pro, the cost of the shipping would have to be $12.
Now let’s see what happens with multiple Pool Cues.

  • Multiple Pool Cues in Cart

Multiple Pool Cues in Cart

As you can see, multiple (3) Pool Cues are added to the cart and the shipping option Ship 1 Ground B is selected. Now let us calculate the shipping cost based on Bryan’s business case.

The weight of a single Pool Cue is 2 lbs. Hence the additional weight with 3 Pool Cues in the cart will be 2+2=4 lbs. Hence the final shipping cost would be 12+5×4. As the base cost is $12 and the per-unit cost is $5 per lbs. So, the total shipping cost would be $32, which matches the above image.

Hence, Bryan’s business can be easily achieved by using WooCommerce Table Rates Shipping Pro. Online store owners who want weight-based shipping to be applied to the customers, can achieve virtually any scenario with the help of this plugin. Here is a video that explains how to configure a similar scenario using the plugin :