If you created your catalog on a separate BigCommerce store for testing or customization, the Import/Export tool allows you to quickly migrate much of your product data to a different store. This is done by creating a custom export template and exporting a CSV file from the store where your catalog is located, referred to as the source store, and importing the file into the store where you want to transfer your catalog, referred to as the destination store.

Note that this chapter assumes that your source store uses the legacy Import/Export tool while your destination store uses the modern Import/Export tool, and that both stores are on the Products v3 experience. See the following articles for other catalog migration scenarios:

If you are transferring products from a store on the Products v2 experience, we recommend using the Catalog API.

Requirements

In order to transfer products from one store to another, you must have the following permissions enabled in the user account used for logging in to your source and destination stores:

  • Manage Products
  • Import Catalog Entities
  • Export Catalog Entities

In your source store, you will need to create a specialized export template which uses the proper column headers format for the modern Import/Export tool and excludes unsupported fields.

Since you are transferring your catalog to a store on the modern Import/Export experience, your products and complex attributes must meet the requirements for importing new products with the modern tool.

 

Videos cannot be exported using the legacy Import/Export tool. You must manually include them in the CSV file after exporting products, or add them while editing products in the control panel.

 

What to Consider Before Transferring Your Catalog

Before following the instructions in this article, review the following considerations to ensure a successful catalog migration:

  • Save a copy of the original export file, and save additional copies as you reformat your products, variants, and images. This is imperative to ensure you have backup copies of the information in case you run into any errors or missing/malformed data.
    • Note that the transfer process will not affect the live catalog of your source store.
  • This process requires extensive reformatting work in your CSV file. If possible, we recommend enabling Multi-Storefront on your source store and using the steps in Transferring Products from One Modern Import Store to Another instead, as this requires less work to accomplish.
    • If you are comfortable with the API, you can use GET requests instead to obtain catalog data from your source store, reformat them to remove incompatible IDs, and POST them to your destination store. See the Dev Center for more information.
      • This also allows you to transfer data that can’t be imported with the modern tool, such as modifier options and product files.
  • Another option that requires less work in reformatting data is to only export the base product information from your source store. This can be done by making the following changes to your custom export template:
    • Uncheck Include Product Options to exclude variants from the CSV file
    • Omit any image columns in the export template
    • You can then export your source store’s catalog without having to reformat variants and images, import it to your destination store, and then add complex attributes to your products in the control panel.
  • To familiarize yourself with the process and reduce the likelihood of import errors, practice these steps with a single, simple product before transferring your whole catalog.
  • Your source store must remain live (not down for maintenance or in pre-launch mode) in order for product and variant images to be successfully imported into the destination store.
  • If you have existing products in your destination store, make sure that the names, SKUs, and URLs of the products in your CSV file are not already taken. Those products will fail to be created upon import, and they won’t update any existing products unless you’ve included the product ID on the corresponding row.
  • Rule rows in your CSV file that do not have an assigned SKU correspond to modifier option rules on the product. These cannot be imported using the modern Import/Export tool. Remove these rows before importing the CSV file into your destination store.
  • If you are using ShipperHQ in your source store, you will need to install ShipperHQ in your destination store and connect it to your ShipperHQ account in order to successfully transfer any Shipping Groups, Origin Locations, and Dimensional Rules via CSV import.
  • The following product attributes cannot be imported using the modern Import/Export tool:
  • You can use the Catalog API to gather all product attributes from your source store and recreate them in your destination store. There are also apps that allow you to transfer your product reviews and Price Lists.
 

Creating a Custom Export Template

Before exporting products from your source store, you must create a custom export template. Configuring a specialized template significantly reduces the amount of formatting required in the CSV file by omitting unsupported product attributes and column header names present in the default export templates.

To create a custom export template for transferring products, go to SettingsExport templates in your source store’s control panel and click Create an Export Template.

Create a custom export template in your control panel

