Guide / Variable products
Convert WooCommerce variable products to Shopify variants
Variable products are the part of a WooCommerce export that most often goes wrong in Shopify. The parent and its variations have to stay together, option names have to fit Shopify’s three-option limit, and each variant needs its own price, SKU, stock, and image where those differ.
How WooCommerce stores variations
A variable product is usually one parent row plus one row per variation. The parent holds the title, description, categories, and the list of attributes. Each variation row holds a combination such as Color = Navy and Size = M, plus that combination’s price, stock, and sometimes its own image.
Variation rows point at the parent with a Parent value such as id:100 or the parent SKU. Export the parent and its variations in the same file. If you filter the export to “variations only,” Shopify will not have a product to hang those rows on.
How Convert2Content maps them
- The parent becomes the Shopify product. Variation rows become Shopify variant rows that share the same Handle.
- Attribute names such as Color and Size become Option1 Name and Option2 Name. Attribute values become the matching Option values on each variant row.
- Shopify allows three options. If a product has a fourth attribute used for variants, Convert2Content joins the extras into Option 3 so each variant stays unique. The preview notes that options were combined.
- Attributes that are only product details, not used to create variations, can go into the description or tags instead of becoming options.
- A variation image URL becomes Variant Image. Extra gallery images from the parent become additional image rows under the same Handle.
What to check in the preview
After you drop the CSV into the converter, open the Shopify preview and pick a variable product.
- Option names and values look right, for example Color / Size rather than a single jammed option.
- Each variant has the price you expect. Sale prices become the current price; the regular price becomes compare-at when it is higher.
- Out-of-stock variations show available quantity 0 when stock is tracked.
- Variant-specific images appear where the export had them. Missing images usually mean the variation row had no public URL.
- Notes such as “Options combined” or “No variations in the file” are worth reading before you download.
Common mistakes
- Exporting only published simple products and forgetting the variable parents.
- Editing the CSV in Excel so Parent values or quoted attributes break.
- Expecting more than three Shopify options to survive as separate options. They will not.
- Assuming grouped or external products behave like variants. They do not. Grouped links are dropped; external products are skipped unless you include them.
- Publishing immediately. Leave products as drafts, check one variable product in Shopify, then publish.
WebToffee and other exporters
Native WooCommerce exports use Attribute 1 name / Attribute 1 value(s). WebToffee-style files often use columns such as attribute:pa_color and parent_sku. Convert2Content recognizes both. If an unusual header is not detected, map it on the Columns tab before you download.
Next: full export and import guide · Shopify CSV import errors