Shopify's product import preview can feel wrong when the number it shows is higher than the number of products you expected. The first thing I would check is not the file size or the upload screen. It is the row model in the CSV.
A Shopify product CSV is not one row equals one product. A product with three color or size variants can legitimately occupy several rows. Extra image rows can also share the same Handle. That means a preview count can look inflated even when Shopify is only reading variant rows, image rows, or grouped rows under the same product handle.
Here is the quick preflight I use before retrying the import:
- Sort by Handle, then scan each group together. One Handle should represent one product family, not several unrelated products.
- Check whether rows with the same Handle are true variants. Option names and values should make sense across the group.
- Look for blank Handle cells. A blank Handle on a continuation row can be valid for images, but it is risky if the row also contains product or variant data.
- Count distinct Handles separately from total CSV rows. The row count is often closer to variants plus images, not product count.
- Review duplicate Handles where titles, vendors, or product categories suddenly change. That usually means two products were accidentally merged.
- Test a small batch first. Ten grouped products are easier to inspect than a full catalog import.
If the CSV came from a supplier or migration tool, I would also check whether spreadsheet edits changed quote marks, boolean values, or price cells while you were sorting. Those secondary changes can make the second import attempt harder to understand than the first.
For a browser-side check, I use this Shopify CSV import fixer to group Handles and surface import blockers before uploading again: https://shopify-csv.aivismonitor.com/shopify-csv-import-fixer
The key point is to separate three numbers before you panic: total rows, distinct product Handles, and actual variant rows. Once those are separate, the preview usually becomes easier to explain, and the risky rows are much easier to fix.
Top comments (0)