You can import all your products along with their variants and categories from any other Ecommerce platform or from any inventory managing software that allows you to export your product list as CSV. Unlike standard CMS item import which requires manual mapping of fields, product import is automatic in that it maps the fields for you.
In this lesson:
- Get your product list in CSV format
- Download our products CSV template
- Understand the structure of the CSV template
- Adapt your exported product list to the CSV template
- Upload your CSV file
- Troubleshoot common product import issues
Before you begin with this lesson
Get your product list in CSV format
First, you’ll need a list of all your products in CSV format. You can save, download, or export your database from the platform where you manage your inventory. You can also manually create a list and save it as CSV.
Product types
There are currently 4 product types to choose from:
- Physical: shipped to the customer (e.g., merchandise, apparel)
- Digital: immediately downloadable by the customer (e.g., audio files, ebooks)
- Service: don’t require shipping at checkout (e.g., classes, consultations)
- Advanced: provide all available customizable options
Depending on the product type you assign, shipping and download fields will automatically show or hide.
Shipping fields are:
- Shipping required
- Width
- Weight
- Height
- Length
*Shipping information will/won’t be collected based on the value of the Shipping required field. Read about how to configure orders that don’t require shipping for more information.
The default visibility settings for each product type are as follows:
Physical (Requires shipping field defaults to Yes)
- Hidden: Download fields
- Visible: Shipping fields
Digital (Requires shipping field defaults to No)
- Hidden: Shipping fields
- Visible: Download fields
Service (Requires shipping field defaults to No)
- Hidden: Download fields, shipping fields
- Visible: None
Advanced (Requires shipping field defaults to Yes)
- Hidden: None
- Visible: Download fields, shipping fields
Migrating from another online Ecommerce platform
If you’re migrating from another Ecommerce platform, follow your platform’s guide on exporting products to get the CSV file.
Resources
- Exporting products from BigCommerce
- Exporting products from Ecwid
- Exporting products from Adobe Commerce (previously Magento)
- Exporting products from Shopify
- Exporting products from Squarespace
- Exporting products from Weebly
- Exporting products from Wix
- Exporting products from WooCommerce
Exporting data from an inventory software
If you’re exporting from a POS or other inventory management tool, search the help documentation of your software to find the guide for exporting your products in CSV format.
Exporting data from a spreadsheet interface
If your product list exists in an Excel file, a Google Sheet, a Numbers file, or any other spreadsheet program, you can export/save/download that file as a CSV file. Just follow the guide provided by your software/app to grab a copy of your product list.
Resources
- Save an MS Excel file as CSV (comma delimited)
- Download a Google Sheet as comma-separated values .csv
- Export a Numbers spreadsheet to CSV
- Download Airtable records in a view to CSV
Creating a product list manually
If you do not have a way of exporting your product list in CSV format or you want to manually create a database of your products, you can do so either directly in the Webflow product manager or using any spreadsheet interface like Google Sheets, MS Excel, Numbers, or Airtable to create a spreadsheet with the columns representing the fields and rows representing the products and their values.
- To add products manually in Webflow, check our guides on that specific topic: adding products and categories
- To create a new spreadsheet and export it as CSV, start with our CSV template and follow the sections below to create a database that’s compatible with our requirements.
Download our products CSV template
Open your project in the Designer, go to Ecommerce → Products, and click the import button. In the modal that appears, click to download our CSV template.
Understand the structure of the CSV template
To ensure that you don’t run into any errors during the import process, first make sure your CSV data is formatted correctly and it can be mapped to the right field type. Follow the guidelines below when creating your own database spreadsheet:
Must know
Column headers and entries must match the standard formatting in the template file.
Product Handle (required)
The product handle, or slug, is a text string that’s unique for each product. It’s usually the same as the name of the product only with spaces substituted with dashes.
Type: slug
Example: stacys-pink-donuts
Resulting URL: mywebsite.com/product/stacys-pink-donuts
Maps to field: slug
To pass validation, this field must:
- not be empty
- be unique for each product
- be not longer than 256 characters
- only contains letters, numbers and dashes, and doesn’t contain any spaces or other special characters
- be in English characters. Non-English characters will be converted to latin characters.
Need to know
Any capital letters in the slug will be converted to lowercase
If a product with the same handle already exists in your products collection, the new item from your CSV won’t be uploaded
Product Name (required)
This is the name of the product.
Type: Plain text
Example: Stacy’s pink donuts
Maps to field: Name
To pass validation, this field must:
- not be empty
- be unique for each product
- be no longer than 256 characters
Product Description
The description of the product without any formatting.
Type: plain text
Example: You must try Stacy’s pink donuts! These raspberry donuts just melt in your mouth and transport you to Heaven and back. Made with the most delicious raspberries, these donuts are filled with raspberry jam, coated with raspberry cream and sprinkled with shredded coconuts, pistachios, or sugar sprinkles.
Maps to field: Description
Product Categories
The category or categories the product belongs to.
Type: semicolon-separated text string
Example: glazed donuts; filled donuts; fruit donuts
Maps to field: Categories
Creates: a new category if the category doesn’t exist
Product Taxable/Product Tax Class
Specifies if the product is taxable or not taxable.
Type: true or false (switch)
Example: False
Maps to field: Charge sales tax on this product
To pass validation, value must be blank or any of the following:
- True
- Yes
- Taxable-standard
- False
- No
- exempt
- standard-taxable
- standard-exempt
- books
- books-religious
- books-textbook
- clothing
- clothing-swimwear
- digital-goods
- digital-service
- drugs-non-prescription
- drugs-prescription
- food-bottled-water
- food-candy
- food-groceries
- food-prepared
- food-soda
- food-supplements
- magazine-individual
- magazine-subscription
- service-admission
- service-advertising
- service-dry-cleaning
- service-hairdressing
- service-installation
- service-miscellaneous
- service-parking
- service-printing
- service-professional
- service-repair
- service-training
Need to know:
- blank values default to: taxable
Variant Price (required)
The current price of the product or variant
Type: Number
Example: 49.99
Creates: new variant
To pass validation:
- Must be only an integer or a decimal number
- Must not contain a currency unit or symbol
Compare-at price
The old price of the product, before sale
Type: Number
Example: 58
Creates: new variant
To pass validation:
- Must be only an integer or a decimal number
- Must not contain a currency unit or symbol
Variant Inventory
This is the stock quantity field. It enable inventory tracking as well.
Type: Number
Example: 50
Creates: new variant
To pass validation:
- Must be only an integer
- Must not contain a currency unit or symbol
Option1 Name
If a product has more than one option set (color, size...), then enter the name of that option set.
Type: Plain text
Example: Size
Creates: variant
Option1 Value
If a product has an option, then enter its value (blue, medium, XXL...).
Type: Plain text
Example: Mini
Creates: variant
Option2 Name
If a product has a second option set, then enter its name.
Type: Plain text
Example: Topping
Creates: variant
Option2 Value
If a product has a second option, then enter its value.
Type: Plain text
Example: Sugar sprinkles
Creates: variant
Option3 Name
If a product has a third option set, then enter its name.
Type: Plain text
Example: Filling
Creates: variant
Option3 Value
If a product has a third option, then enter its value.
Type: Plain text
Example: Raspberry jam
Creates: variant
Main Variant Image
This is the URL for the product image. Webflow downloads the images during the import and re-uploads them into your store.
Type: URL
Example: https://cdn.sai.website-files.com/5c5c66ea0a3f27bc39bf5e24/5c63f4869b9111bfde2e5b0b_800.jpg
To pass validation, this field must:
- be a direct URL — a link that ends in a supported image file extension
Need to know:
- Only supported image file types will be imported into your collection
- Images will be uploaded and hosted by Webflow
- These images are not variant-specific. Variant images should be specified in the specific variant images field/column.
- You can't change the image filename after that image has been uploaded to your store.
- Don't upload images that have _thumb, _small, or _medium suffixes in their names
Variant SKU
The SKU of the product or variant.
Example: 001789-DONUT-PINK
Variant Weight
The weight of the product or variant without units. The units are specified you want to use in your Ecommerce settings. You must use accurate weights if you intend to offer weight-based shipping.
Type: Number
Example: 38
Variant Length
Type: Number
Example: 5
Variant Width
Type: Number
Example: 5
Variant Height
Type: Number
Example: 1
Adapt your exported product list to the CSV template
You can use a spreadsheet editor like Google Sheets to update your CSV to meet the requirements. For example, the price value is required and it should be a number without the currency unit.
Upload your CSV file
Once your file is ready, head back to the Designer and go to Ecommerce → Products and import your CSV file. The system will import your CSV and try to automatically map all the default fields including variants and categories. You’ll be notified once the process is completed and if there were any issues during the importing or mapping process.
Must know
Currently, mapping to custom fields is not supported.
Mapping categories
If a category exists (same slug or name), it will be mapped to the existing category. If the category doesn’t exist, a new category will be created.
Troubleshoot common product import issues
If there are any issues in uploading, you’ll get a notification that will let you know how many products and variants were important and which were not. You’ll be able to download a text file with the import errors. If any line in the CSV has a problem, then the entire product and its variants get skipped. For example, if a variant has a non-numeric price, then the entire product and all its variants get skipped.
If there are any issues during upload, download the import errors log to fix the issues with your CSV file.