How to Set Up Weight Based Shipping in WooCommerce

Package dimensions, destination, delivery speed, and any additional services required (e.g., tracking, insurance) factor into calculating shipping rates. However, there’s one factor that matters to all reputed shipping companies – package weight.

Weight-based shipping rates are prevalent because weight directly influences the cost of transportation and handling. Heavier packages typically require more fuel and resources to transport.

This leads to higher shipping costs. Therefore, shipping companies often charge based on the package’s weight to accurately reflect these expenses.

By implementing WooCommerce weight based shipping, you can ensure accurate shipping costs for your customers.

Let’s explore how to set up weight-based shipping in WooCommerce and streamline your WooCommerce shipping process.

What is WooCommerce Weight Based Shipping?

WooCommerce Weight Based Shipping is a method for calculating shipping costs in your WooCommerce store based on the actual weight of a customer’s order.

In simple words, you display shipping costs to customers based on the weight of the products they are ordering.

This method offers several advantages:

  • Fairness and Transparency: Customers are charged based on the true weight of their order. This ensures they pay a fair price for shipping.
  • Reduced Losses: By accurately reflecting shipping costs, you avoid situations where you undercharge for heavy items and potentially lose money.
  • Improved Customer Experience: Clear and accurate shipping costs upfront can lead to a better customer experience and fewer surprises at checkout.

WooCommerce itself doesn’t have built-in weight-based shipping functionality. However, there are ways to do some workarounds using the default tools.

Additionally, you can achieve this through plugins specifically designed for WooCommerce Weight-Based Shipping. These shipping based on weight WooCommerce plugins allow you to configure various rules for calculating shipping costs based on weight ranges, specific weights, and even different shipping zones.

How to Charge Shipping Based on Weight in WooCommerce Using Built-in Tools

As we have already mentioned, even though the built-in WooCommerce shipping tools don’t come with weight based shipping cost-calculating features, there are some ways you can achieve WooCommerce weight based shipping without plugin.

💡 You can check out all the shipping settings walkthroughs in our complete guide on WooCommerce shipping setup.

What we need to get started is shipping classes. Let’s say you are selling vintage furniture and items and want to set WooCommerce shipping cost based on weight. Here’s what you want to charge.

Weight-based Rates:

  • Up to 1 kg: $5.00
  • 1-5 kg: $8.00
  • 5-10 kg: $10.00
  • Over 10 kg: $15.00

Jump to WooCommerce >> Settings >> Shipping and add a shipping class.

We will name this WooCommerce weight based shipping class as – Up to 1kg and set other details.

Add class

In a similar fashion, create other classes for other weight ranges.

Classes for WooCommerce weight based shipping

Next, you have to assign the classes to the products according to their weight categories. For example, here’s a product that is under 1 kg, so it should be under Up to 1kg class.

assign class

Here’s another one within the 1-5 kg range.

assign class for WooCommerce weight based shipping

Looks like a time-consuming task, right? You can also bulk assign WooCommerce weight base shipping classes.

Go to All Products and filter your products according to your requirements. Select all of them and click the Quick Edit button.

quick edit

On the Quick Edit window, assign the appropriate class and update.

bulk assign classes

Finally, you need to create or edit a flat shipping method. Go to your designated shipping zone and add/edit the flat rate method.

edit shipping method

Scroll down the flat rate window, and you will find all the classes you created.

shipping class cost

Finally, set your rates for every class.

assign costs

Field Testing: WooCommerce Weight Based Shipping Using Shipping Classes

It’s time to check if these shipping rates are working. Let’s add a product under 1 kg to the cart and jump to the cart page.

WooCommerce weight based shipping example

We had set the primary cost at $5, and for products up to 1 kg, $5. Therefore, the total shipping cost is $10.

Let’s try with a product that is over 10 kg.

WooCommerce weight based shipping examples

Again, our primary cost is $5 + Over 10 kg shipping class set cost $15 = shipping cost $20.

What if we add some different class products in the same cart? Let’s add a 1-5 kg shipping class product to our current cart.

applying multiple classes

Here’s how WooCommerce calculated – our primary cost $5 + Over 10 kg class cost $15 + 1-5 kg class cost $8 = Total shipping cost $28.

Additional Placeholders for Shipping Classes

