← Open Commerce CSV Preflight

WooCommerce CSV guide · reviewed August 20, 2026

WooCommerce CSV variation parent: connect each row correctly

In WooCommerce’s built-in product CSV schema, each variation row uses Type set to variation and a Parent that identifies the variable product by SKU or ID. Prefix numeric IDs with id:, for example id:100. The parent row uses variable, and its attribute values align with each variation.

The exact parent formats and attribute fields are defined in the WooCommerce product CSV schema. A local preflight can find structural mismatches, but it cannot inspect products already stored in your site.

What belongs in the Parent column?

WooCommerce accepts the parent product’s SKU or ID. When using an ID, the schema requires the id: prefix, such as id:100. Exports use the SKU when possible. Product names are not listed as parent identifiers.

A parent SKU referenced by a variation must match the intended variable product. The variation itself also needs its own unique SKU and name in WooCommerce’s documented conversion workflow.

Minimal parent and variation structure

Example adapted from WooCommerce’s documented Size workflow
RowTypeSKUParentAttribute value(s)
Parent productvariabletshirtBlankS, M
Small variationvariationtshirt-stshirtS
Medium variationvariationtshirt-mtshirtM

The parent lists all available values in Attribute 1 value(s). Each variation lists one matching value. Additional attributes use the same numbered column pattern.

Converting an existing simple product takes two imports

WooCommerce documents a two-import process. First, import the full CSV with “Update existing products” selected to change the existing parent to variable and add its attributes. New variation rows are skipped during that update import.

Then remove the parent row and import the variation-only CSV with “Update existing products” unselected. WooCommerce creates the variations and attaches them to the existing parent. Back up the store or use staging before this workflow.

What a local preflight can detect

An unknown parent is a warning rather than proof of failure: the referenced product might already exist in the store, which a browser-only file check cannot verify.

Frequently asked questions

Can Parent contain a product name?

The built-in schema documents only a parent SKU or ID. Use id: before a numeric ID.

Must the parent row be in the same CSV?

Not always. A variation can reference a parent that already exists in the store. If the browser preflight cannot find that parent in the selected file, it warns because it cannot query your WooCommerce database.

Why did WooCommerce skip new variations during an update?

In WooCommerce’s documented conversion workflow, the first import updates the existing parent and skips variation rows that do not yet exist. The second, variation-only import creates them with “Update existing products” unselected.

Sources and safe-import note

Primary source: WooCommerce Product CSV Importer and Exporter documentation, including its schema and variable-product conversion workflow. Keep a current backup, use staging where possible, and verify the final product and variations after import.