Generalgeneral
CSV Import Checklist for Ecommerce Platforms
A complete pre-import checklist for Shopify, WooCommerce, Etsy, eBay, and Amazon CSV files — encoding, headers, data types, and platform-specific rules.
Updated 2026-03-06
What you'll learn
- ✓A universal pre-import checklist that applies to all platforms
- ✓Platform-specific checks for Shopify, WooCommerce, Etsy, eBay, and Amazon
- ✓How to validate data types, required fields, and encoding before uploading
- ✓How to test with a small batch before importing your full catalog
- ✓What to do if the import still fails after completing the checklist
Best for: Any seller preparing a CSV import and wanting to avoid the most common failure modes before uploading
Time to complete: 12 minutes
Last updated: 2026-03-06
Universal Pre-Import Checklist
Run through these checks on every CSV, regardless of platform.
File structure
- [ ] The file has a
.csvextension and is plain comma-separated text (not.xlsxrenamed to.csv— open in a text editor to verify) - [ ] Row 1 contains column headers — no blank rows above it, no title row
- [ ] No blank rows anywhere in the file (delete them in Excel with Ctrl+G > Special > Blanks)
- [ ] No summary, total, or formula rows at the bottom
- [ ] No merged cells (merged cells export as blanks in all cells except the first)
- [ ] Column count is the same on every row (every row has the same number of commas)
Encoding
- [ ] File is saved as UTF-8 without BOM (check in VS Code status bar)
- [ ] No garbled characters (’, é, £) visible in any field values
- [ ] First column header has no invisible BOM prefix (check in a text editor)
Headers
- [ ] Column names match the platform's exact spelling (case-sensitive)
- [ ] No leading or trailing spaces in any column name
- [ ] No duplicate column names
- [ ] Required columns are present (see platform-specific checklists below)
Data types
- [ ] Price columns contain only numbers (no
$,EUR, or other symbols) - [ ] Boolean fields use the correct format for the platform (TRUE/FALSE, 1/0, y/n)
- [ ] Required text fields are not blank on any row
- [ ] SKU/identifier fields are unique across the file
- [ ] Image URLs are absolute (start with
https://) and publicly accessible
Shopify-Specific Checklist
- [ ]
Handleis present and non-blank on every row - [ ] Variant rows share the same
Handleas the parent product row - [ ]
Titleis present on the parent (first) row for each product; blank on variant rows is OK - [ ]
Variant Priceis a positive decimal number on every row - [ ] Boolean fields (
Published,Requires Shipping,Gift Card) useTRUEorFALSE - [ ]
Option1 Name,Option1 Valueare present on all rows for variable products - [ ] No extra option columns without values (e.g.,
Option3 NamewithoutOption3 Value) - [ ] Image URLs end in
.jpg,.jpeg,.png,.gif, or.webp - [ ]
Tagsfield uses commas to separate tags (wrapped in quotes if present)
WooCommerce-Specific Checklist
- [ ]
Typecolumn contains a valid value:simple,variable,variation,grouped, orexternal - [ ]
SKUis non-blank and unique for simple products; variation rows inherit parent SKU if left blank - [ ]
Regular priceis a plain decimal number (no currency symbols) - [ ] Boolean fields (
In stock?,Backorders allowed?) use1or0 - [ ] Variation rows have a
Parentvalue matching the parent product'sIDorSKU - [ ] Attribute columns follow the
Attribute 1 name/Attribute 1 value(s)naming pattern - [ ]
Tax statusistaxable,shipping, ornone - [ ] Image URLs are absolute HTTPS URLs
Etsy-Specific Checklist
- [ ]
titleis non-blank and under 140 characters - [ ]
priceis a positive decimal number - [ ]
quantityis a whole positive integer - [ ]
when_madeuses an allowed value from Etsy's enum (e.g.,made_to_order,2020_2024) - [ ]
who_madeisi_did,someone_else, orcollective - [ ]
is_supplyistrueorfalse - [ ]
tagscontains 13 or fewer comma-separated tags, each under 20 characters - [ ]
image1URL is a publicly accessible HTTPS URL
eBay-Specific Checklist
- [ ]
Actioncolumn is present on every row:Add,Revise,Relist,End, orDelete - [ ]
Categoryis a valid numeric eBay category ID - [ ]
Titleis 80 characters or fewer - [ ]
StartPriceis a positive decimal number (no currency symbols) - [ ]
Conditionuses eBay's allowed condition IDs (e.g.,1000for New,3000for Used) - [ ]
Durationuses an allowed value:Days_3,Days_5,Days_7,GTC, etc. - [ ]
PicURLcontains a semicolon-separated list of HTTPS image URLs - [ ]
Quantityis a whole positive integer
Amazon-Specific Checklist
- [ ]
seller_skuis non-blank, unique, and under 40 characters - [ ]
item_nameis non-blank and under 500 characters - [ ]
priceis a positive decimal number (no currency symbols) - [ ]
quantityis a whole number (0 or positive) - [ ]
condition_typeuses an allowed value:New,Used,Refurbished, etc. - [ ]
fulfillment_center_idisAMAZON(FBA) orDEFAULT(FBM) - [ ] The template matches the correct product type (clothing flat files differ from electronics)
- [ ]
product_idandproduct_id_typeare present and consistent (ASIN, UPC, EAN, etc.)
Test With a Small Batch First
Before uploading your entire catalog, test with 3-5 rows:
- Copy 3 data rows into a new file (keep the same header row)
- Upload the small test file
- Review the import result — check that all fields mapped correctly and the products look right
- If it passes, import the full file
Testing with a small batch makes it much easier to identify problems before they affect hundreds of rows.
What to Do If the Import Still Fails
- Read the error message carefully — platform error reports usually name the column or row that failed
- Search for the exact error message plus the platform name to find platform-specific documentation
- Upload the file to StriveFormats for automated validation — it catches issues the platform error messages don't explain clearly
Fix This Automatically with StriveFormats
Run through this entire checklist automatically. StriveFormats validates all universal and platform-specific rules, flags exact cells with issues, and auto-fixes safe problems.
Need help fixing your file?
Upload your CSV to StriveFormats for instant validation, auto-fixes, and a clean export. Our CSV validator checks for formatting errors, missing headers, and platform-specific requirements.