Give the template a name that indicates what you are using it for, such as Catalog Transfer. In the list of Export Options, uncheck all export types except Enable Products Exporting.

A custom export template for product exports, given the name Catalog Transfer

In Field Formatting Options, select True or False from the Boolean Format. This ensures that the values in Boolean fields like Show Product Condition and Is Visible will use the correct format for the modern Import/Export tool. All other field settings can be left alone.

The template's Boolean Format setting, configured to display Boolean values as True or False

If you are transferring products with variants, make sure that Include Product Options is checked in Product Export Options. Note that product modifier options cannot be imported or exported in either experience.

The checkbox setting to include product options in the CSV file

In Advanced CSV Export Settings, select Create one row per sub item from the Sub Items dropdown. This serves to make it easier for you to reorganize product image data like image descriptions and sort order in the CSV file, as each field is placed in its own column and products with multiple images have rows for each image after the first. All other advanced settings can be left alone.

Set sub items to display on individual rows to make it easier to format your data

Navigate to the Products tab of the Edit page, and uncheck the following fields. Leaving them in the CSV file will cause import errors.

  • Calculated Price
  • Product Inventoried
  • Product Not Visible
  • Allow Purchases
  • Product Availability
  • Minimum Purchase Quantity
  • Maximum Purchase Quantity
  • Brand + Name
  • Tax Provider Tax Code
  • Redirect Old URL
  • Option Set
  • Option Set Align
  • Stop Processing Rules
  • Product Image ID
  • Product Image File
  • Product Image Path
  • Category Details (and all sub-items)
  • Product FIles (and all sub-items)
  • Event Date Required
  • Event Date Name
  • Event Date Is Limited
  • Event Date Start Date
  • Event Date End Date
  • MYOB Asset Acct
  • MYOB Income Acct
  • MYOB Expense Acct
  • Date Added
  • Date Modified

The remaining fields can be imported using the modern Import/Export tool, but you can exclude any non-required fields as desired.

You must rename the following columns to import them successfully with the modern Import/Export tool. Keep in mind that these names are case-sensitive.

Default Field NameChange to:
Item TypeItem
Product IDID
Product SKUSKU
Product NameName
Category StringCategories
Stock LevelCurrent Stock
Low Stock LevelLow Stock
Track InventoryInventory Tracking
Product VisibleIs Visible
Fixed Shipping PriceFixed Shipping Cost
BrandBrand ID
Product UPC/EANUPC/EAN
Product Tax ClassTax Class
Product Custom FieldsCustom Fields
Product Image URLImage URL (Import)
Product Image DescriptionImage Description
Product Image Is ThumbnailImage is Thumbnail
Product Image IndexImage Sort Order
Product TypeType
Global Trade Item NumberGlobal Trade Number

Enable, disable, and rename product fields in the custom template

Save your export template after making your changes. If you’re ready to export your catalog, you can select Export Products from the Action dropdown next to your new template, and then follow the instructions in the next section.

The Export Products action in your custom template's Action menu

 

Exporting Your Products

After creating your custom template, you’re ready to export your products to a CSV file.

In your source store’s control panel, navigate to ProductsExport. If you are practicing with a single product or you don’t want to transfer your entire catalog, you can export a subset of products instead. Note that if your source store uses the single-channel or multi-channel product list, the actions for filtering and exporting products from the list may differ slightly.

On the Export products page, select your custom template from the Template list. Make sure that the file format is set to Export as csv, then click Continue.

The custom Catalog Transfer template selected for exporting products, and the file format set as CSV

In the pop-up window, click Start export to generate the CSV file. When it’s ready, click Download my Products file. It will save the file to the location preset in your browser (usually the Downloads folder).

The pop-up window where you can download your CSV file

 

Formatting the CSV File for Import

After downloading the CSV file of products and opening it in your preferred spreadsheet program, you will need to adjust the data in your CSV file to match the format of the modern Import/Export tool. We’ve broken down the formatting tasks into the following sections:

