WooCommerce variations not importing: a parent-to-child checklist

Start by checking whether the child row failed to import or imported but cannot be selected on the storefront. Those symptoms need different fixes. Keep the import log and search the product editor for the child SKU before changing the file.

Trace one complete product family

Choose one failing parent and all its children. Write down the parent SKU, each child SKU and the expected option for each child. Work on a copy of the source so you can explain every correction. A supplier’s style code, barcode and WooCommerce SKU may be different identifiers; agree which one links this family.

In our synthetic staging fixture, apron is the variable parent and apron-s and apron-m are its children. A child points to apron in the Parent field. Parent and child rows have different Type values. Put the parent before the children and keep the whole family together when splitting files.

Compare options before changing the importer

Check spelling, spacing and capitalization in the parent’s allowed options and each child’s chosen option. Compare Size with Size, then S with S. A visually similar supplier label such as Small is a data decision, not an automatic substitute for S. Agree a translation table if the source uses different labels.

Open the imported parent in the editor. Check whether the child has a price, is enabled and has the intended stock behavior. A correctly linked row can still produce an unavailable choice. WooCommerce’s variable-product documentation below explains those storefront requirements.

Separate creating children from updating them

Record the WooCommerce version and the exact importer you are using. Existing-product update mode and new-product creation are different jobs. WooCommerce 11.1 introduced additional behavior for creating variations during an update; older stores and third-party importers may behave differently. Do not assume an old tutorial matches your store.

Start with the downloadable four-row fixture in a disposable staging catalog. It contains a simple mug, one apron parent and two children. Our local core-importer test on WooCommerce 11.1.0 created all four records. That validates this small fixture; it does not validate your theme, extensions or supplier data.

Check the result

  • Both child SKUs exist under the intended parent.
  • S and M can be selected, with the expected price and stock.
  • Created, updated, skipped and failed counts match the planned rows.

Documentation for this workflow

Check the instructions for your installed version before changing a store.

Need a second pair of eyes?

We can review the source and agree a repair scope. Start with CSV file repair or staging import help.

Ask about import help