A Guide to Bulk Product Importing and Setup
Use this guide to ensure your product CSV file is filled out correctly before importing into WooCommerce. Accurately completing this process is crucial to avoid errors and ensure your products display properly. Each row in the CSV represents either a single product or a product variation.
Simple Products: Each simple product will have its own row with a unique SKU.
Variable Products: These are more complex. They consist of a main “parent” product and several “child” variations (e.g., a T-shirt in different sizes and colors).
The parent product requires its own SKU and acts as a container. Each variation (e.g., Small, Blue) needs its own row and a unique SKU. To link these variations to their parent, you must use the parent product’s SKU in the ‘Parent’ column for each variation row.
Recommendation: For variable products, it’s best practice to establish a clear SKU system. For example, use a base SKU for the parent (e.g., TSHIRT-01) and append identifiers for each variation (e.g., TSHIRT-01-S-BLU). This ensures every product and variation has a distinct identifier, simplifying inventory management and preventing import conflicts.
Parent Product ID
Used to connect product variations to a main variable product. Leave blank for simple products. Only needed for variation rows. The Parent Product ID should match the main variable product’s Product ID.
Example:
| Product | Product ID | Parent Product ID |
|---|---|---|
| Hoodie (Variable Product) | 1001 | |
| Hoodie – Small / Black | 1002 | 1001 |
Product ID: Unique product ID. Can usually be left blank when importing new products and will generate it automatically. Used mainly when updating existing products. Example: 1001
SKU: Stock Keeping Unit — a unique inventory tracking code. Each product or variation should have its own SKU. Avoid duplicate SKUs.
Example: TSHIRT-BLK-M, HELMET-WHT-L
Title: The product name customers see on the website. Keep titles clear and descriptive. Example: OBOR Rocscraper Tire - 32x10R15
Tags: Keywords used for filtering, searching, and organizing products. Separate multiple tags with commas. Tags are optional.
Example: off-road, utv, tire, radial
Short Description: A brief summary displayed near the top of the product page or on shop/category pages.
Best for: key features, quick highlights and short sales copy. Example: 8-ply radial tire designed for aggressive off-road terrain.
Long Description: The full product description shown lower on the product page. Can include: features, specifications, fitment information, installation notes, warranty details.
Example: The Tensor Regulator 2 is built for extreme off-road performance with reinforced sidewalls and improved traction in rocks, sand, and mud.
Product Type: Defines the type of WooCommerce product being imported.
Common values:
| Product Type | Meaning |
|---|---|
simple | Standard standalone product |
variable | Product with options like size or color |
variation | Individual variation tied to a variable product |
grouped | Collection of related simple products |
external | Product sold on another website |
Pricing & Inventory
Regular Price: The normal selling price. Numbers only. Do not include currency symbols. Example: 249.99
Sale Price Optional discounted price shown during sales. Leave blank if not on sale.
Must be lower than Regular Price. Example: Regular Price: 249.99 | Sale Price: 219.99
Stock Qty.: Number of items currently available in inventory. Example: 25
Stock Status: Shows product availability.
Common values:
| Value | Meaning |
|---|---|
instock | Available for purchase |
outofstock | Currently unavailable |
onbackorder | Can be ordered when inventory is depleted |
Physical Properties
Weight (lbs): Product weight used for shipping calculations. Enter numbers only. Measured in pounds. Example: 12.5
Length (in): Product length in inches.
Width (in): Product width in inches.
Height (in): Product height in inches.
Media / Images: Additional product image URLs or filenames. Separate multiple images with commas. These become the product gallery images.
Example: image1.jpg, image2.jpg, image3.jpg
OR https://yourdomain.com/image1.jpg, https://yourdomain.com/image2.jpg
Featured Image: The main product image customers see first. Usually the primary product photo. Can be a filename or full image URL.
Example: main-product-image.jpg
Attributes (For Variable Products): Attributes are used to create product options such as Size, Color, Bolt Pattern, etc.
Attribute 1 Name: Name of the first variation option. Examples: Size, Color, Wheel, Diameter
Attribute 1 Value(s): Available choices for Attribute 1. Separate multiple values with a “pipe” symbol “|” Example: Small | Medium | Large
Attribute 2 Name: Name of the second variation option. Example: Color
Attribute 2 Value(s): Available choices for Attribute 2. Example: Black|Blue|Red
Product Categories: Used to organize products on the website. Separate multiple categories with commas. Can include parent and child categories.
Example: Tires, UTV Tires
Category Tag: Optional identifier or keyword associated with the category. Useful for: Internal organization, Filtering, Advanced imports
Example: offroad-tires
Category Parent: Defines the parent category to create category hierarchy.
Example:
| Category | Parent |
|---|---|
| UTV Tires | Tires |
Category Description: Description text shown on category archive pages.
Example: Browse premium UTV tires designed for mud, rocks, dunes, and desert racing.
Category Image: Image assigned to the product category, usually an: Image filename
Full image URL: Example: utv-tires-category.jpg
ORhttps://yourdomain.com/uploads/utv-tires-category.jpg
Understanding Attributes & Variations in WooCommerce
In WooCommerce, Attributes and Variations work together to create product options for customers. They are closely related and are often considered part of the same setup process for variable products.
What Are Attributes?
Attributes are the option categories assigned to a product. They define what choices a customer can select from. Think of attributes as the labels or option groups customers choose from.
Common examples include:
| Attribute Name | Attribute Values |
|---|---|
| Size | Small, Medium, Large |
| Color | Black, Red, Blue |
| Bolt Pattern | 4×156, 4×137 |
| Wheel Diameter | 14″, 15″, 17″ |
What Are Variations?
Variations are the individual purchasable combinations created from those attributes.
Each variation can have its own:
SKU
Price
Stock quantity
Weight
Image
Shipping dimensions
How Attributes Become Variations
When importing a Variable Product, WooCommerce uses the attribute values to generate or identify the available product variations.
Example: A product called: OBOR Tire
Could use these attributes:
| Attribute | Values |
|---|---|
| Size | 30″, 32″, 35″ |
| Color | Black, Red |
WooCommerce then creates variations such as:
30″ / Black
30″ / Red
32″ / Black
32″ / Red
35″ / Black
35″ / Red
Each of these combinations becomes its own variation product.
Why Attributes and Variations Are Often Treated as the Same Thing
In WooCommerce imports, attributes and variations are tightly connected because:
Attributes define the available options.
Variations are built from those options.
Without attributes, variations cannot exist.
For this reason, many CSV imports treat attribute setup and variation setup as part of the same workflow.
Simple Example CSV Structure Parent Variable Product
| Product Type | Title | Attribute 1 Name | Attribute 1 Value(s) |
|---|---|---|---|
| variable | Logo Hoodie | Size | Small|Medium|Large |
Variation Rows
| Product Type | Parent Product ID | SKU | Attribute 1 Value(s) |
|---|---|---|---|
| variation | 1001 | HOODIE-S | Small |
| variation | 1001 | HOODIE-M | Medium |
| variation | 1001 | HOODIE-L | Large |
Important Notes
Variable products require at least one attribute.
Each variation should have a unique SKU.
Variations can have different pricing, stock, images, or shipping dimensions.
Attributes can also be used for filtering products, even without creating variations.
Best Practice Recommendation
Use:
Attributes to define customer choices
Variations to define the actual purchasable product combinations
This keeps inventory, pricing, and product organization clean and accurate during CSV imports.
Quick Start Guide
| Column Name | What It Means | Example / Tips |
|---|---|---|
| Parent Product ID | Used for product variations. This links a variation (like size or color) to its main product. Leave blank for simple products. | Example: A “T-Shirt” variable product may have Parent Product ID 1001, while each size variation uses that ID. |
| Product ID | A unique number for the product in WooCommerce. Usually generated automatically. Can be left blank for new imports. | Example: 1001 |
| SKU | Your product’s unique inventory or tracking code. Each product or variation should have a different SKU. | Example: TSHIRT-BLK-L |
| Title | The product name customers will see on the website. | Example: Black Logo T-Shirt |
| Tags | Keywords used to help organize or search products. Separate multiple tags with commas. | Example: summer, apparel, racing |
| Short Description | A brief summary shown near the product title. Keep it short and easy to read. | Example: Lightweight performance t-shirt with screen printed logo. |
| Long Description | The full product description shown lower on the product page. Include details, specs, sizing, etc. | Example: Product features, fitment info, care instructions, etc. |
| Regular Price | The normal selling price of the product. Numbers only. | Example: 29.99 |
| Sale Price | Optional discounted price. Leave blank if not on sale. | Example: 24.99 |
| Stock Qty. | How many units are available in inventory. | Example: 50 |
| Weight (lbs) | Product weight in pounds for shipping calculations. Numbers only. | Example: 2.5 |
| Length (in) | Product length in inches. | Example: 12 |
| Width (in) | Product width in inches. | Example: 8 |
| Height (in) | Product height in inches. | Example: 4 |
| Images | Additional product image URLs or filenames. Separate multiple images with commas. | Example: image1.jpg, image2.jpg, image3.jpg |
| Featured Image | The main image customers see first on the product page and shop pages. | Example: main-product-image.jpg |
| Product Type | Defines the type of product being imported. | Common values: simple, variable, variation |
| Stock Status | Shows whether the product is available for purchase. | Common values: instock, outofstock, onbackorder |
| Attribute 1 name | The first product option name, such as Size or Color. Used mainly for variable products. | Example: Size |
| Attribute 1 value(s) | The available values for Attribute 1. Separate multiple values with a pipe ` | `. |
| Attribute 2 name | The second product option name. | Example: Color |
| Attribute 2 value(s) | The available values for Attribute 2. Separate multiple values with a pipe ` | `. |
| Product categories | The category where the product should appear on the website. Separate multiple categories with commas. | Example: Apparel, T-Shirts |
| Category Tag | Optional keywords assigned to categories for organization or filtering. | Example: mens, racing gear |
| Category Parent | Used to create subcategories under a main category. | Example: Parent category = Apparel; Child category = T-Shirts |
| Category Description | A description for the product category page. | Example: Browse our collection of off-road riding apparel. |
| Category Image | The image assigned to the category page. Usually an image URL or filename. | Example: apparel-category.jpg |