WooCommerce Product Import Checklist: CSV, Images and Variations
Before importing products into WooCommerce, check the CSV identifiers, variation structure and image references on a small sample. For an existing catalog, decide exactly which fields the import may change.
Read the guide
Search Field Notes
A useful next read.
36 field notes
No matching guide yet. Try “checkout”, “shipping” or “catalog”.
All Field NotesDecide whether you are creating or updating products
A supplier upload, a store migration and a price update are different jobs. Write down the intended operation and the fields it can change. An import that is only meant to update stock should not also replace product descriptions, categories or publishing status.
Keep the original supplier file and prepare a separate copy for WooCommerce. Export a few target products to compare the expected columns and identifiers. Product import covers catalog data; customers, order history and subscription billing need their own transfer methods.
Make identifiers and column mapping reliable
The core importer uses product IDs or SKUs to match updates. Check for blank, duplicate or altered identifiers before uploading. Spreadsheet software can change a code by removing leading zeros, so inspect the saved CSV as well as the worksheet.
Review the import screen’s column mapping. Choose Do not import for columns outside the approved change. Unknown fields and extension-specific data need a supported mapping; a successful upload will not make a supplier’s internal column names meaningful to WooCommerce. Export as UTF-8 and inspect delimiters and quoted values.
Check the product relationships
IDs, attributes and images need to describe the product customers will buy.
Product identity
IDs or SKUs identify the records an update can change.
Parent and variations
Child rows need the intended parent and option values.
Follow the chosen import schema.Attributes
Consistent values describe the combinations actually sold.
Use only combinations actually sold.Images and special fields
References and extension-owned data need supported handling.
Inspect them after a sample import.
Build variations around the parent-child relationship
A variable product needs the parent’s option values and child rows that describe the combinations you actually sell. Each variation needs its own usable identity, matching attributes, price and availability. A list of sizes on the parent is not a complete set of purchasable variations.
Use one approved spelling for each attribute value. Do not mix L, Large and l for the same size. Follow the chosen importer’s current schema and version-specific workflow for new and updated variations; import behaviour can differ by WooCommerce version and by tool. Never generate unsold combinations just to fill a spreadsheet.

Check images and unusual product fields
Image references must be accessible to the import process or already present in the media library. Open the imported sample and check its main image, gallery and variation image. A populated URL cell is not proof that the right image was attached.
Check downloads, bundles, subscriptions and custom fields against the extension that owns them. Core CSV and Product CSV Import Suite are different tools. List unsupported fields before the run, and give descriptions with commas, line breaks or special characters a real import check rather than relying on a neat spreadsheet preview.
Test a sample through the storefront
Use a simple item, a parent with several variations, an unavailable option and any unusual type in scope. Import on staging after taking a backup. Inspect the result log, then compare identity, prices, stock, images and option choices with the preparation copy.
Add the intended item to the cart and check the selected variation and amount. For update jobs, confirm that fields outside the scope stayed unchanged. Correct failed or skipped rows in the source preparation file; repeatedly uploading the full catalog makes it harder to see which rule caused the problem.

Run in manageable batches and reconcile the result
Before the live import, verify a current backup, the approved field mapping and who will handle exceptions. Large files may need batches to stay within server limits. Use the tested preparation rules and keep a record of each file version and run.
Compare created, updated, failed and skipped records, then review a representative storefront sample. Totals help identify gaps but do not prove relationships are correct. If a rollback is needed, protect orders and catalog edits made after the backup rather than restoring an old database without reconciliation.
Common questions
Why are WooCommerce products skipped during import?
Check the import log, identifier matches, selected create/update mode and column values. Variation handling can depend on the core version and chosen importer, so inspect the specific row before rerunning the file.
Can a supplier CSV be uploaded unchanged?
Only if its columns, identifiers and values match the selected importer. Keep the original and test a prepared sample before changing the full catalog.
Do parent attributes automatically create purchasable variations?
No. The variation records need the correct relationships and required buying data. Verify actual option selection and add-to-cart after import.
What should we check after a bulk product update?
The changed fields, untouched fields, failed/skipped rows and a storefront sample. Include images and variations where the import affects them.
Why are imported product images missing?
Check that the reference is accessible to the importer or matches an existing media item, then inspect the sample result. An inaccessible sharing link or incorrect filename can leave the image unattached.