The most common mistakes
Adding variants by CSV fails for a few predictable reasons:
Common Scenarios:
- Using a different Handle for the new variant rows, which creates separate products instead of variants.
- Leaving Option1 Name or Option1 Value empty, which makes Shopify skip the row.
- Reusing an existing SKU and getting the SKU Already Exists error.
- Changing the parent row Title or Body and accidentally overwriting existing data.
Keep existing variants safe while adding new ones
ShopTools checks that variant rows share the parent Handle, have option pairs filled, use unique SKUs and do not overwrite required parent fields. Validate before import so the file adds variants instead of breaking the product.
Features:
- Handle match check: Confirms variant rows belong to the right parent
- Option pair validation: Flags rows missing Option Name or Value
- SKU uniqueness: Prevents duplicate SKUs across old and new variants
Step-by-step: add variants by CSV
- In Shopify admin go to Products > All products, click Export, choose All products and CSV for Excel.
- Open the CSV and find the products you want to extend. Do not change the parent row.
- Insert new rows below each parent, copying the same Handle into each new row.
- Fill Option1 Name, Option1 Value, Variant SKU, Variant Price and Variant Compare At Price for each new variant.
- Save as CSV UTF-8 and validate with ShopTools, then import back into Shopify.
What changes in the CSV
- Before: One row: Handle=demo-shirt, Option1 Value=S, SKU=SHIRT-S After: Four rows: same Handle with Option1 Value=S, M, L, XL and unique SKUs
- Before: New variant row with empty Option1 Value After: Every new variant row has Option1 Name=Size and Option1 Value filled
When this workflow helps
- Adding a new size or color to a collection: One import updates every product
- Expanding a catalog after launch: Avoid manual admin edits for each product
Frequently Asked Questions (FAQ)
- Can I add variants without an app?
- Yes - export products to CSV, add variant rows and re-import. This uses Shopify's native import/export.
- Will re-importing delete my existing variants?
- Not if you leave the existing rows unchanged and only add new variant rows. Changing variant columns on existing rows can trigger rebuilds.
- What columns are required for a new variant?
- At minimum you need Handle, Option1 Name, Option1 Value and Variant SKU. Variant Price is strongly recommended.
- How do I validate the file?
- Use the ShopTools validator to check handles, option pairs, SKU uniqueness and price format before import.