Practical import repair
Shopify CSV import errors: what to check before uploading again
Most product-import failures are easier to repair when you work from the exact spreadsheet row and field instead of repeatedly uploading the whole file. This checklist covers the high-friction rules that can be verified before an import.
1. Confirm that the header row matches the product template
Start with Shopify's current product CSV template rather than renaming columns from memory. Product CSV exports currently use a 57-column base schema, with additional columns possible for Markets and product metafields. A misspelled header can be ignored or interpreted differently from the field you intended.
2. Repair URL handles before product grouping
The URL handle identifies which rows belong to the same product. Keep it lowercase and use letters, numbers, and single dashes, such as canvas-backpack. Spaces, capital letters, leading dashes, or doubled dashes are common preventable failures.
Rows that represent additional variants of one product must repeat the same handle. The first row for each new handle should contain the product title.
3. Check option names and variant combinations
Every variant for a product needs a unique combination of option values. Two rows with the same handle and the same Color/Size combination conflict even if they use different SKUs. A product without custom options normally uses Title and Default Title as its first option pair.
4. Use numbers only for prices
Enter a non-negative number without a currency symbol or explanatory text. Use 49.00, not €49, 49 EUR, or free. Compare-at prices should follow the same numeric shape.
5. Use Shopify's exact status and boolean values
Product status accepts active, draft, or archived. Boolean columns such as Published on online store, Charge tax, Requires shipping, and Gift card use TRUE or FALSE. Values such as “yes”, “no”, or “sometimes” are not equivalent.
6. Do not treat inventory policy as a boolean
The Continue selling when out of stock column uses DENY or CONTINUE, not TRUE or FALSE. Use DENY to stop sales at zero inventory and CONTINUE to permit sales after inventory reaches zero.
7. Treat duplicate SKUs as a warning worth reviewing
Shopify can encounter reused SKU values, but duplicate SKUs make fulfillment, inventory updates, and third-party integrations harder to reason about. Confirm that intentional reuse is safe for the systems connected to the store.
8. Retest a small import before the full catalog
After repairing the report, save a UTF-8 CSV and test a small representative subset. A local checker cannot validate store-specific category data, metafield definitions, media availability, or future platform changes. Keep a backup and review Shopify's import result before scaling up.
Pre-upload checklist
- Current product CSV headers
- Lowercase, dash-separated handles
- Title on the first row of every product
- Unique option combinations
- Numeric prices without currency symbols
- Valid statuses and TRUE/FALSE fields
- DENY or CONTINUE inventory policy
- Reviewed duplicate SKUs
Reference: Shopify product CSV documentation. CartPreflight is independent of Shopify Inc.