Base Products

The attributes of your base products are listed in the Product rows of the CSV file. Certain fields must be edited in order to meet the formatting requirements of the modern Import/Export tool.

PRODUCT ID

In the ID column of your CSV file, remove all ID values, but do not remove the column itself. This is required to successfully import products in your destination store.

The CSV export file, with all product IDs removed

You may notice multiple rows in your CSV file with duplicate product information. The custom template exports each of a product’s images in a separate row, copying the product information and displaying unique information in the image fields. For now, adjust only the base product listed in the first row where the data appears. The other rows will be edited when you are ready to reformat your images.

CATEGORIES AND BRANDS

If you want to assign your products to categories or brands during import, remove the existing values in the Categories and Brand ID columns and replace them with the appropriate IDs in your destination store. Note that categories and brands cannot be created via import, and must already exist in your destination store before assigning them in the CSV file. Separate multiple category IDs with a semicolon (;).

The Categories and Brand ID fields in the CSV file, displaying IDs instead of category and brand names

 

Need help locating category or brand IDs? See the Table of Supported Fields for information on how to identify IDs for these CSV fields.

Another option is to leave the Brand ID and Categories columns blank or remove the columns entirely, then manually assign them to your products in your control panel after importing. You can use Bulk Edit to assign multiple products at a time to brands and categories.

STOREFRONT CHANNELS

If you want to assign your products to channels (storefronts) during import, create a new column and give it a header of Channels. This is case-sensitive. In the corresponding Product rows, enter the channel IDs that you want to assign the product to, separating multiple IDs with a semicolon.

The Channels column added to a CSV file

Similar to brands and categories, you can omit the Channels column from your CSV file and manually assign products to storefront channels in the control panel. This can be done directly from the product list.

INVENTORY TRACKING

In the Inventory Tracking column, change the following values to assign the correct inventory tracking logic to your products:

  • none — leave this as-is
  • by product — change to product
  • by option — change to variant

The Inventory Tracking column in the CSV file, with its values reformatted for the modern experience

FEATURED PRODUCTS

The Is Featured column isn’t available in legacy export templates, but you can add a column to your CSV file and give it the header of Is Featured. This is case-sensitive. The Is Featured field uses TRUE/FALSE values to indicate whether or not a product is featured.

The Is Featured column added to the CSV file, with TRUE or FALSE values

TAX CLASS

The Tax Class field uses the tax class’s ID instead of its name. While the default tax class always has an ID of 0, your source and destination stores may have additional tax classes with different IDs. Use one of the following methods to gather the tax class IDs from your destination store, so that you can assign them to your desired products in the CSV file:

  • Export a subset of products that are each assigned to a different tax class in your destination store, and copy the tax class IDs from the CSV file.
  • Use an API request to get all tax class information from your destination store.

You can also remove the column to assign all products to the default tax class, and then update product tax classes individually in the control panel.

CUSTOM FIELDS

By default, the legacy Import/Export tool does not assign IDs to existing custom fields. However, you will need to edit the custom fields in the CSV file to match the format used by the modern tool.

 Legacy FormatChange to:
TemplateName of custom field=Name of value;Name of custom field #2=Name of value #2[{"name":"custom field name 1","value":"custom field value 1"},{"name":"custom field name 2","value":"custom field value 2"}]
ExampleColor=Blue;Material=Cotton[{"name":"Color","value":"Blue"},{"name":"Material","value":"Cotton"}]

PRODUCT TYPE

In the Type column of the CSV file, replace the "P" value with "Physical", and the "D" value with "Digital" to ensure that the item type is imported properly.

The Type column of the CSV file, displaying the Product Type format for the modern experience

Variants

The legacy Import/Export tool separates variant information into SKU and Rule rows in the CSV file. Apart from the variant image URL (located in the Image URL (Import) column), all information in Rule rows are also present in the SKU rows.

