Weight-Based Shipping

WooCommerce Plugin
New
2026 release
v1.3.1
Latest version
50+
WPFactory plugins
cart weight → exact shipping cost ↓

Charge shipping by what the box actually weighs.

Tier 1: 0-2kg, $4.50. Tier 2: 2-5kg, $7.20. Tier 3: 5-10kg, $11.80. Unlimited weight tiers per zone. Variation weights with parent fallback. Free shipping thresholds by weight or cart total. $39.99/yr or $119 once.

Unlimited weight tiers
Per-zone configuration
HPOS-ready
three things flat-rate can't do ↓

One flat shipping rate. Three ways it bleeds money.

A flat rate works until the day a customer orders 15 kg for the same fee as a 200 g order. Then either you eat the carrier surcharge, or the customer walks because shipping looks expensive on a light cart. Weight-based tiers fix both ends at once.

problem · 1

Light carts pay more than the parcel is worth.

📚 200 g bookflat $8.50✕ shipping > product
🎨 500 g printflat $8.50✕ shipping > product
🕯️ 350 g candleflat $8.50✕ abandoned cart

The customer looks at "$12 product + $8.50 shipping" and bounces. They don't see your supplier deal; they see shipping that looks unfair for what they're buying.

problem · 2

Heavy orders eat your margin alive.

heavy parcel · flat-rate store
Charged customer: $8.50
Carrier billed you: $24.80
Net loss per order: -$16.30
→ same flat rate, every order

A 10 kg cart costs the carrier 3x what a 1 kg cart does. Charging both the same means the heavy orders quietly subsidize the carrier instead of staying in your bank.

problem · 3

"Free shipping over $50" works once. Then your wholesalers find it.

#4218 · 25 kg$52 cart→ FREE shipping triggered
#4219 · 18 kg$51 cart→ FREE shipping triggered
#4220 · 32 kg$58 cart→ FREE shipping triggered
3 orders · 75 kg shipped · 3x carrier hits to your card

Cart-total-only thresholds don't see weight. A free-shipping rule needs both gates: cart total OR weight cap, whichever comes first. Without that, heavy buyers game the threshold and you pay.

eight controls you'll use ↓

Tiers. Per zone. Per situation.

The plugin handles four jobs end-to-end: tier shipping by total cart weight, scope each tier table to its own WooCommerce zone, combine handling fees and free-shipping thresholds, and fall back intelligently when a product or variation has no weight set.

tiers · unlimited rows

Unlimited weight tiers. Auto-sorted on save.

Add as many tiers as your carrier rate card needs. Tiers auto-sort by minimum weight, so the right one always matches first.

zones · independent rules

One tier table per shipping zone.

Domestic rates, regional rates, international rates - each zone keeps its own tier table, its own thresholds, its own max-weight rules.

fees · fixed + percent

Handling fees, two ways.

Cover packing materials with a fixed fee, plus a percentage of shipping to recoup card-surcharge. Both drop the moment the cart triggers free shipping.

free shipping · dual gate

Free over $X. Or under Y kg. Or both.

cap · max-weight rule

Hide shipping when a parcel won't physically ship.

Cart goes over the cap and the method disappears with a message you wrote. Stops $200 carrier surcharges before they hit your card.

variations · parent fallback

Variation has no weight? Use the parent.

Variations inherit the parent product's weight automatically. No empty-weight surprises, no zero-cost shipping bugs on variable products.

tax · multi-currency

Tax-status & currency aware.

checkout · clear labels

"(Free)" label fires automatically.

Customers see "(Free)" the moment the threshold is met. Zero-weight products get a clean fallback so checkout never gets stuck.

setup

Four steps. Live in under 10 minutes.

i · install

Activate the plugin

Upload the .zip from Plugins > Add New, then activate. No setup wizard, no dashboard widget.

Weight Based Shipping for WooCommerce Active
ii · pick a zone

Open a WooCommerce shipping zone

Settings > Shipping > pick a zone (Domestic, EU, Rest of World). Add "Weight Based" as a new shipping method.

zone Domes
method Weight
iii · add tiers

Define your weight tiers

Add rows: min weight, max weight, cost. Tiers auto-sort by minimum weight on save. Add as many as your carrier rate card needs.

0-2 kg$4.50 ✓
2-5 kg$7.20 ✓
5-10 kg$11.80 ✓
iv · rules

Add fees and thresholds

Optional handling fees (fixed or %), free-shipping threshold by weight or cart total, max-weight cap with a custom error message. Save.

how we stack up

Tiered shipping, without the annual leash.

