← All Shopify CSV import errors
Almost every variant error comes from one rule: rows that share a handle are the same product, and each of those rows must describe a different variant. Break that and Shopify either rejects the file or creates products you didn't ask for.
Cause: two or more rows share the same Handle, but none of them have option values that tell the variants apart. A product with no options has exactly one variant, which Shopify names Default Title internally — so the second such row is a duplicate of the first, and the import stops.
This nearly always means one of two things:
Two different products accidentally got the same handle — often because the handle was generated from a truncated name, or the column was filled down in a spreadsheet.
blue-widget and blue-widget-large, not blue-widget twice.They're genuinely one product in two sizes, but the option columns are empty.
Option1 Name and Option1 Value so each row is distinct.Handle,Title,Option1 Name,Option1 Value,Variant SKU,Variant Price blue-widget,Blue Widget,Size,Small,BW-S,19.99 blue-widget,,Size,Large,BW-L,24.99
Note the second row: no title, no repeated product details — just the handle, the option that makes it different, and its own SKU and price.
If the extra rows exist only to add more images, they must carry only the handle and the image columns. Repeating the title, price or SKU on them turns them into variant rows, which triggers this same error. See image errors.
Cause: the product declares an option (say Option1 Name = Size) but some row under that handle leaves Option1 Value empty. Every variant of a product with options needs a value for every option the product defines.
Fix: fill the missing value. If one variant genuinely has no size, the product's options are wrong — a product can't have some variants with options and some without.
The same rule applies in order: you can't use Option2 without Option1, or Option3 without Option2.
Cause: two rows under one handle have the identical option combination — two rows that are both Size: Small / Color: Red. Shopify requires each variant's combination to be unique.
Fix: change one of them, or delete the duplicate row. Watch for invisible differences: Small and Small (trailing space) look identical in a spreadsheet but are two different values — and small vs Small may collide.
Cause: Shopify reads product-level fields (title, description, vendor, type, tags, status) from the first row of each handle only. If that row's Title is blank, there's no product to create. Titles on later rows are ignored — so if you put the title only on the second row, it vanishes.
Fix: make sure the first row of every handle carries the title and the other product-level fields, and that variant rows leave them blank.
Cause: this confusing message comes from a mismatch between Variant Inventory Tracker and Variant Fulfillment Service. It usually appears when the tracker column has been filled with a number or a boolean — a 1, 0, true — instead of either a real tracker name or nothing at all.
Fix:
Variant Inventory Tracker should be shopify (let Shopify track stock) or left blank (don't track). Never 1, 0, yes or TRUE.Variant Inventory Qty, not in the tracker column — mixing those two up is the single most common source of this error.Variant Fulfillment Service should be manual unless you genuinely use a third-party service.0 or false into them.Our free browser tool checks every rule on this page — duplicate Default Title rows, missing option values, repeated option combinations, titles on the wrong row, tracker/fulfillment mismatches — and shows the real row number for each. Nothing is uploaded; your catalog stays on your device.
Open CSV Preflight for Shopify →Drop your product CSV, see every error and warning free, download the fixed file. Name your price — free if you need it.