The product CSV is the contract between your supplier file and your store. Most failed imports are not mysterious — they are one column holding the wrong kind of value.
The columns that decide whether an import works
| Column | What it must be | What breaks it |
|---|---|---|
| Handle | Lowercase, stable, unique per product | Repeating one handle for unrelated products; changing it after launch |
| Title | Product name, same value on every variant row | Blank rows, or a different title per variant |
| Variant SKU | Unique per variant | Duplicates, or the same SKU reused after a supplier change |
| Variant Price | Plain number | Currency symbols, thousands separators, empty cells |
| Variant Inventory Qty | Whole number | Decimals, text such as "in stock" |
| Image Src | Complete public http(s) URL | Local paths, private links, expiring URLs |
| Status | A value the store accepts | Free text, mixed languages, blanks |
Handle: the quiet key
A handle becomes part of the product URL and groups variant rows into one product family. Generate it from the title, then check for collisions and strip anything volatile like price or stock level. Keep it stable across supplier refreshes — a new handle creates a duplicate product instead of updating the existing one.
Variants live on one product
Every row of a product family shares a Handle. Put SKU, price, inventory, and the variant-specific image on the row they belong to. Test one simple product, one two-option product, and one product with an incomplete combination before you scale.
Practical import order
- Save the untouched supplier file as a read-only copy.
- Map columns to store fields and decide which products you actually want.
- Normalize prices and inventory to plain numbers.
- Validate a 10-row sample end to end.
- Import the sample, check the storefront, then process the full catalog.
Open the Import Cleaner to run this mapping and validation locally.
评论
加载中…正在确认登录状态…