In addition to static values, WooCommerce allows you to set various conditional variables in the cost fields. You can apply these placeholders to all cost fields, including class cost fields.

Let’s take a look at the available variables.

  • [qty]: This symbol represents the total number of items a customer has added to their shopping cart. For example, if a customer has three items in their cart, [qty] will be replaced with the number 3.
  • [fee percent=”numeric value”]: This option calculates a shipping cost based on a percentage of the total order amount. For instance, if you set [fee percent=”5″], the shipping fee will be 5% of the total order cost.
  • min_fee=”numeric value”: This allows you to set a minimum shipping cost to ensure you receive a baseline amount for shipping, regardless of the calculated fee. For example, if you set min_fee=”10″, it means that even if the calculated shipping fee is less than $10, it will be adjusted to $10.
  • max_fee=”numeric value”: This option allows you to set a maximum shipping cost to prevent excessive charges. For instance, if you set max_fee=”30″, it means that even if the calculated shipping fee is higher than $30, it will be capped at $30.

You can find practical examples of these placeholders in our WooCommerce shipping setup guide.

Overall, you can combine these variables to set more advanced shipping costs based on weight WooCommerce.

Disadvantages of Setting Up Weight Based Shipping Without Plugins

While the built-in WooCommerce tools allow you to achieve weight-based shipping through shipping classes, there are some significant drawbacks to this method compared to using plugins:

  • Time-Consuming Setup and Management: Manually creating shipping classes for every weight range can be very tedious, especially for stores with a large product variety. Bulk assigning classes can help, but it still requires categorizing products by weight beforehand.
  • Limited Configurability: You’re restricted to using flat rates for each weight class. This method doesn’t account for factors like package dimensions or destination zones, which can impact shipping costs in reality. You are also restricted to assigning classes to products and cannot calculate based on the total weight of the order dynamically.
  • Difficult to Scale: As your product range grows, managing numerous weight classes and product assignments becomes cumbersome. Maintaining consistency and accuracy with manual setups can be challenging.
  • Limited Automation: There’s no automation for dynamically calculating shipping costs based on product weight and order quantity. This can lead to errors and frustration for both you and your customers.
  • No Support for Advanced Features: Plugins often offer additional features like real-time carrier rate quotes, packaging options, and integration with popular shipping providers. These are missing from the built-in method.

In essence, the built-in method offers a basic solution, but it lacks the flexibility, scalability, and automation needed for efficient weight-based shipping in most online stores.

How to Add Weight-Based Shipping in WooCommerce Using Plugins

WooCommerce is the undisputed king of eCommerce not only for its features and flexibility but also for its loyal subjects – Supporting Plugins. There are plugins for just about anything in WordPress and WooCommerce.

Among the myriad offerings, there are a number of plugins available for you to set up WooCommerce weight based shipping with ease. In this section, we will explore how to add weight based shipping using a plugin.

For this example, we will use the WooCommerce Weight-Based Shipping plugin. This plugin allows you to set weight-based shipping regardless of product types and weight ranges. Most importantly, it helps you dynamically calculate shipping rates for the total weight of your customer’s cart and doesn’t necessarily need to group products in classes.

Configuring Weight Based Shipping Using a Plugin

Install the plugin from WordPress repository.

install WooCommerce weight based shipping plugin

Go back to WooCommerce >> Settings >> Shipping. Now, you see a new menu called Weight Based Shipping.

Weight based shipping menu

You can create a global shipping method and set the same rate for all customers globally. Or you can set weight-based shipping in your existing zones.

Let’s try out the Set up global shipping rules button. It will take you to the following page.

add shipping rule

Click on the Add shipping rules button, and you will land here –

add rule for WooCommerce weight based shipping

Click on Add New, and a window will pop up. Let us explain different sections of the popup.

Select whether shipping costs should include taxes. Name your rule and set a shipping method title for customers to see on the cart and checkout page.

rule settings

Next, set the location and conditions. You can set the same conditions for all countries or select specific countries, or exclude some.

condition settings

In the real world, you would need to set different rates for different locations based on your shipping company charges.

specific countries

We must mention that there are dedicated WooCommerce integration plugins from reputed shipping companies such as DHL, UPS, FedEx, etc. These plugins let you dynamically display shipping costs calculated in real-time. There are also SAAS shipping solution providers that offer WooCommerce integration and display real-time rates to your customers.

