A method can add an incremental shipping fee as the order grows - by item count or by weight (lb). It applies to the whole order (per order, not per product), on top of the base rate.
⚠️ The rule that trips everyone up: the first band is free. The surcharge doesn't apply to the first increment you set - it starts beyond it, then adds your amount per additional band, up to your cap.
Per item
Pricing → Add cost per item, unit = item:
Add $5 · per 1 item · up to 5 items
Items in cart | Surcharge |
1 | $0 (first item free) |
2 | $5 |
3 | $10 |
4 | $15 |
5+ | $20 (capped at 5) |
Total shipping = base rate + surcharge.
Per weight (lb)
Same control, unit = lb. Because the first band is free, set the increment to about half your trigger weight.
Goal: add +$10 once an order passes 13 lb → Add $10 · per 6.5 lb · up to 19 lb
Order weight | Surcharge |
up to 6.5 lb | $0 |
13 lb | +$10 |
~19 lb | +$20 (near the cap) |
50 lb | stops stacking at the "up to 19 lb" cap |
Common mistake: setting "per 13 lb" to charge at 13 lb does the opposite — a 16 lb order adds nothing (16 − 13 = 3 lb, under the band). Always set the increment to ~half the weight you want to trigger the charge.
Limitations
Per order, all items: the surcharge counts the whole cart's items/weight - not specific products. A Shipping Rule (e.g. a product tag) controls whether the method shows, not which items are surcharged. There's no way to scope the extra cost to only certain items.
To surcharge only specific products, isolate them (e.g. a dedicated checkout group).
Steps
Shipping Rate Groups → open the method.
Pricing → enable Add cost per item → choose unit (item or lb).
Set Add / per / up to.
Save, then Test Mode (
PDQin Address Line 2) at a few quantities/weights to confirm the math.
