Import products and variants

Import products, variants, and categories in bulk using a CSV file.

ecommerce
This video features an old UI. Updated version coming soon!

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:
  1. Get your product list in CSV format
  2. Download our products CSV template
  3. Understand the structure of the CSV template
  4. Adapt your exported product list to the CSV template
  5. Upload your CSV file
  6. 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:

  1. Physical: shipped to the customer (e.g., merchandise, apparel)
  2. Digital: immediately downloadable by the customer (e.g., audio files, ebooks)
  3. Service: don’t require shipping at checkout (e.g., classes, consultations)
  4. 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 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

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.

A link to download Webflow CSV template is highlighted on the Upload CSV modal window. There is also a section where you can drag and drop a CSV file. A cancel button is at the bottom right corner of the window.

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.