WooCommerce
native · flat rate only
Flexible Shipping Pro
from $99/yr · no lifetime
PH Table Rate Pro
$79/yr · no lifetime
WPFactory
$39.99/yr · $119 once
core: weight-tier engine
Tier shipping by total cart weight✕✓✓
Unlimited weight tiers per method✕✓✓
Per-zone independent tier tables✕✓✓
Auto-sort tiers by minimum weight✕manualmanual
handling fees
Fixed handling fee✕✓✓
Percentage handling fee✕✓not specified
Fees auto-hide on free shipping✕manual rulenot specified
free shipping + max weight
Free shipping by weight threshold✕✓✓
Free shipping by cart total✓✓✓
Dual-gate (weight OR cart total)✕workaroundnot specified
Max-weight cutoff with custom message✕cap onlynot specified
Automatic "(Free)" label at checkout✕not specifiednot specified
products & variations
Variation weight with parent fallback✕not specifiednot specified
Zero-weight handling configurable✕not specifiednot specified
Tax-status per shipping method✓✓✓
Multi-currency aware-not specifiednot specified
pricing & ownership
Lifetime tier-✕✕
Multi-store licensing-up to 25 sites $866/yr1 site / yr
10-year cost (top tier)$0~$8,660~$790
50+ plugins (All Access)-✕✕
Ready to tier shipping by what actually weighs? ↓ Jump to pricing
scroll →
three real stores ↓

Three carts. Three tier strategies.

books · light parcels

Indie bookstore · "One paperback costs 200 g. Box of 20 is 5 kg."

An online bookseller used to charge a flat $6 shipping. Single-book buyers walked because shipping was half the order; bulk orders quietly cost the shop $14 to ship. Five weight tiers fixed both ends in one afternoon.

Tiers0-0.5kg $3 · 0.5-2kg $5 · 2-5kg $8 · 5-10kg $12 · 10kg+ $18
Free shippingCart over $60 AND under 5 kg
Max weight30 kg domestic, with custom error

Single-book conversion went from 41% to 58% the first week. Heavy carts now cover their actual carrier cost. Margin on shipping moved from -8% to +4%.

B2B · trade buyers

Hardware wholesaler · "Trade orders are 25 kg+. Retail isn't."

A hardware store sells the same hex bolts to home DIYers (1 box, ~600 g) and trade contractors (10 boxes, ~6 kg). Flat rates either crushed retail conversion or burnt cash on trade orders. Two zones, two tier tables, problem gone.

Zone 1 (retail)0-2kg $5 · 2-5kg $9 · 5kg+ $15
Zone 2 (trade)0-10kg $18 · 10-25kg $32 · 25-50kg $58
Max weight50 kg cap with "contact us for pallets" message

Retail abandonment dropped from 71% to 54%. Trade margin per order rose by $14. The "contact us for pallets" message converted 3 quote requests into LCL freight bookings the first month.

why a brand-new plugin?

Built on 15 years of WooCommerce-shipping work.

This plugin launched in 2026. The team behind it has been shipping WooCommerce extensions since 2011 across 50+ plugins. Early-adopter pricing while the install base grows.

EARLY ACCESS
"Brand new release: every feature shipped tested against WooCommerce 10.7, HPOS, and block-based cart & checkout. No legacy quirks because there is no legacy."
W
Verified buyer
launched 2026
EARLY ACCESS
"Same code-review standards as our 50+ other plugins: hooks documented, no extra database tables, plays well with PDF Invoices, WPML, Subscriptions, and the WooCommerce Block-based Cart."
W
Verified buyer
WPFactory plugin standards
EARLY ACCESS
"Pricing reflects early-access status. $39.99 yearly or $119 lifetime - well below comparable plugins - locks in for everyone who buys before reviews and install counts catch up."
W
Verified buyer
first-mover pricing
tested with

Works with every shipping method you've already got.

Platform

WP 5.8+WP 6.9WC 4.0+WC 10.7PHP 7.4+PHP 8.3HPOS-ready

Shipping methods

Flat RateFree ShippingLocal PickupUSPSUPSFedExDHLCustom

Weight units

kgglbsozWC native

Plugins & checkout

Block CartBlock CheckoutWC SubscriptionsWPMLPDF InvoicesREST API
why this plugin

Built for stores where shipping = weight, not luck.

Every WPFactory plugin ships with the same eight guarantees. Here is what running this one looks like in practice.

Clean code, reviewed

Registers as a standard WooCommerce shipping method. No extra database tables, no admin widgets, no cron jobs. Built fresh in 2026 for WooCommerce 10.7 and block-based cart & checkout.

Filters & hooks, exposed

Tier matching, free-shipping decisions, handling-fee math - every step has a filter you can override. Custom logic slots in without forking the plugin.

Support that ships

Direct email support from the engineering team. Bug reports become releases within days, not quarters. Same response standard as our 50+ other plugins.

14-day money-back

14-day refund on yearly and lifetime, 30 days on All Access. No questions asked. If the tier engine doesn't fit your carrier rate card, support helps; if it still doesn't, you walk away whole.

