eCommerce has a built-in product CSV Importer and Exporter.
Import, export, or update hundreds or thousands of products in your eCommerce store with a single CSV. This tool supports most product types, including variations.
- First-time store owners get started more quickly by exporting and importing products during setup.
- Existing store owners can update tens or hundreds of products with new info or place them on sale, or sync multiple storefronts.
Create your CSV #
What CSV editors do you recommend? #
We recommend using:
- Online spreadsheet editor Google Drive / Docs
- Free spreadsheet app in OpenOffice
- Free Calc app in LibreOffice
- Numbers for macOS
If possible, avoid Microsoft Excel due to formatting and character encoding issues.
How to create the CSV? #
To import new products or update existing products, you need a CSV containing your product information. You can:
- Export a CSV of products from an existing store.
- Use your own CSV. Any information you wish to include should follow the formatting and columns of the Product CSV Import Schema.
If using the built-in eCommerce Product CSV Importer and Exporter tool to export a CSV, it already follows the schema and is ready to use. If using the blank and formatted CSV file, it also follows the schema; just be sure to enter the info as instructed at Product CSV Import Schema.
General guidelines #
- CSVs should be in UTF-8 format.
- Dates should be defined for the store’s local timezone.
- Use 1 or 0 in your CSV, if importing a Boolean value (true or false)
- Multiple values in a field get separated with commas.
- Wrapping values in quotes allows you to insert a comma.
- Prefix the id with id: if referencing an existing product ID. No prefix is needed if referencing an SKU. For example: id:100, SKU101
- Custom meta is supported/imported but only plain text – no support for JSON or Serialized data.
- Taxonomy term hierarchy is denoted with >, terms are separated with commas.
- Draft products are not exported, only published and privately published products.
- It is not possible to assign a specific post ID to product on import. Products will always use the next available ID, regardless of the ID included in the imported CSV.
Images #
- Images need to be pre-uploaded or available online to import to your store.
- External URLs are supported and imported into the Media Library if used, provided the images are directly accessible and not behind a redirect script (as happens on some cloud storage services).
- You can define the filename if the image already exists in the Media Library.
Import #
Adding New Products #
First-time and existing store owners using eCommerce can use the CSV to add new products with one upload.
1/ Go to: eCommerce > Products.
2/ Select Import at the top. The Upload CSV File screen displays.
3/ Select Choose File and the CSV you wish you use.
CSV delimiter (Advanced option): Generally CSV elements are separated by a comma. If you are using a different delimiter in your file, you can set it here.
4/ Continue.
The Column Mapping screen displays, and eCommerce automatically attempts to match or “map” the Column Name from your CSV to Fields.
5/ Use dropdown menus on the right side to adjust fields or indicate ‘Do not import.’
*Any unrecognized columns will not be imported by default.
6/ Select Run the Importer.
7/ Wait until the Importer is finished. Do not refresh or touch the browser while in progress.
Update Existing Products #
Store owners can use the CSV Importer tool to update existing products with new info, e.g., Adding a brand, changing a tax class, bulk-update for a special sale or event, etc.
1/ Make a CSV file as indicated in Create Your CSV, using the IDs and/or SKUs of products you wish to update.
The importer uses the ID and/or SKU to auto-match and auto-update whatever info you enter on each line.
2/ Go to: eCommerce > Products.
3/ Select Import at the top. The Upload CSV File screen displays.
4/ Select Choose File and the CSV you wish you use.
5/ Tick the checkbox for Update Existing Products.
6/ Continue.
The Column Mapping screen displays, and eCommerce automatically attempts to match or “map” the Column Name from your CSV to Fields.
7/ Use dropdown menus on the right side to adjust fields or indicate ‘Do not import.’
*Any unrecognized columns will not be imported by default.
8/ Select Run the Importer.
9/ Wait until the Importer is finished. Do not refresh or touch the browser while in progress.
Converting existing simple product to variable product #
Store owners can use the CSV Importer tool to convert the existing simple product to a variable. In order to do that, the following steps need to be taken:
1/ Create a simple product that has a price and SKU.2/ Export product via built-in CSV Exporter on the All Products page.3/ Open CSV file and convert the simple product to a variable. Steps that need to be taken for it (for example to convert to a variable product with 1 attribute and 2 variations):
- Add 2 new rows
- Add 4 new columns after the last column:
- Attribute 1 name
- Attribute 1 value(s)
- Attribute 1 visible
- Attribute 1 global
In our case, we are adding Size variations so our new 4 columns look as follows:
- Change the type of the product from simple to variable and add type variation to variation rows (2 new rows that you created). Add SKU to variation rows. Give it a name as well. It looks like this in our example:
- Update the following columns as well (and any other columns if needed):
- Very important – add SKU to all fields in the Parent column – this is to map parent product with its variations:
4/ Save a new CSV file.
5/ Import the updated CSV file back to the site using built-in CSV Importer on All Products view.
6/ Select to update existing products before import since we want to update theexisting product on the site:
7/ Proceed with import (nothing to be mapped).
8/ You will see the following which is expected:
9/ Navigate to the product. You will see that it is now variable and has 1 attribute added but no variations were created. Note that Used for variations checkbox is not selected. This is also expected:
10/ Next, open the CSV file again (the one where you already created rows for variations) and delete the parent product row. Leave variations rows without changes:
11/ Save the updated CSV file.
12/ Next, import updated CSV file to the site but this time don’t select the box next to Update existing products:
13/ Proceed with import (no fields need to be mapped). You should see that variations have been imported:
14/ After completing the import, navigate to the product. It should now be a variable product with variations:
Export #
Store owners wishing to export their current catalog of products for any reason can generate a CSV using the Product Importer/Exporter.
1/ Go to: eCommerce > Products.
2/ Select Export at the top. The Export Products screen displays.
3/ Select to Export All Columns. Or select which columns to export by using the dropdown menu.
4/ Select to Export All Products. Or select which product types to export by using the dropdown menu.
5/Select to Export All Categories. Or select which categories to export by using the dropdown menu.
6/ Tick the box to Export Custom Meta, if you need this info.
Meta data on your products is typically from other plugins. Meta data columns are exported following the meta:-prefix standard detailed above in the importer mapping section. By default, no additional meta data is exported.
7/ Select Generate CSV. Wait for the export to finish.
8/ Exit the exporter.
FAQ #
Is it possible to add custom import columns? #
Yes. Feel free to visit the eCommerce repo at GitHub to see the custom code at Adding Custom Import Columns.
Is it possible to add custom export columns? #
Yes. Feel free to visit the eCommerce repo at GitHub to see the custom code at Adding Custom Export Columns.
Why aren’t all my products exported? #
Previous to eCommerce 3.6.5, only products with a status of ‘publish’ or ‘private’ were exported, not those in ‘draft.’ If you want to change that, there’s a filter you can use, but this would require custom coding, which we can’t provide assistance with.
Why aren’t all of my products imported? #
Previous to eCommerce , only products with a status of ‘publish’ or ‘private’ were imported, not those in ‘draft.’ As of eCommerce 3.7, CSV product import now allows true/false values for the published field, as well as the original 0 (private), -1 (draft), 1 (publish) values.
#
How to increase the CSV import maximum size? #
The Maximum size value is set at the server level. To increase the maximum file size, please contact your hosting company. As a workaround, you can split the CSV into multiple parts to upload separately.