Setting Conditions for Weight Based Shipping

Coming back to the conditions window, in the Order Weight section, you can set the range of weights for your WooCommerce weight based shipping rates.

order weight for WooCommerce weight based shipping

For example, we have set the minimum weight to 0.01 kg and a maximum of 5 kg. We will set the cost for this weight range in the next section.

Using the “Order subtotal” option in weight-based shipping allows you to consider the total price of all the items in the customer’s shopping cart when applying shipping charges.

order subtotal

Here’s how it works:

  • If you set a limit for the order subtotal, let’s say $100, it means that weight-based shipping will only kick in if the total price of the items in the cart is within that limit, in this case, $100 or less.
  • If the cart’s total price exceeds the specified limit, weight-based shipping won’t be applied, and the default shipping method or charges will take over.
  • On the other hand, if you don’t set any limit for the order subtotal, weight-based shipping will apply regardless of the total price of the items in the cart.

So, in simpler terms, this option lets you decide whether weight-based shipping should only be used for carts with a total price below a certain amount or for all carts, regardless of their total price.

Setting Shipping Charges for The Set Weights

In the “Charges” section of the weight-based shipping settings, you first set a base charge. This is the initial cost for shipping items within a certain weight range.

WooCommerce weight based shipping charges

Then, you have the option to add extra charges if the total weight of the items in the cart goes over a specific limit. For example, let’s say your base charge is $10 for items weighing between 1 and 5 kilograms.

Now, if the total weight in the cart exceeds 5 kilograms, you can set an additional charge, let’s say, $5 for every kilogram over the 5-kilogram limit.

So, if a customer’s cart weighs 7 kilograms, which is 2 kilograms over the limit, the plugin will automatically add $5 * 2 = $10 to the shipping charge on top of the base charge.

You must note that you should create a new rule for these conditions to apply.

conditional WooCommerce weight based shipping

You can create a new rule by clicking the Add Rule button.

add rules

Shipping Classes

This is a pro-only feature where you can set WooCommerce weight based shipping for specific product classes (categories).

WooCommerce weight based shipping by classes

From Modifiers, you can set the maximum and minimum shipping costs to prevent losing money or overcharging your customers.

You can create as many shipping rules as you may need to apply different conditions for your WooCommerce weight based shipping strategies.

These were the conditions and settings this WooCommerce weight-based shipping plugin allows you to set.

Assigning Weight Based Shipping From Individual Zones

You can also assign weight-based conditions to your existing shipping zones from individual zone pages.

Go to any zone and click the Add Shipping Method button.

add shipping method

Now, you will see two new shipping methods in the list. We will start with Weight-Based Shipping 6 Preview.

WooCommerce weight based shipping

Select it and continue. Click on Edit.

edit method

It will take you to this list of rules. You can create weight based shipping conditions and rules from here. Use the Add Rule button to create additional rules.

weight based shipping

You can configure conditions similar to those we showed above from this page.

add rules

Finally, select the rules you want to apply and hit the Save button from the bottom right.

save rules

Now, let’s try the Weight Based Shipping method.

WooCommerce Weight Based Shipping

If you select this option and then click Edit, it will take you to the following page –

add shipping rules

The next steps are similar to the Global rules we configured earlier.

Testing the Shipping Conditions Set in the Plugin

Save your settings and check out the new rules from the front end.

WooCommerce Weight Based Shipping plugin example

We have added a product with a weight of 2.3 kg. This falls within the 0.01-5 kg range, which is why WooCommerce is showing a base fee of $10.

Let’s add more weight to the cart. We will add a 13 kg weighted product. Here’s what the shipping cost now –

shipping cost

Our condition was – $5 for every kilogram over the 5-kilogram limit with a base price of $10.

rules applied

The total weight of our current cart is – 13 kg + 2.3 kg = 15.3 (WooCommerce will count it 16 kg).

Therefore, 16 kg – 5 kg = 11 kg over 5 kg weight x $5 = $55 + $10 base charge = $65.

You can add different rules for more advanced shipping calculations, such as table rate shipping.

shipping rules

Best WooCommerce Weight Based Shipping Plugins

There is a wide array of weight-based shipping plugins available on the market. Here’s our pick of the best ones.

WooCommerce Weight Based Shipping plugin

