Magento’s (now Adobe Commerce) product catalog is extremely robust, but setup is key to any successful eCommerce site. If you find yourself fumbling trying to get data loaded remember sometimes less is more; if you are new to the platform take it slow and in pieces. Below we will break catalog imports into easier to digest pieces.
We won’t tell you this is the end all guide to data in the platform, but this will hopefully save you some time in your journey to becoming a Magento Data Guru. You can get tripped up if you don’t know the proper formats, required fields, and naming scheme.
If you do get into a pickle, and need some help, we offer a variety of Data Services to help make your data migration easier. Let’s dive in with the the first thing you need to do with your import; building your file.
There is no better place to start than with the learning where to import/export data. We always recommend setting up a few of your own products manually to see how they look after exported. This will give you a template to work off of for your other products.
If you follow the basic downloaded format, and save your file as .CSV UTF-8, you should be able to import without issues. Most newer editors like Excel, OpenOffice Calc, etc. will allow you to save into .CSV UTF-8.
If you are still working in Magento 1, it may have issues with files coming out of Excel that are UTF-8. I would recommend contacting us for a migration to Magento 2 (LOL – its time to upgrade!) or use OpenOffice Calc.
Now that you have the standard file layout, we will focus on the fields that are required, and those that are recommended, to get the most out of your data . File Headers will always be lowercase, and Magento will use (_) for spaces in header names; not all fields in the catalog file are needed to create products. Updating products only require sku and whatever attributes you are wanting to update. Here is a simple, and clean, product import example. Everything in Green is a required field. Everything in Yellow is a nice to have fields. Red item is a custom attribute. You can see that the custom attributes can be loaded in an individual column. We would not recommend adding the additional_attributes in a single column, as it can get messy! Configurable product imports can be tricky to build, but once you have a method of creating the data, they can be managed via imports quite easily. We always recommend setting up a couple of your own products manually to see how they look after exported. This will give you a solid template to work from. The main configurable product will follow the same scheme as the simple products import, but there are three main differences in the layout: Everything in green is a required field, while the red items are there for you to see the relation in the data. Remember, you can import data in pieces, as long as sku is at the beginning of your import. We have found that it is easier to build all simple and configurable products together in a single file, but we will load the configurable_variations and configurable_variations_labels separate like in the screenshot below. This may seem like an extra step, but remember, all it takes is a missing comma or pipe and you will be digging through data trying to clean up your files or your database. Like the other pieces of data previously discussed, its easier to manage data imports if you do them in pieces. This is important if you are also importing images via url, as your server will have to ingest the image from another server. The connection to the 3rd party server can cause your issues with your imports such as the lack of file permissions or session timeouts. If you are trying to do everything in one large file, you might be be able to track down if the import issue was related to formatting or server issues. Everything in green below is a required field, while the yellow items are nice to have. You can have different images for base_image, small_image, and thumbnail_image, or they can be the same. We have seen clients use lifestyle images used for small_image throughout the categories, but base_image be the product on white background. If you use separate images for each they will still be available in the media gallery along with any other additional_images. When loading additional_images, make sure you separate each with a comma. We typically break out inventory imports separately, as most people will want to automate this process in a live site by using flat files and a cron job or api. There are a lot of different inventory related fields, but we will cover the three main fields to consider if you are managing inventory. Sku and qty are pretty self explanatory, but the is_in_stock flag is important to consider here. If you are importing values, and not updating this flag, it is possible to see an item with stock that is flagged Out of Stock unable to be purchased. A value of 1 indicates In Stock and value of 0 indicates Out of Stock. There are tons of errors you can run into when importing data into Magento. As mentioned above, always start with a working example by downloading a sample file, or exporting manually created products, so you can work off properly formatted file. Below are a few errors you might encounter in file creation: Error: Product Type – this normally occurs when you are missing required fields or records are not properly formatted. Error: Column Name – this will happen if the attribute you are trying to import isn’t setup properly in Store > Attributes > Product Error: Attribute Value – this will happen if the values you are trying to import aren’t setup in the product attribute. This will occur with attributes that are not text values (e.g. dropdowns, multi-select, etc). Also remember that values need to identical to how they were setup including spelling, case, spacing, etc. Error: URL key – this will occur if you trying to import records with URLs that have already been created. URLs need to be unique. A quick fix would be to add unique identifier to url_key like the sku. As mentioned above if you are importing just the name it will also trigger url_key creation, so it is a good idea to make sure you are import name + url_key to prevent errors like this. Data can be extremely frustrating. 121eCommerce offers a variety of Data Services not limited to Extraction, Transformation, & Loading. Adobe Commerce & Magento are the most flexible and scalable platforms in the market. Supported by the largest marketplace and open-source community, you can find a variety of connectors or solutions. If you are looking to connect your CRM, ERP, or PIM check out our integrations page. We have a variety of partners we work with and experience needed to help with any project.Fields And Formats Matter
Simple Product Imports
Configurable Product Imports
Base Image Imports
Product Inventory Imports
Troubleshooting Errors
Product Data Integrations