Product import — row-by-row, not all-or-nothing

"Only some of my products imported, the rest are missing" — partial import, rows silently dropped

Shopify's importer processes each row independently — a handful of bad rows don't stop the good ones from going through, and don't stop the summary from reading as a success. The list of what got skipped is usually sitting in a report you didn't open.

import-shopify-products · xlsx-for-ai

What you'll see

You upload a file with, say, 200 products. Shopify tells you the import completed. When you check your catalog, only 160 are there — no error dialog told you which 40 were missing or why.

Row-level failure, not file-level failure

Shopify's product importer validates and creates products row by row. A row that's missing a required field — an empty Handle, a blank Price on a first-variant row, a duplicate SKU that collides with an existing product — fails on its own without stopping the rows around it. This is generally the right behavior (nobody wants one typo to block 199 good products), but it means "import completed" only ever describes the file's overall processing, not a guarantee that every row became a product.

Two specific patterns cause a cluster of rows to disappear rather than one at a time: a product's first row for its Handle — the one carrying the full product record — failing validation takes the whole product down with it, even if its variant rows below look fine on their own; and two genuinely different products accidentally sharing the same Handle (both auto-generated from similar titles) causes the second one to be merged into the first as an extra variant instead of appearing as its own product, which looks identical to "missing."

Where to actually find out what was skipped

Shopify emails a results report, or makes one downloadable from the import history, that lists precisely which rows failed and the reason — that's the artifact to check, not the summary count on the confirmation screen. Cross-reference it against your file, fix the flagged rows (usually a blank required field or a duplicate handle), and re-upload just those.

More Convert a product spreadsheet to a Shopify import CSV — free. guides

← All Convert a product spreadsheet to a Shopify import CSV — free. guides