Skip Navigation
Updated
October 17, 2024

WP All Import Pro comes with the WooCommerce Add-On, which lets you import variable products. With WPML, you can import variable WooCommerce products in multiple languages.

Getting Started

Install and activate the following plugins:

  • WooCommerce
  • WP All Import (a Pro package is required to import WooCommerce products)
  • WooCommerce Import Add-On (comes with all of the WP All Import Pro packages
  • WPML core plugin and the WPML String Translation add-on
  • WPML All Import (available from your WPML Downloads page)
  • WooCommerce Multilingual & Multicurrency (available from your WPML Downloads page)

Must-Haves Before Importing Multilingual Variable Products

To successfully import variable products in multiple languages, you must:

WPML All Import needs to connect the imported product translations to the imported default language products. For this to be possible, you need to add an ID number to each of your spreadsheets. You cannot use other custom fields, such as SKU.

You also cannot connect product translations to default language products that were imported without a unique ID number.

CSV file with numeric Unique Identifier column in the default language

CSV file with numeric Unique Identifier column in the secondary language

Alternatively, you can import variable products in the default language only and translate them using WPML.

Important Step – Do a Multilingual Test Import 

Before importing your actual variable products, you should do a test import with 1 or 2 example products in multiple languages.

Running a test import first reduces the risk of something going wrong. It allows you to check if everything works before importing hundreds or thousands of products. If you miss one step or setting, you can easily fix your mistakes and try again.

After importing your test files (we’ll explain how in the next section), check the following:

  • Your product translations are connected to your default language products.
  • Your product variations display correctly in your default and secondary languages.
  • You do not have any duplicated taxonomy terms or images in your Media Library.

Need some example CSV files for testing? 

Download CSV file in the default language

English

Download CSV file in the secondary language

Spanish

Importing Variable Products in Multiple Languages

If this is your first time importing variable products, you need to map the data for the variable product import in each language. WP All Import calls this creating a template. In the section below, we go through the settings you need to configure before running a variable product import in your default and secondary languages. 

If you have previously imported variable products in multiple languages, you may have saved your templates for each language. This is an option offered in Step 3 of the WP All Import wizard. We explain how to do this further into this page.

First Time Import of Variable Products in Multiple Languages

Below, we show you how to import multilingual variable products step-by-step.

Step 1: Import the Default Language CSV File 

Start by going to All Import → New Import. Upload the CSV file with variable products in your site’s default language

Choose to import data from the file into New Items. Use the dropdown menu to select WooCommerce Products as the data type.

Uploading the default language CSV file

After you review the import file in Step 2, you can Continue to Step 3 of the WP All Import wizard. This is where you need to map the product data to the correct fields:

  1. Drag and drop the correct elements from the column on the right to map the title and description, then expand the WooCommerce Add-On section. Define the Product Type as a Variable Product.
Defining the product type as a variable product
  1. Stay in the WooCommerce Add-On section. Configure the General, Variations, and Attributes tabs as explained in the WP All Import documentation.
  2. In the Attributes tab, uncheck the option to Auto-Create Terms. You should already have all of your taxonomies, including attributes, created and translated before running the import.
Unchecking the box next to Auto-Create Terms
  1. Now, expand the Images section. Check the boxes next to the options to Search through the Media library for existing images and Set the first image to the Featured Image. This lets you avoid duplicated images.
Selecting the image options
  1. At the bottom of the screen, you can choose to save the product mapping and configurations as a template for future default language imports. This step is optional. If you decide to save the template, give it a meaningful name. It should include the language code, for example Variable_Products_EN.
Saving the settings for the default language as a template
  1. Continue to Step 4 of the WP All Import wizard. Drag and drop your unique identifier column to the Unique Identifier field.
Dragging and dropping the unique identifier
  1. Expand the Configure Advanced Settings section. Make sure the option to increase the speed of the import process is not selected.
Making sure the option to increase the speed of the import is not selected

Step 2: Run the Default Language Import

Continue to the last step of the wizard. Import your default language file by clicking the Confirm & Run Import button.

Step 3: Import the Secondary Language CSV File

Upload the CSV file with variable products in your site’s secondary language like you uploaded your default language file. 

In Step 3 of the WP All Import wizard, you should map the product data in the same way you did for the default language import.

Important settings for the secondary language import:

  • In the Attributes tab of the WooCommerce Add-On section, uncheck the option to Auto-Create Terms for each attribute that is a taxonomy.
  • In the Attributes tab of the WooCommerce Add-On section, make sure that the Name of each attribute (such as Color and Size) is in your site’s default language.
  • In the Images section, check the options to Search through the Media library for existing images and Set the first image to the Featured Image.

Once you finish mapping and configuring the product data:

  1. Stay in Step 3 of the WP All Import wizard and expand the WPML All Import section. Select your secondary language as the import language. In our example, the secondary language is Spanish.
  2. Expand the Automatic Record Matching to Translate tab. Define the file you imported in your default language as the parent import.
  3. Drag and drop your unique identifier to the Unique Identifier field. Make sure that it is the same as the one you chose during the default language import.
Configuring the settings for the multilingual import
  1. If you saved the settings you made as a template for your default language, you can now do the same for your secondary language. Don’t forget to give the template a name that includes the language code.
Saving the secondary language settings as a template
  1. Continue to Step 4 of the WP All Import wizard and set the same Unique Identifier as in the previous step.
  2. Expand the Configure Advanced Settings tab and confirm you have the option to increase the import speed disabled.

Step 4: Run the Secondary Language Import

Once everything is in place, continue to the last step of the wizard and click Confirm & Run Import

The import will create the variable products in the secondary language. On the front-end, you should see them as translations of the default language products.

Using Saved Templates to Import Variable Products in Multiple Languages 

Follow these steps only if you have separate CSV files and templates for each language you are importing.

Start by going to All Import → Settings. In the Import/Export Templates section, import separate templates for your default and secondary language(s).

Importing separate templates for each language

Creating the Default Language Import

Before starting, make sure you have product categories, tags, attributes and any other taxonomies created and translated on your site.
See how to translate product categories and attributes in WooCommerce Multilingual.

Go to All Import → New Import and upload the CSV file with variable products in your site’s default language. Make sure to import data from the file into New Items. Select WooCommerce Products as the data type.

In Step 3 of the WP All Import wizard, load your saved template for the default language. Your product mappings and saved settings automatically appear.

Loading the template for the default language import

For a successful import, make sure that the following is configured correctly:

  1. In the Attributes tab of the WooCommerce Add-On section, confirm that the option to Auto-Create Terms for each attribute that is a taxonomy is not selected. You don’t need to create the terms because you should already have all taxonomies created and translated on your site.
  2. In the Images section, confirm that the options to Search through the Media library for existing images and Set the first image to the Featured Image are selected.
Confirming the settings in Step 3 of the wizard
  1. In Step 4 of the wizard, make sure that you have the unique identifier column from your spreadsheet mapped to the Unique Identifier field. 
Dragging the numeric unique identifier to the Unique Identifier field

Once you make sure the settings for your default language import are correct, you can click on Confirm & Run Import.

Creating the Secondary Language Import

Navigate to All Import → New Import and upload the secondary language CSV file. Again, select to import data from the file into New Items. Select WooCommerce Products as the data type.

In Step 3 of the WP All Import wizard, load the template you have saved for your secondary language import. Once the saved settings appear, pay attention to the following:

  • The settings in the Attributes tab of the WooCommerce Add-On section and the Images section should be configured the same as for your default language import.
  • In the WPML All Import section, confirm that your secondary language is set as the import language.
    Expand the Automatic Record Matching to Translate tab. Make sure the file you imported in your default language is defined as the parent import.
    The pre-filled Unique Identifier should be the one you chose during the default language import.
Confirming the settings in the WPML All Import section
  • In Step 4 of the WP All Import wizard, make sure the Unique Identifier is the same as the one in the previous step.

Once you click Confirm & Run Import, the import creates the variable products in the secondary language. WPML All Import connects them as the translations of the default language products.

Troubleshooting: Solutions to the Most Common Problems

Incorrectly mapped product data or configuration mistakes can make the import process go wrong. Here are the most commonly seen problems and how to fix them.

You can make changes to the configurations by going to WP All Import → Manage Imports and editing and updating the templates for each completed import.

Common ProblemHow to Fix the ProblemScreenshot Showing the Solution
Images are duplicated in the Media LibraryIn the Images section, select the option to Search for existing images before importing.Screenshot
Taxonomies appear in mixed languages after the importUse separate CSV files and templates for each language you are importing variable products in.Example of a CSV file in the default language

Example of a CSV file in the secondary language
Terms (attributes that are taxonomies) are duplicatedUncheck the Auto-Create Terms option in the Attributes tab of the WooCommerce Add-on section.Screenshot
Variation attributes are missing after the importFor secondary language imports, make sure the Names in the Attributes tab of the WooCommerce Add-on section are in the default language.Screenshot

Alternative Import & Export Plugins

WPML is compatible with various other import & export plugins. Visit our Top WordPress Import and Export Plugins guide to learn more about our recommended solutions.