The Complete Guide to Magento 2 Configurable Products, and how to import them

- E-Commerce, Magento 2

Magento 2 Configurable products are difficult yet essential. And if you are reading this article, you probably get this statement straight: to sell complex products with multiple attributes you need to use Configurable Products. In this article, we will try to cover all aspects of the Configurable Products. Including such topics as what is it, how to start, how to import configurable products to your store, and how to make the most of available enhancements. Without further ado, let’s dive into it.

Guide list

The complete guide to the configurable products and how to import them is the second in the line of blog posts for Magento 2 import/export guide list. Each post in the line either covers a particular product type, or offers a complete guide to a procedure. Here is a full list of posts:

What is configurable product

Have you ever shopped for clothes? You probably have. Clothes come with multiple attributes, such as size and color. To sell such products and let your customers select proper size and color in Magento 2 you use Configurable Products.

You can say, that you can use a simple product, with Custom Options for size and color. However, if you decide to do so, you will not be able to control the stock for each product variation independently.

For example:

You have 5 red t-shirts, and 10 green t-shirts. With configurable products, Magento 2 knows precisely when each variation runs out. With simple products with custom options, you will have to continuously monitor each order and make manual adjustments to the product options.

This is the main advantage of configurable products: Independent product variation inventory management.

So, how does it work? A configurable product is often called ‘parent,’ because you assign simple products (‘child’) to it. These simple products act as the configurable product variations.

For example:

Very same t-shirt product. Each color – is a separate simple product, that is assigned to the configurable one. Whenever customer selects a variation and adds it to the cart, they actually purchase a simple product that has been assigned to the configurable.

Now, let’s try to create a configurable product to see how it works.

How to create a configurable product

The process of creating a configurable product is the same as with other product types, with the exception of Configurations block. In this block you assign or create simple products that will be assigned to the Configurable Product you are building.

Step 1

Proceed to the Catalog > Products and click Add Product > Configurable Product.

Step 2

Fill all the product attributes as per simple product and proceed to the Configurations section of the new product.

Click ‘Create Configurations’ button.

You will see a list of all applicable attributes that can be used to tie simple products to the Configurable Product you are creating.

Select Attributes

Click ‘Next’ button to select or create attribute values.

Attribute Values

Here, you define the variations that will be available for your Configurable Product.

For example:

As per the screenshot above, the Configurable Product will have two options: size and color. And customers will be able to select from three sizes: S, M, L.

And three colors: red, green, black.

Meaning nine simple products (size*color) will be created for this configurable product:

  • Size S – red
  • Size S – green
  • Size S – black
  • Size M – red
  • Size M – green
  • Size M – black
  • Size L – red
  • Size L – green
  • Size L – black

Click ‘Next’ button to proceed to the next section.

Bulk Images and Price

Here you decide how you want images, prices and quantity applied to the newly created Configurable Product variations – simple products.

You can:

  • Apply a single set of images/prices/quantity to all SKUs – if you know that you have a single number for all the values.
  • Apply unique images/prices/quantity by attribute to each SKU – if you have different prices for different attribute values;
  • Skip images/price/quantity at this time – if you want to skip this section, and apply images/price/quantity once the variations are actually created, from the product catalog.


Here you can see which Configurable Product variations will be created.

Make sure to pay close attention to this section. If you are not happy with the created products, you can always click ‘Back’ button, to return to the previous steps.

If everything’s correct – hit ‘Generate Products’ button.

Step 3

You have just created a set of simple products (variations) that are assigned to your Configurable Product. These variations are not visible individually, meaning they will not be available separately in your product catalog. Instead, these products are used to add options to the Configurable Product.

While still at the Configurable Product creation screen, you can quickly edit variation names, SKU, price, quantity, weight, images, or if required remove them and create new variations.

Step 4

Once done with the variations click ‘Save’ button to create a Configurable Product.

If you have added new attributes and values, you will be asked what do you want to do with these new attributes.

It is a good idea to keep the product attributes in attribute sets and make sure you keep track of the attribute sets for other products you might add to your store. So the decision is really up to you.