Variant attributes in a legacy CSV file, separated into SKU and Rule rows

 

Why are there Rule rows in the CSV that don’t list a SKU? These rows are for rules that correspond to modifier options on your product, which cannot be imported using the modern Import/Export tool. Remove them from the CSV file before importing it to your destination store.

In the Item column, change the SKU value to Variant. This is case-sensitive. If you haven’t already, remove all values in the ID field of your variant rows.

Variant rows with their ID values removed

By default, variant option information, such as the option type and values, populate in the Name column of the CSV file. These must be relocated and reformatted for a successful import.

Add a column and give it a header of Options. This is case-sensitive. Move the option values from the Name field to the Options field in your Variant rows, then edit the information to match the formatting in the modern experience.

The Options values of variant rows in a CSV file, formatted for the modern import experience

 

Pro Tip! Use your spreadsheet program’s Find and Replace tool to quickly update the option type, name, and value formatting.

Variant-specific information, such as price, weight, and stock levels, is already present in the Variant row, and does not require any reformatting. If a variant’s price or weight is the same as the base product, those fields will be blank in the Variant row.

To format variant images for import, add a new column and give it a header of Variant Image URL. This is case-sensitive. In the Rule rows of the CSV file, copy the image URLs found in the Image URL (Import) fields, and paste them into the Variant Image URL field of the corresponding Variant row. Linked Variant and Rule rows have matching SKUs.

Cutting and pasting a variant's image URL to the Variant Image URL field

After relocating your variant images, remove all Rule rows from your CSV file.

Images

To reformat a product’s image data, create a row underneath the product and give it an Item value of Image. This is case-sensitive.

An Image row in the CSV file, underneath the corresponding Product row

In the new row, move the information in the following fields from the Product row to the image row:

  • Image URL (Import)
  • Image Description
  • Image is Thumbnail
    • Note that this is a Boolean (TRUE/FALSE) field. Replace "1" with "TRUE" and "0" with "FALSE".
  • Image Sort Order
  • If left blank, it will automatically be assigned a value of 0.

The new Image row with its attributes added to the correct fields

If you’ve exported your catalog with the custom export template, products with multiple images are organized with each additional image after the first one in its own Product row.

A product with two images, displayed in the CSV file as two separate rows

To reformat these rows, change the Item value in these rows to Image, then remove all other values from the rows’ fields, except for the following:

  • Image URL (Import)
  • Image Description
  • Image is Thumbnail
  • Image Sort Order

Videos

Since the legacy Import/Export tool does not support product videos, you must manually add video attributes to your CSV file. See the chapter on Importing Complex Attributes for requirements and instructions on creating new videos via CSV import.

 

Importing the CSV File to Your Destination Store

After you’ve reformatted the CSV export file and saved your changes, log in to your destination store’s control panel to import your products.

Navigate to ProductsImport and select your CSV file for upload. Since you will be importing new products to your store, Overwrite existing products can be left either checked or unchecked.

Drag and drop your CSV file to upload it to your store

Click Preview to view the details of the first product in the CSV file. This is a good time to cross-reference the values on the Preview page with the formatting instructions discussed above. If you need to make any adjustments, edit your CSV file and click Change file on the Preview page to re-upload it.

The Preview page, displaying the first product in your CSV file, and the option to change the file if needed

Click Start import to begin importing products to your destination store. When the import is complete, review the import summary to confirm that all products in the CSV file were created in your destination store, as opposed to updating existing products or being ignored during import.

The Import summary page, displaying a successful import with no errors

If any errors appear in the error log, resolve them in your CSV file and then click Start new import to import it again.

 

Before re-importing your CSV file, remove any products that were successfully created in the previous import Since these products now exist in your destination store’s catalog and have unique IDs, importing them again will cause duplicate product errors.

Once you’ve successfully imported all products from your source store, click View product list to view your newly transferred catalog and add any data that could not be exported from the source store.