Why are my Shopify shipping rates wrong? (Products missing weight)

Updated 2026-10-21. Checked against Shopify's own documentation; links are under Sources.

If shipping is cheaper at checkout than the label you buy, check product weights first. Shopify's help says "A product with no weight is treated as weightless, so a cart can fall into a lower weight tier than you expect", and that when products are missing weight, "shipping rates don't calculate correctly at checkout". Find every variant with a weight of 0, enter the real weight, and then look at your package settings.

How Shopify uses weight to price shipping

Step 1: Find the variants with no weight

The admin has no single screen listing variants with a weight of 0, so use an export:

  1. Go to Products › Export, choose All products and a CSV format.
  2. Choose the file in the product CSV checker. Under "Missing weight", it lists every variant that requires shipping but has a Weight value (grams) that's empty or 0. Gift cards and variants not marked as requiring shipping are skipped.

If you'd rather use a spreadsheet, filter the Weight value (grams) column for 0 or blank, and the Requires shipping column for true. Older exports call these Variant Grams and Variant Requires Shipping.

Step 2: Enter real weights

Weigh one unit of each product on a kitchen or shipping scale. Variants of the same size usually weigh the same, so one measurement often covers a whole product type. The shipping weight helper converts between g, kg, oz and lb, and has rough ranges for spotting obvious mistakes, such as a hoodie at 5 g.

Step 3: Check your package settings

Under Settings › Shipping and delivery, look at your saved packages and which one is the store default. Shopify uses the default package "to determine the shipping rate to charge your customers during checkout", and adds its weight to the order.

Shopify can also choose among your saved boxes for multi-item orders when products have packed dimensions. How automatic package selection works.

Other things that make rates look wrong

Check that it worked

Export again and re-run the checker until "Missing weight" shows 0. Then add a few typical carts in your store, including your heaviest product, and compare the rate at checkout with what the label actually costs.

Sources