Great! You have just created a Configurable Product. Now it is high time to see how it acts at the frontend.


There are some things that are not so obvious. For example tier prices. Tier and group prices are set per simple product. To set a tier price, you need to select a child product either from the product grid or from the Configurations section of the Configurable Product and click Advanced Pricing.

How does Magento 2  configurable product work

You have already seen a .gif image at the beginning of the article, hower, let’s look at the configurable product at the frontend in detail to understand what Magento 2 has to offer out of the box.

Catalog page

At the catalog or category pages, Configurable Product is almost as much functional as per the product page.

As you can see with default Magento 2 Luma theme, you can select multiple product attributes right from the category pages. At the .gif image above you can see that colors and sizes are interactive.

Product page

At the product page, customers can also set required product attributes.

And increase product quantity, if several products are required. This cannot be done from the category page.

Besides, the product page as always provides customers with the product short and long description and other data, such as reviews and other.

Remember that every Configurable Product attribute is a single simple product with dedicated stock.

How to improve configurable products

The functionality of the configurable products described above is pretty basic and can be found almost at every store nowadays. So what if you require additional functionality? What if you are a supplier, or want to increase customers’ loyalty and provide them with the enhanced shopping experience.

In such cases, you can purchase and download extensions for Magento 2.

One of such extensions is Improved Configurable Product by Firebear Studio.

The extension represents a full enhancement tool that once installed improved overall appearance and functionality of Configurable Products and provides customers with the better shopping experience.

Read Improved Configurable Product manual.

Category page enhancements

At the category page Improved Configurable Product extension has a deal to offer.

First, it offers a dynamic update of the product name whenever a customer selects a particular variation.

For example, if you are offering clothes of a different color. A customer can see that the color they selected displays in the product name.

Additionally, whenever a customer selects a particular product variation and decides to go to the product page, the extension remembers the variation and loads the product page with pre-selected customer’s choices.

Product page enhancements

As for the product page enhancements, the extension offers even more.

First, let’s have a look at the product page and compare it to the native Magento 2 configurable product.

As you can see the extension covers almost every element at the product page and brings an invaluable functionality to it.
Let’s break the functionality down to the most important enhancements.

Default product variation

With Improved Configurable Products it is also possible to set a configurable product variation that will be always pre-selected by default.

At the configurable product screen, under Configurations section, the extension adds new column ‘Default’. Here, in this column the store owner can select a default product variation.

The variation will then will always be pre-selected at both category and product pages. This comes in handy if you want to narrow down your stock of a particular product option, or want to promote a certain variation.

Dynamic content update

First, all product page content, including page URL, name, and description can be updated automatically depending on the customer’s choices.

Why is it important? Because:

  • First. Your customers stay aware of the variation they selected.
  • Second. Variations may differ, that’s why it is essential to have a unique description for every Configurable Product variation.
  • Third. Page URL is also updated dynamically. Meaning you can target particular product variation when running promotions. Merely select product variation, copy the link and paste it into your Google Ads, include it in a Twitter post, or add it to the banner.
  • Fourth. Dynamic price update. Along with the native Magento 2 product price, the extension controls how the price range is displayed. This is huge if you are running tier prices for your products.

What do you get with the dynamic content update?

  • Better shopping experience. Customers stick to the stores they feel comfortable the most.
  • Increase in conversion. Precisely targeted advertisements help you boost your sales.

Product Matrix view

If you are a supplier or running a store where customers purchase multiple products and product variations at once, – this is what you are looking for.

When shopping for multiple product variations, it is troublesome to add all required items to the cart. Let’s see how it is done with native Magento 2 functionality.

You see? A customer has to select a product variation every time, before entering valid quantity, and clicking ‘Add to Cart’ button.

Now, let’s look how Improved Configurable Product extension simplifies this process.

A customer only has to increase the quantity and add several variations to the cart at once. This is a time saver when we are talking about running a supplier store or stores with numerous products.

This is the Magento 2 Configurable Product Matrix view. It can be enabled or disabled if necessary. What it does is it represents all available product variations in a neat and convenient way, making the shopping experience a matter of few clicks.

