DEV Community

王磊
王磊

Posted on

Shopify CSV Weight Imports: What to Check When the Upload Succeeds but Weight Stays Blank

A Shopify product CSV import can finish successfully and still leave the product weight blank in the admin. That usually means the row matched poorly, the file is not shaped like Shopify's current export, or the value is in the wrong weight field. I would debug it like a small release instead of retrying the whole catalog.

1. Start from one Shopify export

Export one affected product from Shopify and keep that file unchanged as the baseline. Then make a copy and change only the weight-related value for one variant. This removes a lot of uncertainty from supplier templates, WooCommerce exports, spreadsheet column changes, and old blog-post examples.

If the one-product export updates correctly, the issue is probably in the custom CSV structure. If the Shopify export still does not update, the problem is more likely variant matching or the product's shipping settings.

2. Put the display weight into grams for import

For product CSV imports, do not put a pound value such as 26.54 into a random weight column and expect Shopify to infer the unit. Convert the weight to integer grams for the import value, then let Shopify display it in the store's configured unit.

Also check for renamed or extra columns. A spreadsheet may contain labels like Variant Weight, Variant Weight Unit, Weight value, or Weight unit, but the safest source is the exact header set from the fresh Shopify export you just downloaded.

3. Confirm the row can match the existing variant

When updating existing products, the weight row still needs enough identity to match the product and variant you intend to update. At minimum, check the Handle and the option columns. If SKUs are part of your workflow, make sure they still line up with the exported product.

Blank columns are risky in update files. Keep the update file minimal so you do not accidentally overwrite unrelated fields while chasing the weight problem.

4. Check shipping-related fields

A weight value is not very useful if the product or variant is not treated as a shippable item. Before testing the full import, confirm the affected product requires shipping and that the shipping profile or fulfillment setup is not hiding the weight behavior you expect to see.

For one test row, I usually check:

  • Handle matches the existing product.
  • Variant options still identify the right variant.
  • Weight is converted to grams.
  • Requires shipping is true when the item is physical.
  • The file was saved as a clean CSV, not an Excel-only format.
  • The import used the intended overwrite/update option.

5. Scale only after the first row works

Once one variant updates correctly, try 10 rows and compare the admin values with the original export. Only then run the larger file. This gives you a clean rollback point and makes it obvious whether the problem is a single malformed row or the whole CSV template.

I keep a browser-side checker for this exact weight-import pass here: Shopify CSV weight import fixer. It is meant for preflight review before you upload the file, not as a replacement for Shopify's final import confirmation.

The important habit is to test the smallest possible update first. A successful CSV import message only tells you Shopify accepted the file. It does not prove the intended product field changed on the exact variant you meant to update.

Top comments (0)