If you sell products that come in different variations like sizes, colors, formats, or license types, WooCommerce lets you create a variable product. This is ideal for offering multiple options under one product listing, improving the customer experience, and keeping your store organized.
With just a few steps, you can:
- Offer multiple product options under a single listing
- Set individual prices, stock, and images per variation
- Simplify product management and improve conversion
Step 1: Navigate to the "Products" page
- In your WordPress Dashboard, go to the left sidebar.
- Click Products > Add New.
- This opens the product creation screen, where you can start entering product details. You can check the article about adding a product here.
Step 2: Enter product name and description
- In the Product Title field, enter the name of your digital product.
- Use the main editor area to describe your product in detail.
Note:
Keep your description keyword-rich and clear—it helps with SEO and conversion.
Step 3: Set product type as “Variable product”
Scroll down to the Product Data section (just below the editor).
- In the dropdown menu, select Variable Product.
- This unlocks tabs like Attributes and Variations, where you’ll configure the product options.
- Add necessary details about the product. You can check the article about adding a product here.
Step 4: Add attributes
Add descriptive pieces of information that customers can use to search for this product in your store, such as “Material” or “Size”.
- Click the “Add New” button at the top of the settings.
- Add a name for your attribute (examples: Size, Color).
- Add the values (variations) separated with | (i.e., Medium | Large | XL).
- Check both Visible on the product page and Used for variations.
- Click Save Attributes.
Step 5: Create variations
Once you've added your attributes under the Attributes tab and marked them Used for variations, navigate to the Variations tab.
You'll see two options:
- Generate variations: Automatically create all combinations of attributes (e.g., Small–Red, Medium–Blue).
- Add manually: Add variations one at a time if you only want specific combinations.
Note:
Click "Generate variations" to automatically create combinations based on attributes you’ve added.
For each variation, expand the menu and add the information:
- Variation Image: Upload variation-specific image.
- SKU: A unique identifier (Stock Keeping Unit) for managing inventory.
- GTIN/UPC/EAN (optional): Global product codes used for tracking and identification (useful for marketplaces and barcode systems).
- Downloadable/Virtual settings (if applicable): Mark products as non-physical (virtual) or provide files if they are downloadable. To create a downloadable variation:
- Check both Downloadable and Virtual if the product doesn't require shipping.
- After selecting Downloadable, input the file name + URL or upload via Media Library.
- Download limit (optional).
- Download expiry (optional).
- Click Insert after uploading.
- Save and Publish/Update.
-
Manage Stock? – Enables stock tracking per variation.
Allow Backorders? – Choose if backorders are allowed.
Low Stock Threshold – To trigger alert notifications.
- Regular price (required): The standard selling price of the product.
- Sale price (optional): A discounted price that temporarily replaces the regular price.
- Stock status: Indicates whether the product is in stock, out of stock, or on backorder.
- Weight, dimensions: Physical measurements needed for shipping calculations.
- Shipping class: Groups products by shipping rules or rates.
- Description: Additional info specific to the variation (e.g., fit, color tone, or fabric).
- Use the Bulk Actions dropdown to quickly apply settings to all variations.
- Click Save changes.
- Click Publish in the top right of the screen.
Note:
The Bulk actions dropdown in the Variations tab is used to apply changes to multiple variations at once.
Step 6: Publish product
When you’ve configured all variations and are satisfied with the product listing, click the Publish button on the right sidebar.