Custom shipping message scheduler

Another prominent feature of Improved Configurable Product extension is scheduling of the shipping messages. That works the following way.

  1. Using three custom product attributes the store owner specifies the Shipping Message and the start and the end date of the custom shipping logic.
  2. If a customer visits the Configurable Product page within a set period, he can see a custom shipping message displayed in the set location.

You can, of course, use this very functionality for different purposes. For example, notify customers of the special offers, or promote additional products that come with the order.

More about Improved Configurable Product

There are more enhancements introduced by the extension to get to know them better, visit the Improved Configurable Product page.

And read Improved Configurable Product manual.

Importing configurable products

Now, once we have learned about the Configurable Products and introduced new features with Improved Configurable Product extension, it is high time to get to the depths of Magento 2 and talk about importing configurable products.

Before we start, I strongly advise you to read more about Magento 2 product import.

The Complete Guide to Magento 2 Product Import/Export

So, what is the main difference between importing simple products and configurable products to Magento 2 store? The answer is it is a much more difficult task to import a configurable product, due to the fact, those simple products should be assigned to it.

Let’s look through the two scenarios of configurable product import – native Magento 2 and with Improved Import & Export extension, to get a better understanding of the process.

Native Magento 2 import

Native Magento 2 configurable product import is not the thing you dive into right away. Before importing configurable products to Magento 2 store, I advise you try importing simple products first, to get to know the import process better.
So, what one needs to know before configurable product import:

  • You need to make sure that every imported product attribute already exists in your Magento 2 store. Otherwise, the import won’t be successful.
    To do this, navigate to Stores > Attributes > Products. Here, you need to create all the attributes for the products you are going to import. Be it electronics and voltage, or clothes and sizes. Every attribute matters, so take your time.
  • After the attributes are created, make sure to assign them to proper Attribute Sets at Stores > Attributes > Attribute Sets. And double check that in the import table you have assigned appropriate attribute sets.
  • Then, create necessary categories. That’s right; you cannot import products along with categories, Magento 2 won’t know where to put them. So, before the configurable product import, create all necessary categories, check the category paths and proceed.
  • Another important note: none of the products you are going to import should exist in your Magento 2 store. You cannot update products, you can only import configurable products and assigned simple products if neither exist in your product catalog.

Now, that we are done with the configurable product peculiarities, it is time to make sure the table matches the required Magento 2 CSV file format. You can read The Complete Guide to Magento 2 Product Import/Export to set proper formatting to the table.

By the way, you can always download sample Import files at the FireBear Studio GitHub. All the files in the GitHub come with default Magento 2 formatting, and you can use them as a starting point for the import procedure.

Additionally, we have composed and made available a Master Import table composed in the Google Sheets, where we have tried to gather all available product attributes that may be relevant to you during the import process. In the Master Import table, you can find the description of any attribute listed with the example of which values are supposed to go into the column. If you are new to the import procedure, this table will be of great help.

To learn more about the table watch the video introduction here:

Now, as for the Magento 2 import process. The Configurable Product import works on the following pattern:

  1. You need to have a table entry for a parent configurable product;
  2. You need to have table entries for all the associated child simple products;
  3. You need to tie child and parent products in the special columns only available for the configurable products.

With that said, let’s get to the depths of the import process and provide you with an example:

So, you want to import a shirt that has three colors: red, green, blue. These three colors are actually three simple products with the attribute ‘Color’ responsible for identifying the colors of these. All three simple products and a parent configurable product should have attribute color in their Attribute Set.

Next, when you are sure that you have created an Attribute Set with the attribute ‘Color’ in it, you need to compose a CSV file:

  • Three simple products: Red Shirt, Green Shirt, Blue Shirt;
  • One configurable product: Shirt.

The table in the CSV should look something like this.

Or you can look through this very table in the Master Table, sheet named Native M2 Conf Product Import.