WooCommerce Weight Based Shipping

If you’re running a WooCommerce store and need a reliable way to calculate shipping costs based on order weight, the WooCommerce Weight Based Shipping plugin by might be just what you’re looking for. It’s designed to simplify the process of determining shipping fees, primarily focusing on the weight of each order.

But it’s not limited to weight alone – you can also factor in other things like the order subtotal and destination. One of the standout features of this plugin is its flexibility.

You can create multiple shipping rules based on different conditions, which means you can tailor shipping costs to specific scenarios. For example, you can set different rates for orders going to different destinations or for orders of varying weights.

Overall, the WooCommerce Weight Based Shipping plugin is a solid option for anyone looking to take the guesswork out of shipping costs on their WooCommerce store.

Key Features

  • Seamlessly integrate order weight, subtotal, and destination into your shipping calculations.
  • Craft unlimited shipping rules to accommodate diverse scenarios, ensuring precise cost calculations for each order.
  • Enjoy the flexibility of setting fixed or progressive pricing structures based on cart weight, or even a combination of both.
  • Set up conditional free shipping thresholds, enticing customers with the promise of cost-free delivery upon reaching specified criteria.
  • Harness the power of shipping classes support (available in the Plus version), allowing you to fine-tune shipping price calculations for each distinct shipping class within your inventory.

Table Rate Shipping Method for WooCommerce by Flexible Shipping

flexible shipping plugin

The Table Rate Shipping Method for WooCommerce by Flexible Shipping is one of our favorite plugins when it comes to WooCommerce shipping. It’s a robust solution to streamline shipping calculations for your online store.

Developed by Octolize, this plugin offers advanced features that allow you to calculate shipping costs based on factors like weight and cart total. Whether you’re a small business or a large enterprise, this plugin provides the flexibility and customization you need to manage shipping efficiently.

Key Features

  • Set up unlimited shipping methods and cost calculation rules tailored to your specific requirements.
  • Determine shipping costs based on cart total, weight, or a combination of both, with the ability to set minimum and maximum values.
  • Offer free shipping for orders meeting a certain threshold, encouraging higher order values.
  • Customize shipping costs based on product categories, shipping classes, or specific products.
  • Unlock additional capabilities such as shipping cost based on product dimensions, user roles, and time of day, among others, with the PRO version.

Multi-Carrier Shipping Plugin for WooCommerce by PluginHive

Multi-carrier Shipping plugin

The Multi-Carrier Shipping Plugin for WooCommerce is a comprehensive solution that seamlessly integrates table rate shipping with real-time rates from major carriers like FedEx, UPS, USPS, DHL Express, and Developed by PluginHive, this plugin offers a robust shipping solution for businesses of all sizes and allows you to calculate shipping costs based on various parameters such as weight, quantity, and price.

This plugin has garnered praise for its ease of use and flexibility in handling complex shipping scenarios. Whether you’re shipping domestically or internationally, this plugin empowers you to offer accurate shipping rates to your customers, enhancing their shopping experience and boosting customer satisfaction.

Key Features

  • Access rates from major carriers like FedEx, UPS, USPS, DHL Express, and, ensuring accurate and up-to-date shipping costs for your customers.
  • Create custom rules based on customer location, product category, shipping class, and more, allowing you to tailor shipping rates to specific scenarios.
  • Utilize multiple carriers within a single plugin, giving you the flexibility to choose the most cost-effective shipping option for each order.
  • Automatically determine how items should be packed to optimize shipping costs, ensuring accurate calculations for each shipment.
  • Benefit from dedicated customer support to assist with setup and troubleshooting.

Wrap up

Offering accurate and clear shipping costs is significantly important for your WooCommerce store. Failing to do so can result in 70% cart abandonment.

Weight-based shipping offers a precise and fair way to charge customers based on their order size. While WooCommerce doesn’t have this functionality built-in, utilizing dedicated plugins provides a simple and flexible solution.

For most users, the ease of setup and additional features offered by plugins make them the recommended approach. We trust that this WooCommerce weight-based shipping tutorial will help you configure and provide flexible shipping choices to your customers.

Leave a Reply

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

This site uses Akismet to reduce spam. Learn how your comment data is processed.

5,275,277+ Downloads. 578+ plus 5-star ratings. Promote products on any platform you want.