Convert WooCommerce variable products to Shopify variants

Content and sources reviewed:

A WooCommerce variable product can become one Shopify product with variant rows when every variation links to a supported parent and uses no more than three options. CatalogHandoff resolves parents by ID or SKU, keeps each group on one Shopify handle, and blocks orphaned variations, duplicate option combinations, missing or out-of-range values, more than three options, and more than 2,048 variants.

How is the parent matched?

A variation's Parent value may reference the parent's WooCommerce ID or SKU. The parent must be present in the same file and must be a supported variable product. CatalogHandoff does not query WooCommerce or guess a parent from a similar title.

Official source: Product CSV Import Schema (reviewed )

How are option columns assigned?

  1. Attribute 1 name becomes Option1 name.
  2. The variation's single Attribute 1 value(s) becomes Option1 value.
  3. The same rule applies to the second and third reviewed attributes.
  4. A fourth non-empty product option is reported as blocking rather than silently dropped.

Official source: Using CSV files to import and export products (reviewed )

What does a two-option product look like?

A parent named "Linen Shirt" defines Color and Size. A variation with Blue and Medium reuses the parent's generated URL handle, then emits Option1 value "Blue" and Option2 value "Medium" with its own SKU, price, stock, weight, and optional variant image URL.

Which variant details require care?

WooCommerce default-option selection, global-attribute identity, attribute visibility, and inherited plugin data do not have a reviewed lossless mapping. Parent-level images can produce extra Shopify image rows, while a variation image remains attached to its variant row. Review every reported loss before import.