Importing or exporting WooCommerce variable products can feel rather complicated without the right tools. Unlike simple products, each parent variable product carries one or more child variations, and each variation carries its own SKU, price, stock, and attribute values.
Import and export tools that treat variable products as simple products compromise data integrity by flattening the product data and breaking the parent-variation relationship.
WP All Import and WP All Export are dedicated WooCommerce import and export plugins that are equipped to map variable product data field by field from diverse sources, including CSV, XML, and Google Sheets.
This article walks through how to quickly and easily import and export WooCommerce variable products using both plugins. It also includes links to handle even more advanced variable product import and export needs without breaking a sweat.
📑 Table of Contents
- What Makes WooCommerce Variable Products Different to Import and Export
- How to Import WooCommerce Variable Products: The Basic Loop
- Advanced WooCommerce Variable Product Import Scenarios
- The Basic WooCommerce Variable Product Export Loop
- Advanced WooCommerce Variable Product Export Scenarios
- Final Thoughts
What Makes WooCommerce Variable Products Different to Import and Export
WooCommerce variable products consist of two linked record types, which make the import and export processes very different from those of simple products.
There is a parent product that holds base product data such as the title, description, categories, and attributes used for variations. The child record consists of one or more variations of the parent product with its own unique combination of global or custom attribute values, SKU, pricing, and stock level.
A good WooCommerce variable product import and export tool must be able to map parent and variation fields separately, with the correct combination of attribute values. Anything other than that will produce missing variations, duplicates, or unlinked variations, which mess up product listings in a WooCommerce store.
The next sections explore how WP All Import and WP All Export handle WooCommerce variable product imports and exports seamlessly.
Importing WooCommerce Variable Products
How to Import WooCommerce Variable Products: The Basic Loop
WP All Import makes it easy to import WooCommerce variable products in four straightforward steps. The example below outlines the basic process for getting it done efficiently, saving you time and effort that would have otherwise been spent adding them manually.
1. Preparing Your WooCommerce Variable Product Import File
To ensure WP All Import can read the product data file and create variable products from its content smoothly, the first step is to ensure that the file is formatted correctly.
The import file for variable products needs to be able to define three things clearly: the rows that are for parent products versus those that are for variations, how each variation links back to its parent, and the attributes that define the variations.
Below is a quick reference of the basic file structure required for variable products, whether in CSV, Google Sheets or XML formats:
- Parent rows: These store only the product title, SKU, category, and attribute information. It does not include the product's price or stock details.
- Variation rows: These carry their own SKU, price, stock, and attribute values. Each variation is contained within one row (CSV or Google Sheets) or record (XML) each.
- Linking methods: Variations can be linked to their parent products in multiple ways. The most common methods are via parent SKU/ID, Group ID, product title match (with or without parent rows), XML child elements, and Link All Variations, which generates every variation of the product from data contained in a single row with pipe-separated attribute values. WP All Import offers users full flexibility for variable product imports by supporting any of these structures.
- Attributes: This includes global (e.g., color and size) and custom (product-only) attributes, both mapped with automatic term matching.
- Pricing, stock and images: These are all set at the variation level and are independent of the parent.
For this example, the file contains one row per parent product and one row per variation. Each parent row has a unique SKU, and each variation row references its parent via a Parent column with the same SKU.

2. Starting the WooCommerce Variable Product Import
To start a new import, from wp admin, navigate to All Import → New Import. Upload the import file and select WooCommerce Products as the import target. WP All Import reads the file and loads the Drag and Drop screen. This screen displays the WooCommerce add-on panel, including the option to set the Product Type to Variable product, and provides access to all necessary tabs, such as Attributes and Variations, to configure product data.

3. Mapping Attributes and Variations
The Attributes tab handles each attribute associated with a product in the same way: map its name and value by dragging and dropping them from the column on the right, and then mark it as used for variations. If an attribute does not apply to a particular product, it is ignored, allowing multiple products with different attribute sets to be imported simultaneously without conflicts.

The Variations tab is where the parent-child link is defined. Since our example variable product file uses SKU-based linking, that option is selected.

The parent column maps to the Parent SKU element for variation field, while the SKU column maps to the SKU element for parent field. The SKU, stock, and price map at the variation level, which ensures that each variation keeps its own value independent of its parent record.
4. Running the Import
After mapping all product data elements, configure the import settings, confirm them, and run the import.

Once the import is complete, navigate to Products → All Products, and you should see the imported variable products. Click View to see the product listing with its variations.

