Variable products are the most common source of import confusion, because one product occupies several rows in the file.
How variations are structured #
A variable product with three colour options becomes four rows:
- One parent row, with product type
variable. It carries the name, description, categories, and the attribute definitions. - Three variation rows, with product type
product_variation. Each carries its own SKU, price, stock, and the attribute value that distinguishes it.
The variation rows link back to the parent through parent_sku or parent_id.
Exporting variable products #
Choose the Product module and, on the filters step, make sure Product Type either includes both Variable and Variation or is left empty. Selecting only Variable gives you parents with no variations, which is almost never what you want.
Include product_id, sku, parent_sku, and parent_id in your column selection. Those four are what make the file re-importable.
Importing variable products #
- Keep parent and variation rows in the same file.
- Put the parent row above its variations. The importer processes rows in order and needs the parent to exist before it can attach a variation.
- Fill in
parent_skuon every variation row. - Map
product_idorskuso existing products are recognised.
Variations came in as separate simple products #
This is the classic symptom, and it has three usual causes:
| Cause | Fix |
|---|---|
parent_sku is empty or unmapped | Fill the column in and map it on step 4 |
| The parent row is missing from the file | Include it, or import parents first in their own pass |
| The parent SKU does not match any product | Check for trailing spaces and case differences |
Updating variation prices in bulk #
Export with just product_id, sku, parent_sku, and regular_price. Filter Product Type to Variation so you get only the rows you intend to change. Edit the prices, then import with duplicate handling set to Update.
Because your file contains only four columns, the update cannot touch descriptions, images, or stock. Narrow files are safer than wide ones.
Attributes #
Attribute columns carry the tax: prefix in exports. Export a variable product you already have before building an attribute file by hand, so you can see the exact column names your store uses.
Large variable catalogs #
A store with 2,000 variable products and eight variations each produces an 18,000-row file. Split it into chunks that keep each parent together with its variations, and lower the import batch size if the run stalls.