Guide

Products missing a weight in Shopify: how to find every one

Weight in Shopify is set per variant, and Shopify will not tell you which variants are missing one until something downstream breaks — usually a shipping label that refuses to buy. There is no native report for empty weights, no filter on the product list, and no warning when a weight is left at zero. There are also four quite different reasons a weight goes missing, and only one of them is a catalog-data problem. This page separates them, then shows how to find and fill the gaps.

Weight is set per variant, not per product

This is the detail that makes the count bigger than merchants expect. A product with five variants carries five separate weights. A 400-product catalog averaging three variants each is 1,200 weight values, not 400 — and Shopify's own documentation lists Weight as a variant property of the inventory bulk editor, alongside Harmonized system code and Country of origin.

The practical consequence: a catalog can look complete when you skim the product list and still have hundreds of variants without a usable weight, because you only ever saw the first variant of each product.

Four reasons a Shopify product weight goes missing

These get searched for interchangeably, but they are different problems with different fixes. Only the second is something a catalog tool can solve.

What you are seeingWhat is actually wrongWhere the fix is
Weight doesn't appear on the storefront product pageThe theme isn't rendering the field. The data is usually fine.Theme code, not the catalog
Weights are blank or zero in the admin after an import or a migrationThe weight columns were absent, empty, or mismatched in the file that was imported.The catalog — this is the one below
Google Merchant Center reports a missing shipping weight valueUsually a downstream symptom of the row above: the feed can only carry what the variant holds.Fix the catalog, then refresh the feed
A GraphQL mutation won't accept the weight fieldA field-placement or API-version problem, not missing data.Shopify's API reference for your version

If you are here because of the first or the fourth, this page will not help you and neither will Origova — those are a theme problem and a developer problem respectively. The rest of this page is about the second and third.

Why a zero weight is worse than a blank one

A blank weight fails loudly: Shopify blocks the label and you find out immediately. A zero, or a placeholder like 0.01, fails quietly. It passes every "is this field empty" check, buys a label at the wrong price, and in destinations that assess duty by weight it produces a wrong duty assessment rather than a clean failure. That is the more expensive outcome, and it is invisible until someone reconciles a carrier invoice.

It is also why filtering a spreadsheet for blanks is only half an audit. Zero, negative and placeholder values all need catching too.

Where weight lives in the Shopify admin

On a product page with the Physical product toggle on, weight sits in the Shipping card — directly above the collapsed Customs information subsection that holds the HS code and country of origin. Three fields customs and carriers depend on, split across two places in the same card, one of which is collapsed by default. That layout is the single biggest reason these fields go unfilled.

How to find every variant missing a weight

Three methods, from free-and-slow to fast. Pick by catalog size and by whether you also need the other customs fields checked.

Method 1: the admin walk-through

Open each product, check every variant's weight in the Shipping card. Honest under about 50 variants. Beyond that you will miss variants, because the field is per variant and the product list only ever shows you the first one.

Method 2: the product CSV round-trip

Shopify's product CSV export carries weight in two columns — Weight value (grams) and Weight unit for display. Export it, filter for blanks and zeros, and you have a real gap list. The catch is that this file has no HS code column and no country of origin column, so it tells you nothing about the other two fields on the same variants. That is the next section.

Method 3: scan the whole catalog

A full-catalog scan checks every variant for a missing, zero or negative weight in one pass, alongside the other customs fields, and returns one grouped list. This is what Origova does, and the scan is free at any catalog size — see the same three-method comparison for HS codes, which follows exactly this pattern.

Watch a weight pass on a real catalog

Setting one variant's weight is quick. Setting it on every variant that's missing one is the actual problem — here's that pass on a real catalog. The video runs about a minute and a half.

No single Shopify CSV carries weight, HS code and origin together

This is the detail that turns one cleanup into three, and it is worth knowing before you start. Shopify has three CSV files that touch this data, and none of them carries all of it.

FileWeightHS codeCountry of origin
Product CSVYes — Weight value (grams), Weight unit for displayNoNo
Inventory CSVNoYes — HS CodeYes — COO, ISO codes
Duties and import taxes CSVNoYesYes

Shopify also documents that the product CSV format is fixed — Collection is the only column you can add without breaking it — so you cannot merge the customs columns into the file that has weight. A CSV-driven cleanup is therefore always at least two round-trips. What Shopify's Customs information section holds →

Bulk editing product weight in Shopify

