Variation import fix

How to fix variation parent errors in a WooCommerce CSV

A variation row cannot stand alone. Its Type, Parent reference, unique SKU, and attribute value all need to agree with a variable parent product.

Parent first, variations second.WooCommerce must be able to find the variable parent before it can attach a variation row.

What the Parent column should contain

In the core WooCommerce product CSV schema, a variation’s Parent value can be the parent product SKU or an existing product ID written with anid: prefix. If the parent SKU is tshirt, the variation row can use tshirt in Parent. An ID of 100 should be written asid:100.

1. Confirm the row types

The parent row needs variable in the Type column. Each child row needsvariation. A simple product cannot receive variations until it is converted to a variable product.

2. Make every variation SKU unique

The Parent field repeats the parent identifier; the SKU field does not. Give every child a unique SKU such as tshirt-s or tshirt-blue. Reusing tshirt as both the parent SKU and a child SKU creates an identifier conflict.

Minimal relationship example

variable,tshirt,,Size,"S, M" — parent product

variation,tshirt-s,tshirt,Size,S — small variation

variation,tshirt-m,tshirt,Size,M — medium variation

3. Match attribute names and values

The parent lists the available attribute values, while each variation uses one of those values. Attribute names must match between rows. For a local Size attribute, the parent might contain S, M, and each variation should contain onlyS or M. Set the attribute’s variation-related fields consistently with the official schema.

4. Import in the correct order

For a new variable product, import the parent product before its child variations. If converting an existing simple product, WooCommerce documents a two-import process: update the existing parent into a variable product with its attributes, then import the variation-only rows without the update option selected.

5. Diagnose the remaining skipped rows

Check the import log, then verify that the referenced parent exists, its Type is variable, the Parent value has no extra spaces, and the attribute value is allowed by the parent. Test a small batch on staging before importing the full catalog.

Check the file before another import

Get row-level answers without uploading your catalog.

Scan 25 product rows free, or unlock unlimited offline repairs for $9 once.