How to Set Up WooCommerce Table Rate Shipping
To set up table rate shipping in WooCommerce, combine shipping zones, shipping classes, and flat-rate cost variables to build rules that change the shipping cost by destination, weight, quantity, or order value. WooCommerce doesn’t include a dedicated table rate feature, so store owners either approximate it with built-in settings or use a table rate shipping plugin for full flexibility. This guide covers both approaches.
What Is WooCommerce Table Rate Shipping
Table rate shipping is a method of calculating shipping costs from a set of predefined rules based on factors like destination, weight, quantity, or order value. It is not a specific tool inside WooCommerce. Instead, store owners build these rules using the Flat Rate shipping method combined with shipping classes, or with a dedicated plugin for more advanced conditions.
The most common conditions used to build table rate rules:
- Destination zone: Shipping cost varies by country, state, or zip code.
- Order weight: Cost increases with the total weight of the package.
- Order subtotal: Cost is based on the cart total before tax and shipping.
- Quantity of items: Cost scales with the number of items in the order.
- Shipping class: Different product types carry different shipping costs.
- Product dimensions: Cost is based on length, width, and height.
Examples:
| Condition | Sample rule |
|---|---|
| Destination | Local: $5.00, Regional: $8.00, National: $10.00 |
| Weight | Up to 1 kg: $5.00, 1–5 kg: $8.00, Over 10 kg: $15.00 |
| Quantity | 1 item: $5.00, 2 items: $8.00, 6–10 items: $15.00 |
| Order value | Up to $50: $5.00, $100–$200: $10.00, Over $200: Free |
How to Set Up WooCommerce Table Rate Shipping Using Built-in Settings
WooCommerce’s default settings don’t include native table rate logic, but you can approximate several table rate scenarios using shipping zones, the Flat Rate method, and shipping classes.
Step 1: Set Up Your Store Location
Go to WooCommerce > Settings > General and set your store’s base location, the countries you sell to, and how the system should detect a customer’s location.
Step 2: Create Shipping Zones
Go to the Shipping tab and add a new zone. For example, create a “Local” zone for your home state and set the Zone Regions to match. Repeat this for each destination tier you want to charge differently, such as Regional and National.
Step 3: Add the Flat Rate Method and Set Cost Variables
Click Add Shipping Method inside each zone and select Flat Rate. The Cost field accepts these placeholders:
- [qty]: The number of items in the cart, used to scale cost with quantity.
- [fee percent=”value”]: Charges a percentage of the total order cost as the shipping fee.
- min_fee=”value”: Sets a minimum shipping fee regardless of the calculated amount.
- max_fee=”value”: Caps the shipping fee at a fixed maximum.
Save the zone, then repeat for each destination tier with its own flat rate cost.
Step 4: Create Shipping Classes for Weight-Based Rates
Go to the Shipping Classes tab and add a class for each weight tier, such as “Up to 1 kg” and “Over 10 kg.” Assign each class to the relevant products individually from the product edit screen, or in bulk from the All Products page using Quick Edit.
Step 5: Combine Zones and Classes for Destination-Plus-Weight Rates
Open a zone’s Flat Rate method again. WooCommerce shows a separate cost field for each shipping class you created. The amount entered here is added to the zone’s primary flat rate. For example, a $5 primary rate plus an $15 “Over 10 kg” class rate produces a $20 total for a heavy local order. Repeat this per zone to combine destination and weight pricing.
Limitation: Built-in WooCommerce settings cannot calculate rates purely by item count or by order-value ranges. Flat Rate only reads weight, percentage, or fixed costs, and there is no native way to define value-range conditions. Quantity-based and order-value tiered rates require a table rate shipping plugin.
How to Set Up WooCommerce Table Rate Shipping Using a Plugin
For quantity-based rates, order-value tiers, and more advanced multi-condition logic, use a dedicated table rate shipping plugin. This walkthrough uses Flexible Shipping by Octolize, one of the most installed table rate plugins for WooCommerce, in its PRO version for the quantity-based example below (the free version calculates by weight and cart total only).
Step 1: Install the Plugin and Add the Shipping Method
Install and activate the plugin, then edit or create a shipping zone and click Add Shipping Method. Select Flexible Shipping and click Edit to open the Shipping Cost Calculation Rules section.
Step 2: Set Quantity-Based Rates
Select Item from the Condition dropdown, then define quantity ranges and their costs, for example 1 item at $5.00, 2 items at $8.00, and 6–10 items at $15.00. Add a rule row for each tier and save. At checkout, WooCommerce applies the rate matching the cart’s item count automatically.
Step 3: Set Order-Value Tiered Rates
Add a new rule using Price as the condition, then define value ranges such as up to $50 at $5.00 and $100–$200 at $10.00.
Step 4: Add a Free Shipping Threshold
Instead of creating a separate free shipping method, use the plugin’s Free Shipping section and set a Minimum Order Value. This can apply before or after coupon discounts, and the plugin can display a “left for free shipping” progress notice to encourage larger orders.
Best WooCommerce Table Rate Shipping Plugin: Flexible Shipping
Flexible Shipping by Octolize is a widely used option for stores that need more shipping logic than WooCommerce’s default settings allow. The free version calculates costs by cart weight and cart total. The PRO version adds shipping-class rules, quantity-based rules, product dimensions, and conditional method hiding.
Key Features
- Unlimited shipping methods and cost calculation rules.
- Free shipping threshold with a left-for-free-shipping notice.
- Debug mode that explains why a shipping method is or isn’t showing at checkout.
- PRO: shipping-class, quantity, and dimension-based conditions.
- PRO: conditional method hiding based on time, day, or cart contents.
Check the official pricing page for current PRO plan rates before publishing.
Frequently Asked Questions
What is table rate shipping in WooCommerce?
Table rate shipping is a rule-based method for calculating shipping costs using conditions like destination, weight, quantity, or order value. WooCommerce doesn’t have a built-in table rate feature, but you can approximate one with shipping zones and classes, or use a dedicated plugin for full flexibility.
Can I set up table rate shipping without a plugin?
Partially. You can combine shipping zones, the Flat Rate method, and shipping classes to charge different rates by destination and weight. However, quantity-based and order-value tiered rates aren’t possible with WooCommerce’s default settings alone.
Can I charge shipping by quantity in WooCommerce?
Not with default settings. WooCommerce’s built-in Flat Rate method doesn’t read cart item count as a pricing condition. A table rate plugin with an Item or quantity condition, such as Flexible Shipping PRO, is needed to charge by the number of items ordered.
What’s the difference between table rate shipping and real-time carrier rates?
Table rate shipping uses your own fixed rules for cost, based on weight, destination, or order value. Real-time carrier rates pull live pricing from a carrier like USPS, FedEx, or DHL through a separate integration. They solve different problems and often use different plugins.
Key Takeaways
- WooCommerce has no native table rate shipping feature, so store owners build it using zones, classes, and Flat Rate cost variables, or use a dedicated plugin.
- Built-in settings can combine destination and weight-based pricing, but cannot calculate rates by quantity or order-value ranges.
- A table rate shipping plugin such as Flexible Shipping adds quantity-based rules, order-value tiers, and a configurable free shipping threshold.
- Shipping-class and quantity-based conditions in Flexible Shipping require the PRO version; the free version covers weight and cart total only.
- Real-time carrier rates and table rate shipping solve different problems and shouldn’t be confused when choosing a plugin.