Product CSV column descriptions

Descriptions of the columns for the products CSV file.

To import products into Shopify using the Transporter app, you need a CSV file that contains only this record type.

CSV sample file

Download the sample product CSV file: products.csv.

You can use the Transporter command-line tool to generate this CSV file or you can follow the format described below to create it yourself.

Column descriptions

The following table describes the column headers for the CSV file.

Table describing individual CSV column headers
Column Description
Handle
(Required)
The unique identifier for the product. Specify a human-friendly string with no spaces. Usually the handle is the product's title in lowercase with any spaces and special characters replaced by hyphens (-). For example, titan-t-shirt). The handle appears in the URL for the product page in your online store (for example, https://titan.plus/products/titan-t-shirt). This column is required.
Title
(Required)
The name of the product. For example, Titan t-shirt. This column is required.
Body A description of the product. You can add HTML formatting tags in this description. For example, "You'll be sure to turn heads in this t-shirt made of <b>100% cotton</b>".
Vendor The name of the product's vendor. The default value is the name of your store. For example, Titan Incorporated.
Type You can use the product type as a condition for an automated collection, or to help you filter your products in the Shopify admin. A product can have only one product type.
Tags A string of comma-separated tags that are used for filtering and search. Each comma-separated tag can have up to 255 characters. For example, "Emotive, Flash Memory, MP3, Music". The default value is "".
Template Suffix The suffix of the Liquid template that your online storefront will use to display the product and its variants. The default template is named product.liquid, without any suffix. To use this default template, leave the column empty. To use a different template, enter the name of the template's suffix. For example, if you want to use a template named product.mysuffix.liquid, then enter mysuffix.
Published Scope

Indicates whether the product is available to the Shopify POS (point of sale) channel. Valid values:

  • web - the product is not available to the Shopify POS channel.
  • global - the product is available to the Shopify POS channel. This is the default value.

Values are case sensitive.

Published Whether the product is available to the online store. Valid values:
  • true - the product is available to the online store.
  • false - the product is not available to the online store (When this column is set to false, then do not specify a value for Published At.

Values are case sensitive.

Published At The date and time (ISO 8601 format) when the product was made available to the online store. For example, 2007-12-31T19:00:00-05:00. Do not specify a value for this column when Published is set to false.
Option1 Name The custom product property name. For example, Size, Color, and Material. Maximum length: 255 characters.
Option1 Value The value of the custom product option. For example small, red, and wool.
Option2 Name The custom product property name such as Size, Color, and Material. Maximum length: 255 characters.
Option2 Value The value of the custom product option.
Option3 Name The custom product property name such as Size, Color, and Material. Maximum length: 255 characters.
Option3 Value The value of the custom product option.
Variant SKU A unique identifier for the product variant in your store. If your store uses a fulfillment service (that is, Variant Fulfillment Service is included), then this column is required. For example, IPOD2008PINK
Metafields Global Title Tag The name of the product (including its variants) used for SEO purposes. If you do not provide a value, then by default the value in the Title column is used. The Metafields Global Title Tag value appears in the meta title tag (<meta name='title'>) in the product's page in your storefront. If your product has variants, then include information about the variants in this title (as there isn't a separate meta tag for a variant). Maximum: 70 characters.
Metafields Global Description Tag The description of the product (including its variants) used for SEO purposes. If you do not provide a value for this column, then by default the value from the Body column is used. The Metafields Global Description Tag value is used in the meta description tag (<meta name='description-of-product'>) in the product's page in your storefront. If your product has variants, then include information about the variants in this description (there aren't separate meta tags for variants). Maximum: 320 characters.
Metafield Namespace A container for a set of metafields. To import metafields, you need to include values in the following 4 metafield columns: Metafield Namespace, Metafield Key, Metafield Value, and Metafield Value Type. You should define a custom namespace for your metafields to distinguish them from namespaces used by apps and Shopify (including the default global). Maximum length: 20 characters.
Metafield Key The name of the metafield. This column is required when other metafield columns are included. Maximum length: 30 characters.
Metafield Value The information to be stored as metadata. This column is required when other metafield columns are included.
Metafield Value Type The metafield's information type. Valid values:
  • string
  • integer
  • json_string

Values are case sensitive. This column is required if other metafield columns are included.

Variant Grams The amount that the product variant weighs in grams. If you leave this column empty, then by default its value is set to 0. Don't include the weight unit (g) in this value. For any weight measurements other than grams, use the Variant Weight column instead. Don't use the Variant Weight Unit column with this column.
Variant Inventory Tracker Describes how the inventory for the product variant is tracked. Valid values:
  • Shopify - Inventory quantity changes are tracked by Shopify.
  • fulfillment-service-handle - Inventory quantity changes are tracked outside of Shopify by a fulfillment service. The value in this column needs to match the value in the Variant Fulfillment Service column.

Values are case sensitive.