In the Master Table you can also look through the specific configurable product attributes which are:

  • configurable_variations – Describes the values associated with a product variation. The value has the following format:
    sku={{SKU_VALUE}},attribute1={{VALUE}},attribute2={{VALUE}},default=1/0| For example: sku=sku-red xs,color=red,size=xs,price=10.99.
    The values are separated by a comma, multiple SKU values separated by |. Where:
    sku – SKU of a simple product assigned to the configurable
    attribute1/2 – values of the simple product attributes that are used to created configurable products variations, e.g. size, color.
    default – defines if the variation should be pre-selected when customer visits the configurable product page. Works only with Improved Configurable Products Magento 2 extension installed.
  • configurable_variation_labels – Labels that identify product variations. Basically, this is used to name the attributes for the frontend. Values: product_attribute=Name at the frontend. For example: color=Choose color,size=Choose size. Here we set attribute ‘color’ label to ‘Choose color.’ And attribute ‘size’ label to ‘Choose size.’ The values are separated by a comma.
  • associated_skus – Identifies the SKUs of the individual products that make up the group. This attribute is used to associate a simple product with Configurable and Bundle parents. The SKUs are separated by a comma.

As for the product attributes, and all possible attribute values that can be submitted to the import table I advise you to read more about Magento 2 native import procedure.

Now to the actual import procedure.

Step 1

Navigate to System > Data Transfer > Import.

This is the main screen from which you will be importing products to your Magento 2 store.

Step 2

In the Entity Type field select ‘Products. For the Import Behavior stick to ‘Add/Update.’ Click ‘Browse’ button at the Select File to Import to select the CSV table you want to import.

Step 3

Click orange ‘Check Data’ button at the top of the screen to see if the table meets Magento 2 requirements or contains any errors.

Step 4

Start import process by clicking ‘Import’ button.

That’s it; now you have just imported your first Configurable Product. Remember, that the values in the Master table can be expanded and you can always add more columns with relevant product attributes from the main table.

Try it, master it, and you will learn fast how to import products. If you have any questions – make sure to ask them in the comments section. We will be glad to assist you.

Improved Magento import

Now that you are familiar with the native Magento 2 import procedure it is time to introduce you a simplified way of importing configurable products to your Magento 2 catalog. With this extension you can create configurable products on the fly while only importing simple products.

I’m talking about Improved Import & Export extension. The extension represents an enhancement to the import process. It simplifies the product import, makes it more straightforward and overall reduces the time required to import products to your Magento 2 catalog.

The core features of Improved Import & Export extension are:

  • Full support of Google Sheets – export products, categories and other directly from the Google Sheets;
  • Import and Export job scheduling – schedule any number of jobs to run automatically with cron;
  • CSV, XML and TXT file format support – take advantage of any file format without converting the import table;
  • Configurable Products and product attributes can be created on the fly – no need to follow Magento 2 limitations. Upload and update existing products and create new product attributes while importing products;
  • Table and attribute mapping – you can map your table structure with the one required by Magento 2, and map any column names to match already existing attributes;
  • Orders, categories, product attributes, invoices, and shipping import and export procedures – import and export anything you need from your Magento 2 store.
  • Price adjustments of the imported products – increase or decrease the price of the imported products by a fixed or percent value and round the prices to .49 or .99.

Read Improved Import & Export manual.

Video introduction:

Google Sheet Master Table:

So, how the import process is different with Improved Import and Export extension? If you scroll back to the beginning of the Native Magento 2 import chapter, you will see four things that every Magento 2 store owner should be familiar with before attempting a product import. Well, that how the Improved Import & Export extension handles these:

  • You can import new product attributes along with the products. No need to create the attributes before the product import. Here you can read about how to compose new attributes.
  • You don’t have to add such attributes to the attribute sets, you can do this anytime after the import is done.
  • The categories still have to be created first, however, FireBear Studio is working on it.
  • You can import configurable products that already exist in your Magento 2 catalog.

That almost eliminates all the prerequisites for configurable product import procedure. Pretty impressive. With Improved Import and Export extension for Magento 2, you speed up the process and take advantage of other useful features that will transform your store management process in a matter of minutes.

Custom logic for creation of configurable products

