Your Step-by-Step Beginner’s Guide — by Friendly Marketer
Running an online store is exciting. But adding hundreds of products one-by-one? That’s exhausting 😩.
If you’re selling:
- T-shirts in different sizes and colors
- Digital products like eBooks or software
- Physical goods like electronics, supplements, books, etc.
…then this guide will show you how to upload everything at once using WooCommerce’s bulk product upload system.
Even if you’ve never used Excel or don’t know what a CSV is, you’ll be able to follow this guide easily.
Let’s dive in. And yes — I’ve included free templates, examples, and pro tips I’ve used with over 200+ clients.
What is a CSV and Why Do You Need It?
CSV stands for Comma-Separated Values. It’s just a fancy way to say “spreadsheet you can open with Excel or Google Sheets.”
Each row = 1 product
Each column = product detail (like Name, Price, SKU, etc.)
WooCommerce lets you upload this CSV file to create all your products in one shot.
Step 1: Download the Bulk Product Upload Template
Here’s what the file looks like:
Name | SKU | Type | Description | Regular price | Sale price | Images | Categories | Stock | Attributes |
---|---|---|---|---|---|---|---|---|---|
Men’s T-Shirt | TSHIRT-001 | variable | 100% Cotton Tee | https://yoursite.com/images/tshirt1.jpg | T-Shirts, Men | Size, Color | |||
Men’s T-Shirt S | TSHIRT-001-S | variation | Size Small | 499 | 399 | https://yoursite.com/images/tshirt1-s.jpg | 50 | Size=S, Color=Black | |
Men’s T-Shirt M | TSHIRT-001-M | variation | Size Medium | 499 | 399 | https://yoursite.com/images/tshirt1-m.jpg | 50 | Size=M, Color=Black |
We’ll explain each of these in a moment.
Step 2: Understand the Key Columns in the CSV
Here are the most important columns (and what they mean):
Column | What it Means |
---|---|
Name |
Product title (e.g., “iPhone 15 Pro Max”) |
SKU |
Stock Keeping Unit. Unique code for tracking inventory. |
Type |
Use simple , variable , or variation |
Description |
The full product description |
Regular price |
Normal selling price |
Sale price |
Discounted price (optional) |
Images |
Link to product image (use full URLs). You can add multiple images too. |
Categories |
Which category the product belongs to |
Stock |
Quantity available |
Attributes |
Only used in variations (e.g., “Size=S, Color=Red”) |
🛍 Step 3: Uploading Simple Products (Straightforward Case)
Let’s say you’re uploading a digital product, like an eBook.
Name | SKU | Type | Description | Regular price | Images | Categories | Stock |
---|---|---|---|---|---|---|---|
Yoga eBook | EBOOK101 | simple | Learn yoga in 7 days | 299 | https://yoursite.com/img/yoga-ebook.jpg | Health, eBook | 9999 |
Pro Tip:
Make sure the image URL is publicly accessible and ends in .jpg
, .png
, or .webp
.
Step 4: Uploading Variable Products (Sizes, Colors, etc.)
Now the real deal: Variable Products!
Let’s say you’re selling a T-shirt in 3 sizes: S, M, and L.
a. Create the Parent Product
Name | SKU | Type | Description | Attributes |
---|---|---|---|---|
Men’s Tee | TSHIRT001 | variable | 100% Cotton T-Shirt | Size, Color |
- This parent product has no price or stock
- You must list all the attributes you’ll use in the variations
b. Create the Variations Below It
Name | SKU | Type | Regular price | Stock | Attributes | Images |
---|---|---|---|---|---|---|
Men’s Tee – S Black | TSHIRT001-S-BK | variation | 499 | 50 | Size=S, Color=Black | https://yoursite.com/img/tee-s-black.jpg |
Men’s Tee – M Black | TSHIRT001-M-BK | variation | 499 | 60 | Size=M, Color=Black | https://yoursite.com/img/tee-m-black.jpg |
Men’s Tee – L Red | TSHIRT001-L-RD | variation | 499 | 40 | Size=L, Color=Red | https://yoursite.com/img/tee-l-red.jpg |
✅ All SKUs must be unique
✅ The “Type” for variations must bevariation
✅ The parent product MUST come first in the CSV
Step 5: Adding Multiple Images
Want to show more than 1 image per product?
Use comma-separated image URLs like this:
https://yoursite.com/img/main.jpg,https://yoursite.com/img/side.jpg,https://yoursite.com/img/back.jpg
Add this to the Images
column. WooCommerce will automatically assign the first image as the main image, and the rest as gallery images.
Step 6: Uploading the CSV to WooCommerce
- Login to WordPress → Dashboard
- Go to Products > All Products
- Click on Import
- Choose your completed CSV file
- Click Continue
- Map each column (usually WooCommerce auto-maps it for you)
- Click Run the Importer
- Wait a few seconds… and done! 🎉
You’ll now see all your products neatly listed.
Step 7: Updating Products in Bulk (Prices, Stock, Images)
If you want to edit existing products:
- Go to Products > All Products
- Click Export
- Make your changes in Excel (price, stock, etc.)
- Go back to Import, upload the edited file
- Important: Tick the box “Update existing products” during import
Common Errors to Avoid
Mistake | How to Fix It |
---|---|
Image not showing | Make sure URL is public and ends in .jpg/.png |
Wrong variation structure | Always put parent product first with type = variable |
Duplicate SKU error | Ensure each variation has a unique SKU |
Categories not appearing | Use existing categories or ensure exact spelling in CSV |
Attribute mismatch | Don’t write “Size=S,Color=Red” without defining the attribute in parent row |
Tools to Make Life Easier
- Google Sheets – Open CSV and edit online
- Bulk Image Hosters – Use sites like Imgur or your own WordPress Media Library
- WP All Import (Pro) – Great for more advanced users who want drag-and-drop CSV import
Need Help Uploading 100+ Products?
If this still feels overwhelming, don’t worry. I can do it for you.
Send a mail to – Kaushik@friendly-marketer.com
💡 Final Thoughts from Friendly Marketer
Bulk uploading saves time. A lot of time.
Once you master this, you’ll wonder why you ever did it manually.
Whether you’re launching a 10-product boutique or a 10000-product catalog, WooCommerce can handle it — and you don’t need to be tech-savvy.
If you’re stuck, I’m just a message away. Let’s build your store, your way — with less effort and more results.