Bundle savings, real

All Access is $499 once for all 50+ plugins, lifetime, unlimited sites, and it includes every plugin we release later. Three lifetime licenses at $199 already cost $597, so the bundle usually wins by your third plugin.

Updates, regularly

v1.3.1 is the current release. Tested against every WooCommerce release within days. HPOS-ready, PHP 8.3 compatible. Tracks WooCommerce shipping API changes so updates don't break carts.

Plays well with others

Compatible with WooCommerce Subscriptions, PDF Invoices & Packing Slips, WPML, Polylang, Block-based Cart & Checkout. Filters exposed for every calculation step so custom shipping logic slots in cleanly.

Designed for store owners

You don't need a carrier API, an integration consultant, or a CSV importer. Add tier rows: min weight, max weight, cost. Save. Shipping math runs itself on every checkout.

early-access pricing active·2026 launch year
if you are going to keep this plugin a while ↓

Three tiers. Pick once.

14-day refund on yearly and lifetime, 30 days on All Access. Lifetime pays for itself by year 3. All Access pays for itself with any 2nd plugin you use. Yearly auto-renew can be turned off in your account.

WEIGHT BASED SHIPPING PRO
$119 once

Buy once. Owns itself by year 3. Use on every site you own.

  • Unlimited sites
  • Lifetime updates
  • Priority email support
  • 14-day refund
  • GPL-licensed · use on client sites
Buy Lifetime - $119 once
★ SMART MOVE ALL ACCESS · LIFETIME
$999$499oncesave 50%

This plugin + 49 others, lifetime updates, unlimited sites - for $380 more than Lifetime alone.

! Buying any 5 single lifetimes?
$595 → $499 / 50+
  • 50+ plugins, lifetime updates
  • Unlimited sites - every plugin
  • Future plugins included free, forever
  • Lifetime priority support
  • Pays back at 5th plugin you use
Explore All Access
How do I create weight tiers?
WooCommerce > Settings > Shipping, pick a zone, open the Weight Based method, then add unlimited tier rows: minimum weight, maximum weight, cost. Tiers auto-sort by minimum weight on save. You can add as many as you need per zone.
Can I charge different rates per shipping zone?
Yes. Each zone instance keeps its own independent tier table, handling fees, free-shipping thresholds, and max-weight rules. Domestic and international tiers never overlap.
What happens if a product has no weight?
For variable products, the plugin falls back to the parent product's weight automatically. For simple products with no weight set, you choose the behavior: skip the product from calculations, treat it as zero weight, or block checkout with a message.
Can I add handling fees?
Yes. Add a fixed handling fee (e.g. $5) and/or a percentage fee (e.g. 10% of the shipping cost). Handling fees never apply when the cart meets the free-shipping threshold.
How do free shipping thresholds work?
Set a threshold by total cart weight, by cart subtotal, or both. When either is met, shipping switches to free, handling fees drop, and a customizable "(Free)" label appears at checkout.
What happens when the cart exceeds maximum weight?
The shipping method hides itself from the available options and shows a customizable error message at checkout. Useful for couriers with hard weight caps, or for stopping LCL/oversize parcels from booking the wrong rate.
Does it work with product variations?
Yes. Each variation's individual weight is used. If a variation has no weight, the parent product's weight is used as a fallback. Mix simple and variable products in the same cart without surprises.
Can I use it with flat rate or free shipping?
Yes. Weight Based registers as a standard WooCommerce shipping method, so it sits alongside Flat Rate, Free Shipping, Local Pickup, or any third-party method in the same zone. Customers see whichever methods their cart qualifies for.
Which weight units are supported?
Whatever you set in WooCommerce > Settings > Products: kg, g, lbs, or oz. The plugin reads the WooCommerce unit, no extra configuration needed.
Will this slow my site?
No. The plugin only runs during shipping calculation on the cart and checkout pages. No background cron jobs, no extra database tables, no admin overhead.
Is the plugin HPOS-compatible?
Yes. HPOS (High-Performance Order Storage) is declared compatible. Works with both the new high-performance order tables and legacy postmeta-based storage. WooCommerce 4.0+ through the latest 10.7.
What is the refund policy?
14 days on the yearly and lifetime plans; 30 days on All Access. No questions asked. Lifetime never renews. Yearly auto-renew can be turned off in your account.
if you've scrolled this far ↓

Stop charging flat rates that bleed both ends. Tier shipping by what actually weighs.

Unlimited weight tiers per zone. Fixed + percentage handling fees. Free shipping thresholds by weight OR cart total. Max-weight cutoffs with custom messages. Variation weights with parent fallback. HPOS + block-cart ready. Built fresh for WooCommerce 10.7 in 2026. 14-day refund if it is not for you.

Brand new · 2026 release · 14-day refund · Built by WPFactory (50+ WooCommerce plugins)