Once you know which variants are empty, there is a free native route. Shopify's inventory bulk editor lists Weight as an editable variant property, alongside Harmonized system code and Country of origin — the only native surface that reaches all three of these fields in one grid. Go to Products > Inventory, select the variants, click Edit variants, then Columns, and add Weight.

Two limits are worth knowing before you rely on it:

For a known, tracked, page-sized list the inventory bulk editor is genuinely the right tool and costs nothing. For a catalog where you don't yet know what's missing, or where untracked variants are in play, it isn't sufficient on its own.

How Origova handles weight — and what it does not do

Origova's scan flags every variant where the weight is unset, zero or negative, groups them with the other customs findings, and lets you apply a value across the whole group in one batch. Weight is entered as a number plus a unit — kg, lb, oz or g — and written back to the real Shopify variant, not held in a copy. A value has to be greater than zero before it can be applied, so a placeholder can't be saved only to be flagged again on the next scan. Every applied batch is reversible with Undo, and non-physical products are excluded automatically from Shopify's requires-shipping flag.

What it does not do: Origova does not weigh anything, estimate a weight, or infer one from a product category. It does not calculate shipping rates, generate labels, calculate duties or landed cost, or edit prices, images, tags or inventory quantities. If you don't know a product's shipped weight, that is a scale-and-supplier question, and no software should answer it for you.

Verifying the result

Three checks worth running after a weight pass, in this order:

  1. Re-export the product CSV and confirm the Weight value (grams) column has no blanks and no zeros on physical products.
  2. Buy one test label for a product you just fixed. This is the only check that proves the carrier accepts the value.
  3. Re-scan. Weights drift as products are added and imports run — the same reason the gap existed in the first place. How customs data drifts out of sync →

Why weight matters at a border, not just to a carrier

Weight is not only a shipping-rate input. Shopify's own duties documentation notes that some countries — Switzerland is the example it gives — require a product weight to calculate duties and import taxes at checkout. Combined with the duty-by-weight lanes some destinations use, that makes weight a customs field rather than a purely logistical one, which is why it sits in Origova's checks next to the HS code and the country of origin rather than off to one side.

Frequently asked questions

Is weight set per product or per variant in Shopify?

Per variant. A product with five variants carries five separate weights, and Shopify's inventory bulk editor lists Weight as a variant property. That is why a catalog can look complete at product level and still have hundreds of variants without a usable weight.

Does Shopify tell you which products are missing a weight?

No. There is no native report or filter for empty weights. Shopify surfaces the problem at the point of buying a shipping label, which is the worst moment to discover it. Finding the gaps first is a separate job from filling them.

Why did my product weights disappear after a CSV import?

The Shopify product CSV carries weight in the Weight value (grams) and Weight unit for display columns. If those columns were absent, blank, or mismatched in the file you imported, the weights are not carried over. This is the most common cause behind missing weights after a migration or a bulk import.

Should a Shopify product weight include packaging?

Use the shipped weight, including packaging, because that is what a carrier bills against. A weight that only describes the bare product will under-declare every parcel it goes into.

What weight should a digital product or gift card have?

None. Mark it as not requiring shipping in Shopify. Origova reads Shopify's requires-shipping flag and excludes non-physical products from the weight check automatically, so they never appear in a gap list.

Can Shopify's bulk editor change product weight?

Yes. Shopify documents Weight as an inventory bulk editor variant property, alongside Harmonized system code and Country of origin, reached through Products > Inventory > select variants > Edit variants > Columns. The limitation is that variants set not to track quantity do not appear on the Inventory page at all, and nothing in the editor tells you which weights are missing before you start.

Can I find missing weights without installing an app?

Yes. Export the product CSV, filter the Weight value (grams) column for blanks and zeros, and you have a gap list. It is a per-field pass and it will not tell you which of those variants are also missing an HS code or a country of origin, because the product CSV has no columns for either.

Sources for this page: Shopify: Adjusting inventory quantities in bulk (Weight, Harmonized system code and Country of origin as inventory bulk editor variant properties; untracked variants not shown on the Inventory page) · Shopify: Using CSV files to import and export products (weight columns; fixed column format) · Shopify: Exporting and importing inventory with a CSV file (HS Code and COO columns) · Shopify: Collecting international duties and import taxes at checkout (weight required by some destinations). Checked 26 August 2026.

Related: Shopify customs errors: weight missing or zero · Find products missing HS codes · Products missing a country of origin · Audit the whole catalog · Origova docs

Find every variant without a real weight.

If your weights went missing in an import or a migration, one free scan lists every variant that's blank, zero or negative — alongside the HS codes and origins on the same products.

Install on Shopify