Variant Inventory Qty The amount (positive integer) of the product variant that is available for sale. For example, 5. The default is 0. If you leave this column empty, then its value is set to 0. If your inventory is not tracked by Shopify (that is the Variant Inventory Tracker column is set false), then leave this column empty. Inventory quantity will be applied to the store's default location. For information on altering inventory quantities at different locations, see Exporting or importing inventory with a CSV file.
Variant Inventory Policy Whether customers can place an order for the product variant when it's out of stock. Valid values:
  • deny - Customers cannot order the product variant if it's out of stock. This is the default value.
  • continue - Customers can order the product variant if it's out of stock.

Values are case sensitive.

Variant Inventory Cost A record of the cost of the product variant.
Variant Fulfillment Service The fulfillment service that fulfills the product variant when it is ordered. Valid values:
  • manual - You manually fulfill orders for the product variant. This is the default value. If you leave this column empty, then it is assigned this value by default.
  • handle of the fulfillment service - A fulfillment service fulfills the orders for the product variant. If you use a fulfillment service, then also need to include the Variant SKU column.

Values are case sensitive.

Variant Price The price of the product variant.
Variant Compare At Price A comparison or suggested price of the product variant.
Variant Requires Shipping Whether the variant needs to be shipped. Valid values:
  • true - the customer needs to provide an address when they order this product variant. This is the default value.
  • false - a customer address is optional.

Values are case sensitive.

Variant Taxable Whether a tax is charged when the product variant is sold. Valid values:
  • true - tax is charged. This is the default.
  • false - taxes are not charged.

Values are case sensitive.

Variant Barcode The barcode, UPC, or ISBN number for the product variant.
Image Attachment A Base64 encoded image.
Image Src

The URL for the product image (for example, http://titan.plus/images/product-image.png). Non-HTTP URLs are not supported. The Transporter app will download the images during the import and upload them into your store. Images can be in .png, .gif or .jpg format. After the image is uploaded, its filename cannot be changed. If you have variant-specific images, then add them to the Variant Image column.

To upload multiple images for a single product, create a new row for each image. In each row, enter the handle for the product in the Handle column and the URL for the image in this column. To include any of the other information for that image (for example, its position), enter the information into the associated image column.

Image Position Enter the number that represents the order in which you want the image to appear on the product's page in your storefront. For example, enter 1 if you want the image to appear first for that product.
Image Alt Text Alternative text that briefly describes the image. If an image can't load for any reason, then the alt text is shown in your storefront instead. Alt text is also used by search engines for SEO and by assistive technologies to describe an image to a customer who's visually impaired. Maximum: 512 characters.
Variant Image The URL for image of the product variant. In one of the product variant's rows, enter the URL for the product variant image in this column. A product variant can only have one image.
Variant Weight The amount that the product variant weighs. Do not use this column with the Variant Grams column. The default value is 0. Do not include the weight unit in the value. Use the Variant Weight Unit column to specify the weight unit. For example, if the product weighs 100 pounds (lb) and Variant Weight Unit is set to lb, then enter 100 in this column.
Variant Weight Unit The unit of measurement that applies to the product variant's weight in the Variant Weight column. Valid values are g, kg, oz, and lb. The default value is your store's default unit of measurement. Do not use Variant Weight Unit with the Variant Grams column.
Variant Tax Code The Avalara tax code for the product. This parameter applies only to stores that have installed the Avalara AvaTax app. For example, the physical good tax code is P000000.

File names

The name of your CSV file must include the word product (the name of the object type that it contains). For example, myproducts.csv. The file needs to be in UTF-8 format.

Multiple product variants

If you have more than one product variant, then you need to create a row to describe each variant.

In the product row:

  • Enter the option names in the option name columns (for example, enter Color in Option1 Name).
  • Enter the details that apply to the overall product, such as Handle, Title, and Type.

In the product variant rows:

  • Enter the product handle in the Handle column.
  • Do not repeat the option names (for example, Option1 Name, Option2 Name) in the product variant rows.
  • Enter the option values in the option value columns (for example, if you entered Color as your name in Option1 Name, then in Option1 Value you can enter values such as White, Black, or Blue).

For example:

Screenshot of a product with multiple variants

Multiple images

To upload multiple images for a single product (that has no variants), create a row for each image. In each row, enter the handle for the product in the Handle column and the URL for the image in the Image Src column. To include any of the other information for that image (for example, its position), enter the information into the associated column (for example, into the Image Position column).

To upload images for a product that has product variants, create a row for each product variant. In each product variant row, enter the handle for the product in the Handle column and the URL for the product variant in the Variant Image column. You can only import one image per product variant.

For example:

Screenshot of a product that has multiple images and multiple product variants

Multiple metafields

To import multiple metafields for a single product, create a row for each metafield. In each row, enter the handle for the product in the Handle column, and metafield data in the appropriate columns. Each new line should contain information only in the Handle column and all metafields columns.

For example, the following will import one product with 3 variants. The product has 2 metafields called Surf Shoe Co and Rubber. Each variant has a single metafield.

Screenshot of a product that has metafields variants

You can download and view a sample CSV file of a product with multiple metafields to use as a template.

Ready to start selling with Shopify?

Try it free