
0–2 kg at $8. 2–5 kg at $12. Over $150, the same parcel should almost ship free. Shopify zones can do weight ranges. They cannot put that range, a cart-total threshold, a remote ZIP branch and a customer tag on one rate card. Shopify shipping rates by weight in OO - Shipping Rates & Rules is cart weight pricing plus a threshold discount, on a visual flow.
Related: custom shipping rates (the maths) and rates by postal code (the destination). This article is the kilo: tiers on cart weight, a threshold on amount, weight or quantity — not a second Shopify zone named “heavy”.
Shopify shipping rates per zone: flat, weight, price. A 4 kg box to a city ZIP and the same box to a remote ZIP share the rule unless you split zones. A $160 cart at 4 kg still pays $12 unless you add a separate free-shipping rate that knows nothing about the remote ZIP.
Listing (4 Nov 2026): Free. 0 reviews, launched 28 October 2026. Do not invent stars. Visual flow or AI draft. Fixed, tier or per-unit pricing with threshold discounts, minimums, handling. 40+ conditions. Combined rates. Hide/rename/reorder. Activity logs. Category Weight-based.
Rate pricing: fixed; cart total; cart weight; cart quantity; cart volume; cart dimensional weight. Percentage or threshold discounts on amount, weight or quantity.
Carrier-calculated custom rates need Advanced Shopify or higher, a development store, Plus, or a shop where the carrier is already active. Hide/rename/reorder of methods that already exist works on more plans. A weight tier is a rate. A rename is not a rate.
Two Shopify zones: light and heavy. Each copies the country list. A 2.1 kg letter falls into the expensive zone. No threshold. No ZIP branch.
Free shipping as a second native rate. Above $75 a “Free” line appears. The weight table stays. Checkout shows two methods, or the wrong one wins. Combined rates in this app merge components into one line. Native Shopify does not.
Dimensional weight with empty metafields. A fluffy 800 g box should bill as 4 kg. The listing names cart dimensional weight. That base needs L/W/H metafields and a divisor (commonly 5000 for cm/kg). Without dimensions you have cart weight (Shopify weight × quantity), not a scanned carton. Do not claim the app weighs the box.
None of that is: one app zone, `Start when…` country, rate card on cart weight, threshold when cart total ≥ 150.
Create the app zone. Visual flow: `Start when…`, conditions, rate cards, reconnect, save. AI may draft “kg tiers, discount above 150”. Review before save.
Rate card: a checkout-safe name, pricing cart weight. Tiers or per unit. A minimum so 200 g is not $0. Handling if you need it. Threshold: percent or amount, on cart total, weight or quantity.
Weight as a *condition* (“only if cart > 10 kg”) is not the same as weight as a *pricing base*. Both exist. This article is the base.
Dimensional weight is a different base. Skip it until L/W/H exist.
Activity logs: last 7 days of carrier requests. Which zone, which rate, why not. Test checkouts: 0.8 kg, 4 kg, 4 kg with cart over the threshold. Same kilos, different total when the threshold hits.
“Spine & Post” sells hardbacks. Variant weights in Shopify are correct. Native: 0–2 kg $8, 2–10 kg $14, US lower 48. A $170 order (eight books, 3.4 kg) still paid $14. The merchant had promised free over $150.
Flow:
Install OO - Shipping Rates & Rules. Advanced plan, or you only get hide/rename.
App zone US48. Attach the carrier to the Shopify zone.
`Start when…` destination country = United States, plus a province condition if you exclude AK/HI that way.
Rate card Ground: cart weight, tiers 0–2 / 2–10 / 10+, minimum, threshold cart total ≥ 150 → discount to $0 or to handling.
Optional branch: remote ZIPs → fixed + handling, no threshold.
Tests: 1.1 kg city; 3.4 kg at $60; 3.4 kg at $170; remote 3.4 kg.
Logs: the threshold cart should show Ground with the reduced amount, not a second native “Free”. Use combined rates only when two components must become one checkout line.
AI draft “kg tiers, free over 150, remote dearer” is a sketch. You confirm kilos and ZIPs.
Dashboard checklist. Carrier on every zone or market. Test checkout, not a sale. Fill variant weights — empty weight is a 0 kg tier. Settings units (kg vs g) must match the table.
Hide/rename on Basic does not change the amount. That needs the carrier rate.
Cart quantity and cart total are other pricing bases. Do not use them “because weight is fiddly”. A quantity table is not kilos. A cart-total table is not kilos. Cart weight reads variant weight × line quantity. Fulfilment weight in the shop has to be right before the first live order.
Combined rates: only if parcel + handling must collapse into one checkout line. A single weight table needs one rate card. Extra cards make the 7-day logs harder to read.
After a theme or plan change: attach the carrier to the zone again. The flow stays in the app; Shopify still has to see the carrier per zone. Logs last seven days — last month’s failed test is gone.
Shopify shipping rates by weight here means cart-weight pricing plus a threshold, one flow, Free. Native zones stay coarse. Carrier rates need Advanced, a development store or Plus. Hide/rename works on more plans. Logs last seven days.
Put the table in OO - Shipping Rates & Rules before a $170 cart still pays as a 3.4 kg box at $14.
Services
Reviews
5/5
Mail: info@onlineorigins.nl
Tel: 073 234 0612
KVK: 89825624
BTW: NL865123639B01
Bruistensingel 500,© 2026 Online Origins