No other steps are required after this. Customers can now shop for variations of your products with ease.
Advanced WooCommerce Variable Product Import Scenarios
The Basic Import loop covered above applies to a standard, straightforward import. However, in reality, many WooCommerce catalogs don’t stay so simple for long. There are instances where products need to be migrated from other platforms, attributes need to be matched to existing ones instead of created, and existing variable products need to be updated without breaking their variations. WP All Import handles it all seamlessly.
Importing WooCommerce Variable Products with Multiple Images per Variation
Sometimes, rather than inheriting a single photo from a parent product, variations have their own set of images that need to be correctly assigned during an import. How Do I Import Multiple Images for a WooCommerce Variable Product? describes how to do this.
Bulk Uploading Large Batches of WooCommerce Variable Products
Whether you are looking to upload only a few dozen variable products or hundreds to thousands at once, WP All Import will get it done without hassle. See How Do I Bulk Upload Variable Products in WooCommerce? for more.
Updating Variation Price and Stock Without Re-Processing the Parent
Variation data can be exported to a spreadsheet, edited, and reimported to update pricing and stock data for all products in one go. How Do I Bulk Edit Product Variations in WooCommerce? provides more insights.
Migrating Variable Products from Shopify
Shopify's export format doesn't natively match WooCommerce's variation structure, but WP All Import handles the conversion without requiring the file to be restructured first. How to Easily Import Products From Shopify to WooCommerce
Scheduling Variable Product Imports
For scenarios where you need to run recurring imports of variable products from an external source to your WooCommerce store, you can take advantage of WP All Import’s scheduling service. See How Do I Automatically Import Products into WooCommerce? to learn more.
Exporting WooCommerce Variable Products
The Basic WooCommerce Variable Product Export Loop
The process for exporting WooCommerce variable products with WP All Import is similar to the import process. It only takes three straightforward steps to export them in your preferred file format within minutes.
1. Starting the WooCommerce Variable Product Export
To start a new export, go to All Export → New Export from the WordPress admin dashboard and select WooCommerce Products as the post type to export. Under Add Filtering Options, filter to Product Type equals Variable to exclude simple products from the export.

2. Choosing What to Export: Parent vs. Variation Fields
On the Drag and Drop Screen, choose which fields to include for the parent products and for its variations in the export file. WP All Import also includes the option to export parent and variation data together, variations only, or parent products only, depending on the export file's purpose.

3. Running the Variable Product Export
Choose an export format; options include CSV, Excel, Google Sheets, and XML. Then choose a name for the export file and run the export. The exported variable product file will have all variations correctly linked to their parent, ready to be edited and re-imported as an update.
Advanced WooCommerce Variable Product Export Scenarios
The example above runs through how to execute a standard WooCommerce variable product export. But WP All Export can do so much more, including the more advanced export scenarios outlined below:
Migrating Variable Products to Another WooCommerce Site
To migrate variable products to another WooCommerce site, you can run a full product export that includes all variations and their parent-variation structure and import them in a bundled export file into the new WooCommerce installation. See How to Migrate WooCommerce Products to a Different Website for more.
Bulk-Editing Variations via Export and Reimport
Export variations, edit price or stock in a spreadsheet, and reimport as an update. How Do I Bulk Edit Product Variations in WooCommerce? provides all the details.
Scheduling Recurring Exports
WP All Export's scheduling services enable exports to run on a recurring schedule, keeping an external feed or system in sync with WooCommerce inventory. Check out How to Schedule Recurring Imports for details.
Final Thoughts
Variable products can complicate WooCommerce product imports and exports because they are two record types, unlike their simple product counterparts. However, with WP All Import, mapping that structure correctly is an easy 5-minute task rather than a recurring source of errors. The sub-articles linked throughout this guide cover what happens as your catalog grows more complex and you need to perform tasks such as platform migrations, bulk updates, scheduled syncs, and variation-level filtering. Both ends of that range run through the same interface.
Import and Export WooCommerce Variable Products — Frequently Asked Questions
To import: go to All Import › New Import, select WooCommerce Products, map attributes, and check Used for variations, then link variations to their parent by SKU, Group ID, or another supported method.
To export: go to All Export › New Export, select WooCommerce Products, filter to Product Type equals Variable, and choose your export fields and format.
Run either process to complete the import or export.
You can export WooCommerce products with both images and variations using WP All Export. Create a new WooCommerce product export, then on the Drag & Drop screen, include the image field(s) from Available Data alongside your variation-level fields (SKU, price, stock, attributes). Each variation's own image exports independently of the parent product's featured image, so variation-specific photos are included in the output rather than defaulting to a single shared image.
1. Go to All Import › New Import and select WooCommerce Products.
2. On the Attributes tab, add the attributes that define your variations and check Used for variations.
3. On the Variations tab, select the method your file uses to link variations to their parent (by SKU, Group ID, product title, or another supported method).
4. Map variation-specific fields and all other relevant WooCommerce product fields.
5. Run the import.