Custom Logic is a part of the Import Job that defines the extension in terms of working with Configurable Products. The Custom Logic offer the store owner a set of different scenarios of how simple products can be assigned to the parent configurable product.

This section of the Import Job is what allows to skip a part of Magento 2 prerequisites to the Configurable Product import. Let’s break it down:

Create Configurable Products – this setting defines whether the parent configurable products should be created if you are only importing simple child products that have something in common. If you are importing simple products, and have a column where you specified the SKU of the configurable product, you don’t even have to spare a dedicated row in your table for a configurable product. This setting will create a parent configurable product automatically.

Configurable product conditions – what it does is it allows specifying the conditions on which child simple products can be assigned to the parent configurable.

  • Create config product by the same attribute of simple products – allows assigning simple products to a configurable product using dedicated column where the SKU (or any other recurring value) of the configurable product is specified.
    In other words: create a dedicated column, put SKU of a parent product to it. The extension will assign child product to configurable.
  • Create configurable products by custom rules (part of a line before/after delimiter) – allows assigning simple products using SKU (or any dedicated column), where the extension reads part of the value before/after delimiter (which is specified separately).
    In other words: select a column where simple products have a few words or symbols in common, and the extension will find such products and assign them to the configurable.
  • Create configurable products by custom rules (the number of characters from the beginning/end of the line) – allows assigning simple products using SKU (or any dedicated column), where the extension reads first/last N number of characters from the beginning of the line).
    In other words: select a column where simple products have a few words or symbols in common, and the extension will find such products and assign them to the configurable.

What these settings mean, is that to import and create a configurable product and assign child simple products to it, you will only need to use a SINGLE COLUMN. That’s right. You don’t need to use three columns as with Magento 2 native import.

Above at the screenshot, you can see a single column ‘group’ where I have specified the SKU of a parent configurable product. And a description available in the Master Google Sheet table.

Copying simple product attributes to configurables

When importing only simple products and creating configurable products on the fly, the configurable products will be created with only required attributes:

  • The sku of the configurable product will be generated automatically;
  • The price of the configurable product is not required as it is calculated depending on child products;
  • Attribute set of the configurable product will be the same as its child products have.

However, other attributes such as description, images, meta data will be blank.

To avoid this, and fill newly created configurable products with content you can use the Product attributes to copy value section of the custom logic.

In this section you specify the simple product attributes which values should be copied for the newly created configurable product. At the screenshot above we will be copying values of the ‘description’ attribute and ‘meta_title’ attribute of the simple product to the newly created configurable product.

The logic is the following: the attribute values of the first product in the table, that corresponds to the configurable product will be copied. Look at the table below

Here we have a column ‘group’ that is used in custom logic: Create config product by the same attribute of simple products. When creating the configurable products from this table the attribute values of the ABC-S-Gray attribute will be copied to the configurable product ABC, and values of the XYZ-M-Gray product will be copied to the configurable product XYZ. Because these products are the first.

Remember, only the values of the first products that match the conditions are copied to the configurable products.

Product Attributes for Variations

Now, another feature is Product Attributes for Variations table. It acts as a native Magento 2 attribute configurable_variations. Here you specify the attributes that should be used as filters for the configurable product. Remember sku=Shirt-Red,color=red? You don’t need it anymore, just specify the attribute you want to use and hot ‘Import’ button.

At the screenshot above, instead of specifying all the references in the table, I have selected two attributes in two seconds.
The only thing left is to run the Import Job and check the product catalog for newly imported configurable products.

And that’s it for the improved Configurable Product import process. As you can see, it is much more convenient and straightforward than a native Magento 2 import process. So, whether you are new to Magento 2, or are experienced store owner, you can take full advantage of the extension to utilize your Magento 2 store potential to the fullest extent.

Services Offered

As for the services offered with the FireBear Studio extensions you can always count on the following:

  • Free installation of the extension
  • Assistance with setting up and configuring the extension;
  • Assistance with Google Sheet and XML file setup for Improved Import and Export extension;
  • Assistance with complex import procedures, and mapping of the import tables;
  • Free consultations on any FireBear extensions and extension workflow.