Why does my Shopify checkout keep quoting the wrong shipping rate?

When carrier-calculated or weight-based shipping rates come out too high, too low, or missing at checkout, the cause is almost always product weight data, parcel dimensions, or zone setup, not a Shopify bug.

shippingcarriersshipping-ratesweightzones

What's going on

Why is my checkout quoting $45 to ship a single T-shirt? Or, my carrier rates were fine last month and now they're all over the place, what changed? These are two versions of the same complaint: carrier-calculated or weight-based shipping rates in Shopify producing numbers that don't match what the merchant expects, sometimes on every order and sometimes only for specific weights, destinations, or cart combinations.

Because the rate shown at checkout is the output of several settings working together, the weight and weight unit saved on each product or variant, the parcel dimensions configured for carrier accounts, and the shipping zone and rate rules that apply to a given destination, a mismatch anywhere in that chain produces a rate that looks wrong even though every individual setting was entered on purpose at some point. This is especially common after a product import, a catalog cleanup, a new warehouse or fulfillment location, or a newly added carrier account, since any of those events can introduce a weight-unit mismatch or an unintended zone overlap without an obvious error message anywhere in the admin.

Why it happens

The most frequent root cause is a product weight or weight-unit error: Shopify stores weight per product, and per variant if they differ, and carrier rate requests use exactly what's saved there, not the item's true physical weight. A CSV import that assumes kilograms when the store is set to pounds, or a variant that was never updated when the product's weight changed, will produce a rate that's off by an order of magnitude.

The second most common cause is the package dimensions used by connected carrier accounts. Carriers price using both weight and box size, and those package presets are configured separately in shipping settings, they don't automatically reflect a product's actual size, so a mismatched or missing preset skews the quote even when the product weight itself is correct.

The third cause is shipping zone and rate-rule configuration: overlapping zones, gaps in weight or price bands, or a rate rule scoped to the wrong region can cause Shopify to apply an unintended rule, or none at all, for certain orders, which often shows up as rates that are correct for some countries or weights and wrong for others.

5 ways to fix it

1

Fix the weight and unit fields first

Open a handful of the affected products in Shopify admin and check the shipping fields: weight and its unit (kg, lb, oz, g) are set per product, and a single typo, like a product saved as 2 kg when it should be 200 g, is the most common cause of wildly wrong carrier quotes. If you migrated products from another platform or bulk-imported via CSV, weight units can get mis-mapped during import, so spot-check a sample across different weight ranges rather than assuming the import was uniform. Fix weights at the product level, and at the variant level if variants differ, since the carrier rate request uses whatever is saved there at checkout time, not the item's actual physical weight.

2

Check the package dimensions tied to your carrier accounts

If you're using connected carrier accounts rather than flat or free rates, the carrier calculates price using package dimensions in addition to weight, and those dimensions come from the parcel or package presets you configure in your shipping settings, not from anything on the product page. A default parcel that's too small, too large, or missing entirely causes dimensional-weight pricing to apply incorrectly, which is why rates can look fine for single items but blow up for multi-item orders that should logically ship in a bigger box. Review your parcel presets and add more than one if your orders vary a lot in size, so different order sizes map to a parcel that reflects reality.

3

Audit your shipping zones and rate rules for overlaps or gaps

In your shipping settings, each shipping profile has zones, and each zone has its own rate rules, whether flat, weight-based, price-based, or carrier-calculated. A common mistake is having a country or region matched by two different zones, or a weight-based rate table with gaps between weight bands, which causes Shopify to apply the wrong rule or fall through to a default nobody intended. Walk through your zones one at a time and confirm every country or region is covered by exactly one zone, and that weight or price bands are contiguous with no overlaps or gaps.

4

Test checkout with real carts and addresses before trusting it

Add products to a cart and run through checkout with different destination addresses to see the actual calculated rate, rather than assuming a fix worked. Test your heaviest order, your lightest order, and your most common order, for both a domestic and an international address, since carrier-calculated rates often misbehave only for specific weight and destination combinations rather than across the board. This is the fastest way to confirm a change actually fixed the rate before a real customer sees it.

5

Set a backup rate so checkout doesn't break if the carrier API fails

If your carrier-calculated rates are usually correct but occasionally miscalculate or disappear entirely, the underlying issue can be an intermittent failure on the carrier's side, such as a timeout, an expired carrier account credential, or a temporary outage, rather than your zone or weight configuration. Shopify's carrier-calculated shipping supports configuring a backup flat rate for exactly this scenario, so customers still get a working checkout while you investigate the API-level cause with your carrier account or app support.

Bottom line

There is no single universal fix here: carrier and weight-based rate problems are almost always a data or configuration issue, wrong product weight or unit, a missing or mis-sized parcel preset, or overlapping shipping zones, rather than a Shopify platform bug, so audit the settings above before assuming you need new software. If your catalog is large or your shipping logic is genuinely complex, multiple warehouses, mixed carriers, dimensional weight across hundreds of SKUs, a dedicated shipping-rate audit or rules app can save time by flagging misconfigured zones and weight gaps automatically, but it's a convenience layer on top of getting the underlying settings right, not a replacement for it.

Still Stuck?

Browse the rest of the problem library, run a free storefront scan to catch issues like this automatically, or email us and we'll work out a custom solution for it.