CSV remains the universal tool to load a catalog. Shopify uses it reasonably — with a handful of known limits and recurring traps. This guide avoids both.
CSV import in practice
Official Shopify CSV format
Shopify CSV is UTF-8, comma-separated, double-quoted. One row = one variant (not one product). Products without variants have a single row. Products with variants have N rows sharing the same Handle.
Main columns
Handle— unique URL identifierTitle(only on the first row of the product)Body (HTML),Vendor,Type,TagsPublished,Option1-3 Name/ValueVariant SKU,Variant Price,Variant Compare At PriceVariant Inventory Qty,Variant WeightImage Src,Image Alt TextSEO Title,SEO Description
Ideal case
1,000 simple listings, little to no metafields, 1-3 variants each. Native CSV is enough.
Hybrid case
Defined metafields, up to 10 variants. Matrixify or native CSV + Seegea updates.
Complex case
Metafields > 50 per product, translations, 50+ variants per SKU. Admin GraphQL API required.
Careful with empty columns: Shopify interprets them as "clear existing value" for some fields. For partial updates, export first, then modify only targeted columns before re-import.
The 5 recurring Shopify CSV traps
- Excel corrupting UTF-8: open CSV in Google Sheets or Numbers, not Excel without precautions.
- Commas in descriptions: escape with double quotes.
- Uppercase handles: Shopify lowercases them but consistency is better from the start.
- Wrong publish date format: strict ISO 8601.
- European comma prices: Shopify CSV requires decimal dot (1299.00, not 1299,00).
| Case | Native CSV | Matrixify | Seegea (editing) |
|---|---|---|---|
| Initial import 2,000 SKU | OK | OK | N/A |
| Update 50 prices | Heavy | Medium | Inline 2 min |
| Fix 200 descriptions | Heavy | Heavy | Inline + AI |
| Rollback on error | No | No | Versioned |
| Defined metafields | Partial | Full | Inline editing |
When to keep CSV, when to drop it
Keep CSV for:
- First import of 1,000+ listings
- Monthly backup export
- Marketplace/Google Shopping feed if no feed app
Switch to inline editing for:
- Weekly updates of 50-500 prices
- Fixing descriptions and metas
- Editing metafields on the fly
- Any action where you want to be able to undo
Stop the daily CSV roundtrip
30-min Google Meet · we show inline editing
How long does it take?
To update 500 prices:
- CSV: export (~5 min) + Excel edit (30 min) + import + QA (~20 min) = ~55 min.
- Matrixify: same, +10-20 min for setup.
- Seegea: filter, tabular edit, save = 3-5 minutes, with integrated rollback.
Created in France (Annecy – Chantilly) · Email & Google Meet support
FAQ
From Products > Import > Download a sample file. The template includes every Shopify-supported column.
