Bulk Import Products in Shopify Using CSV Template

For those of you who don't want to manually import all your products, you may not know it but Shopify has a function to allow you to bulk import products from a .csv file. 

This operation being really useful, there are unfortunately not many places where you can easily see how to input every product information so that you can successfully upload. For this reason, I have created this tutorial that will run you through it step by step.

Import Products in Bulk Shopify


First of all, you will have to request the sample Shopify .csv file.  This file has all the necessary columns already named and make the process easier for you.


To fill out the product import template with your information, you will have to account for the data that you input as well as the way you are inputting it. If your products don't have any variants, filling the .csv will be a lot easier.  The logic goes like this: 

  • If the product don't have variants - 1 ligne per products
  • If the product has variants - Multiple lines per products

    Before I explain how to organise the multiple lines for the different variants, let's run through each column making sure we understand the relevant information that goes into it.


    Following we have detailed each column name explaining the information that is needed. Not all columns are required to be filled, this simply depends on the type of product you have and how you are selling them.

    • Handle

    The handle is the unique name for each of your product. They are used in the CSV also when you have multiple lines for the same product (for variants or if you have many images for the same product). Because the variant is the exact same one, Shopify will know the information needs to be added under the same product. 

    If the title of your product is "Test T-Shirt", the handle would usually be named as "test-t-shirt".  Handle can contain letters, dashes and numbers but no spaces.

    • Title

    Will be the title of your product as displayed on the product page. It could be Test "T-Shirt"

    • Body (HTML)

    The body will be the description of your product. You would usually simply add plain text there, although if you wish to place titles or subtitles before having the plain text, some tricks will need to be applied (really basic HTML coding)

    Step 1

    As you see the description under the "ADD TO CART" have different title formatting. To reproduce this, here is what you would need to add into the Body (HTML) case of this product line. 

    <h1>This would be a title</h1>

    <h3>This would be a subtitle</h3>

    <p>I would then have the plain text here to describe the product...</p>

    Basically the <h1> tag reference to the big title, <h3> to a subtitle, and <p> is the general text, known as paragraph.

    • Vendor

    It would be the name of your store if the products are all yours. If you are re-selling products of different stores you would assign a specific name to it.

    • Type

    The type of product. This is similar but different to a collection. Here the type could be a T-Shirt.

    • Tags

    You can list the relevant tags in a comma-separated list like "blue, t-shirt, sales". Tags are often used to sort or apply filters to products. Usually, good tags would be the variants of the products (like colour, size, etc..)

    • Collection

    This is where you need to add the collection name where you want your product to appear.

    • Published

    Defines whether your product will be published (visible) or not (hidden from the store). To make it visible, set the value to "TRUE" if you wish to hide it temporarily, set the value to "FALSE".

    • Option 1 Name

    If your products have variations this is where you will be able to add the name of the first option. If for example, you have different sizes for your product you would then input "Size" there. 

    • Option 1 Value

    This is the value of your first option. It could be "Small" or "Medium" or "Large" (for example).

    Step 2

    If you have many different sizes (ex: you are offering small, medium and large)

    You will have to input your size as shown on the image and make sure you keep the same Handle on the first column so Shopify will know those size variations are to be associated to this same product.

    • Option 2 Name

    If you have another option (variation) to your product (ex: colour), you will have to indicates its name there.

    • Option 2 Value

    Adding the option value could be (Red, Blue, Black, etc...). Note that you have to respect typical formatting when doing this, see as follow.

    Step 3

    As you can see, the "OPTION 1 VALUE" have been multiplied. As we have added 3 different colours "Red, Blue, Black" we had to multiply each option 1 value by 3 so we can have a combination for each. 

    - A small red t-shirt  

    - A small blue t-shirt

    - A small black t-shirt

    - etc...

    • Option 3 Name

    Option 3 could be the material of the product for example. 

    • Option 3 Value

    The value could then be "Cotton", "Linen", "Wool", etc... 

    Keep in mind that if you add a material to be chosen, we will have to multiply the Option 1 Value as well as the Option 2 Value so each combination can be created! See as below...

    Step 4

    • Variant SKU

    The SKU is a single code (made of letter and or numbers). This is the way for you to track inventory. If you are working with a supplier for your products, they should already have an SKU linked to the products in which case you will use that one. If you are manufacturing your own products, simply create a single SKU for each product.

    • Variant Grams

    Simply add the weight of your product in grams WITHOUT adding any unit of measurement, ONLY the number!

    • Variant Inventory Tracker

    If you track your inventory (meaning that your stock will decrease each time someone buys a product), you will need to add "Shopify" as a value. 

    If you don't want to track your inventory, simply leave blank.

    • Variant Inventory Qty

    It is the number of product or variant that you have at that stage when importing your products.

    • Variant Inventory Policy

    Here you will specify the way Shopify should react when you are out of this product. Meaning that if the stock has reached 0, should the customers still be able to purchase products or not. 

    If you wish to block the customers from buying more when our of stock input is: "deny".

    If you wish to allow people to keep buying even when out of stock, the input will be: "continue".

    • Variant Fulfilment Service

    The general value to input would be "manual". Meaning that you will manually mark the item as fulfilled when you have dispatched the order.

    • Variant Price

    This is the price of the variant. WITHOUT any currency!

    A correct value would be "9.90". 

    A wrong value would be "$9.90"

    • Variant Compare At Price

    The compare at price of a variant or product is the price as "discounted". Once again don't place any currency there, only the value.

    • Variant Requires Shipping

    If you ship your items to the customers the correct input will be "TRUE"

    If you don't, simply input "FALSE"

    • Variant Taxable

    If you want to add taxes at the checkout for this variant the input should be "TRUE"

    If all the taxes are included in the product price, the input will be "FALSE".

    • Variant Barcode

    If you are using Shopify POS and selling your product in brick and mortar stores as well, you will want to add the barcodes, ISBN or UPC of the variants/products so each time someone buys either online or in the store, the inventory will be tracked correctly.

    • Image src

    To add the image source on the spreadsheet, you will have to upload it in your Shopify admin first. 

    To upload a file, from the home page in the admin, select "Settings" (bottom left corner), then click on "Files". See as below the page where you should now be.

    Step 5 The Image Scr should look like this:



    You will paste the entire link into the .CSV file. Each product will have their own image link(s). If you have more than 1 image for a product, you will have to add each image src links under different raws and make sure to duplicate the product handle on the first column so Shopify knows those images are to be imported under the same product.  


    Step 6

    This is how you should paste the link into your .csv Spreadsheet.

    • Image Alt Text

    The text that describes an image. Useful if an image cannot be displayed or a screenreader passes over an image—the text replaces this element.

    • Gift Card

    States whether the product is a Gift Card or not.

    • Google Shopping/MPN

    The MPN, or Manufacturer Part Number, is a string of alphanumeric digits of various lengths (0-9, A-Z).

    • Google Shopping/Age group

    What age group does this product target? Valid values are "Adult" or "Kids" only.

    • Google Shopping/Gender

    What gender does this product target? Valid values are "Female", "Male", or "Unisex".

    • Google Shopping/Google Product Category

    Google has a proprietary set of product categories. The full list is quite large to allow merchants to be specific to their target audience. You can upload any value you want using the CSV file, however, if your language format does not match Google's full product taxonomy, you might not be able to publish the products to Google.

    • SEO Title

    The SEO Title is found on a product's details page under the Search engine listing preview header in the Page title field. The SEO Title has a character (letters & numbers) limit of 70.

    • SEO Description

    The SEO Description is also found on a product's details page under the Search engine listing preview header in the Meta description field. The SEO Description has a character (letters & numbers) limit of 160.

    • Google Shopping/Adwords Grouping

    This is used to group products in an arbitrary way. It can be used for Product Filters to limit a campaign to a group of products, or Product Targets to bid differently for a group of products. You can enter any "string" data (letters and numbers).

    • Google Shopping/Adwords Labels

    Can be left blank.

    • Google Shopping/Condition

    Can be left blank.

    • Google Shopping/Custom Product

    Can be left blank.

    • Google Shopping/Custom Label 0

    Can be left blank.

    • Google Shopping/Custom Label 1

    Can be left blank.

    • Google Shopping/Custom Label 1

    Can be left blank.

    • Google Shopping/Custom Label 2

    Can be left blank.

    • Google Shopping/Custom Label 3

    Can be left blank.

    • Google Shopping/Custom Label 4

    Can be left blank.

    • Variant Image

    After having uploaded your images (as explained above) you can copy and paste the link of your Variant image in this case of the CSV file. The Variant image is the specific image for a variant. If you have a white t-shirt and black t-shirt, you can copy paste the image link of the white t-shirt to the correct variant. This would only work if you have pictures for all of your variants. 

    • Variant Weight Unit

    The values you can use here are "lb" or "kg"


    If you are facing any trouble, please submit your enquiry to our Shopify expert team



    To upload your CSV into Shopify, from the admin, go into the "products" tab. 

    You will then: 

    1. Click on "Import" in the top right corner.
    2. Choose the file to be imported.
    3. If you want to erase the similar product that is already in the store but where the information isn't correct, you will have to select "Overwrite existing products that have the same handle".
    4. Otherwise, leave it blank and click on "Upload File". 
    5. You should then see something like below.

    Step 7

    Click on "Start Import". 

    Shopify will then start importing your products. Depending on the quantity you have, this could take up to an hour. 

    Once done, you should receive an email from Shopify with a summary of the number of products successfully imported and the ones that have been dismissed because there were some errors in the CSV file. 

    Your Shopify product import csv template hasn't uploaded well?



    • There are no comments yet. Be the first one to post a comment on this article!

    Leave a comment

    Please note, comments must be approved before they are published