I am trying to import product with CSV in Magento2. In the first case, all attributes are default attributes so import works fine.

Now In the second case I have added some custom attributes in my Magento 2.2 and added them to the attribute set, and with that attribute set, I have created the product manually from the backend. Now I have exported that product to view the format of CSV file.

In that I found one thing, My all custom attributes were in one column called "additional_attributes".

So my question is while importing products Do I have to add my all custom attributes under "additional_attributes"?

Or How May I import my custom attributes values?

6 Answers 6

  1. Upload from the default CSV generated by Magento

Yes, you need to fill all your custom attributes into the single-column named additional_attributes_code.

Just simply put all your custom attributes in the following way into the column with the name additional_attributes_code into your imported CSV file.


After this simply upload your CSV file.

  1. Upload with some changes into the CSV generated from the Magento

You also can create different columns with the attribute_code of your custom attributes & fill the data into it & upload the file. It will work with it as well.

Note: First upload a single product manually & download the CSV file from your admin & do corrections into it only & use only that file for uploading/Updating the products.

I will recommend the First one because as of you will have more no. of attributes & more no of attribute sets you to need to insert more no of columns into your CSV file so better would upload it into a single column it will reduce your time for this data entry stuff as of you are using CSV upload for that intention only.

Hope This will help!

Thank You!

  • But is there any alternative for this ? Like in magento 1.X we were able to upload directly with attribute names. Nov 13, 2017 at 5:44

I have made one more test case and tried to upload with the name of attribute in csv. Instead of "additional_attributes" I have directly added name of a column and tried to upload value of a custom attribute and it worked.

So both ways are working. we can specify under "additional_attributes" as well as we can directly give attribute name to upload value of custom attributes.

  • Wish if you have included some screenshots. I think your answer is good because it covered both scenarios. May 20, 2018 at 3:14

Yes, you have to add all custom attributes under additional_attributes column.

See below image

enter image description here

  • Is attr1 the attributes code, or the attributes name? May 20, 2018 at 3:13
  • attr1 is attribute code May 21, 2018 at 4:15
  • should i use the "add/update" behavior or "replace" behavior? I used "add/update" but it created a new item with the same sku. I'm worry if the "replace" behavior will erase all other attributes values. Thanks! Mar 26, 2019 at 0:39
  • @KrisWen If you choose "Replace", it will delete the old product and regenerate the same product with a different id. Mar 26, 2019 at 4:39
  • @DineshYadav I'm trying to update the additional_attributes only without deleting the sku and recreate it. how do I achieve it? I try usingadd/update using the same sku in first column and addtional_attributes in 2nd, but it recreate the same sku. thanks Mar 26, 2019 at 5:52

I know I am late, but I found a way that is slightly weird way to import configurable products but it works!

  1. Make attribute options before adding product: example; Attri 1, Attri 2, Attri 3, -> make it Required value -> save you don't have to set it in any attribute list.
  2. Make a configurable product and while making the configurations through attribute, add only 1 option. All options should be selectable but dont! Only "Attri 1" in this case. Noww add price and quantity, set it to 1 both, we are gonna change this anyway. Save.
  3. Go back to product with "Attri 1", there is now a Add products manually -> Import your products and automatically bind it to a value you just made:

Add a column and use the same Attribute Code, find this at the options in your made attribute. Overview:

Attribute code: attri_i_made_up Values: Attri 1, Attri 2, Attri 3,

In your import document:

Column name you want products to be connected to: attri_i_made_up Column values:

  • Row 1: Attri 1
  • Row 2: Attri 2
  • Row 3: Attri 3

Additional important stuff:

  • Values in import csv and backend magento should match 100% or its gonna screw you.
  • Open the import document with notepad++ to check field separator.
  • If products don't stay in the configurable product you probably have a mismatch of values.
  • The error message always excludes row 1: Row 23 has some errors -> its row 24 in your csv.
  • Delete products you don't need or if you have a ruined import that added -2 -3 SKU's.

I bet I could have explained this way better but hey I'm in a hurry to import products!


Maybe a little late to the show, but if you are, like me, struggling with custom attributes not being imported (and apparently ignored by magento) make sure, the additional attributes column is not quoted in the csv. If this collides with other fields that have to be quoted in your import, consider to import the additional_attributes separately in a csv-file only consisting of the column "sku" and the column "additional_attributes" with comma-separated attributes within. (use a semicolon as field separator in the csv)


According to:

You also can create different columns with the attribute_code of your custom attributes & fill the data into it & upload the file. It will works with it as well.

I have create my csv file like this:



; - is a field separator

| - separates values of multichoice_attribute

Every value on both attributes had been successfully imported.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.