Weight-based shipping rates not working: the four causes

RateGuard · Last checked 14 August 2026

A weight-based rate applies only when the cart's total weight falls inside a bracket you defined, so a product with no weight or a gap between brackets returns no rate rather than a wrong one. Both halves have to be right, and both fail silently. A weightless product counts as zero, which either drops the cart into your cheapest rate and undercharges you, or falls below your lowest bracket and shows the shopper nothing at all. A bracket that stops at 2 kg leaves every heavier cart with no option, which is why this usually surfaces the first time somebody orders three of something rather than at setup.

The two halves of a weight-based rate, and both have to be right

A weight-based rate is a bracket, from a minimum to a maximum, with a price. For it to apply, the cart's total weight has to fall inside that bracket, which means every product needs a weight and the brackets need to cover every weight a cart can reach. Missing either half returns no rate rather than a wrong one.

Settings → Shipping and delivery → the profile → the zone → the rate → “Based on order weight”

1. Products with no weight count as zero

A shippable product with an empty weight field is not skipped, it is counted as 0 kg. Two consequences, and they look nothing like each other.

Products → open a product → Shipping → Weight

Export the catalogue and sort on the weight column rather than checking by hand. Look for empty cells and for zeros, which are different problems with the same effect.

2. Brackets that leave a hole

Three shapes of hole, in the order they turn up.

  1. No upper bound. Rates defined 0-2 kg and nothing above. Every cart over 2 kg gets nothing. This surfaces the first time somebody orders three of something.
  2. A gap between brackets. 0-2 kg and 3-10 kg leaves everything between 2 and 3 kg with no rate. Brackets have to touch.
  3. A lowest bracket that does not start at zero, which chains straight into the weightless products above.

Write your brackets out on one line and read them as a number line: 0-2, 2-10, 10-∞ is complete, 0-2, 3-10 is not, and 0-2, 2-10 is missing everything heavy.

3. The unit is a store-wide setting, and mixing it up is silent

Your store has a default weight unit, and a rate defined in kilograms against products entered in pounds is off by a factor of 2.2 in whichever direction hurts. Nothing warns you, because both numbers are valid.

Settings → General → Store defaults → Unit system and Default weight unit

4. Weight-based and price-based rates in the same zone

Both can coexist, and a cart that matches neither gets nothing while a cart that matches both is offered both. If a zone shows two options when you expected one, that is this, not a bug.

Check the whole store instead of one setting

RateGuard reads your products, delivery profiles, zones, brackets and locations and names the specific setting that returns no rate at checkout. Read-only: it can see your shipping configuration and cannot change it, and it is never given customer or order data.

  • Five of the six documented causes checked in full, carrier-calculated rates in part
  • Three free scans for the lifetime of the store, PDF report included, no card
  • Every finding names the admin screen and the field to change
Scan your store freesoon

Written 14 August 2026. Admin paths reflect the Shopify admin as of that date; Shopify moves settings occasionally, and this page is re-checked when it does.