Choosing How Variable Products Appear in Your Feed
WooCommerce variable products can contain multiple variations, each with its own SKU, price, stock quantity, image, and attribute values.
Deviking Product Feeds Pro lets you control whether the feed contains the parent variable product, its individual variations, or both.
This is configured separately for each feed, allowing different marketplaces to receive the product structure they require.
Product Scope
Open the feed you want to configure from:
Deviking Feeds → Feeds
or create a new one from:
Deviking Feeds → Add Feed
In the feed settings, locate the Product Scope option.
You can choose between three modes:
All Products + Variations
Includes normal WooCommerce products together with variable products and their variations.
Example:
Running Shoes
Running Shoes - Black / 42
Running Shoes - Black / 43
Running Shoes - White / 42This option is useful when both the main product and its individual purchasable variations need to be available in the feed.
Only Parents
Exports the main products without separate variation records.
For a variable product such as:
Premium T-Shirt
├── Black / Small
├── Black / Medium
├── White / Small
└── White / Mediumthe feed contains only:
Premium T-ShirtThe individual variations are not exported as separate records.
This mode is useful when the destination expects one entry per WooCommerce product rather than one entry per purchasable variation.
Only Variations
Exports individual variations without including their variable parent product as a separate feed record.
Using the same example, the feed would contain:
Premium T-Shirt - Black / Small
Premium T-Shirt - Black / Medium
Premium T-Shirt - White / Small
Premium T-Shirt - White / Mediumbut not:
Premium T-ShirtThis is commonly useful for feeds where every variation must be submitted as an individual purchasable item.
How Variations Are Exported
When variations are included, each variation becomes its own feed record.
For example, a variable product may contain:
Parent Product:
Premium Hoodiewith the following variations:
SKU: HOOD-BLK-S
Color: Black
Size: Small
Price: 49.90
SKU: HOOD-BLK-M
Color: Black
Size: Medium
Price: 49.90
SKU: HOOD-GRY-S
Color: Grey
Size: Small
Price: 54.90With Only Variations selected, an XML feed could generate:
<product>
<sku>HOOD-BLK-S</sku>
<title>Premium Hoodie</title>
<color>Black</color>
<size>Small</size>
<price>49.90</price>
</product>
<product>
<sku>HOOD-BLK-M</sku>
<title>Premium Hoodie</title>
<color>Black</color>
<size>Medium</size>
<price>49.90</price>
</product>
<product>
<sku>HOOD-GRY-S</sku>
<title>Premium Hoodie</title>
<color>Grey</color>
<size>Small</size>
<price>54.90</price>
</product>Each variation is processed independently.
Variation-Specific Data
Variations can have their own WooCommerce values, including:
- SKU
- Regular Price
- Sale Price
- Current Price
- Stock Quantity
- Stock Status
- Image
- Weight
- Dimensions
- Variation Attributes
When a variation-specific source is selected in Attribute Mapping, Product Feeds uses the value belonging to that variation.
For example:
| Feed Field | Source |
|---|---|
id | Product ID |
sku | SKU |
price | Current Price |
stock | Stock Quantity |
color | Color Attribute |
size | Size Attribute |
Each variation can therefore produce different values in the generated feed.
Using Parent Product Data for Variations
Not all information is normally stored directly on each WooCommerce variation.
A variable product may contain the main:
Title
Description
Brand
Category
Main Imagewhile each variation contains:
SKU
Price
Stock
Color
SizeDeviking Product Feeds Pro allows you to use Parent Product sources when you need information from the variable parent.
This lets you combine parent and variation data in the same record.
For example:
<product>
<title>Premium Hoodie</title>
<brand>Example Brand</brand>
<sku>HOOD-BLK-M</sku>
<color>Black</color>
<size>Medium</size>
<price>49.90</price>
</product>Here, the title and brand can come from the parent product while SKU, color, size, and price come from the variation.
Using Fallback Values
A variation may not contain its own value for every field.
You can use a Fallback Source to provide another value when the primary source is empty.
For example:
Primary Source:
Variation Image
Fallback Source:
Parent Product ImageIf the variation has its own image, that image is exported.
If it does not, the parent product image can be used instead.
Another example:
Primary Source:
Variation Description
Fallback Source:
Parent DescriptionFallbacks are useful when product data is distributed between the parent product and its variations.
Filtering Variations
When variations are exported as individual records, they can also be evaluated by the feed’s filtering rules.
This allows you to control which variation records remain in the feed.
For example, you may want to exclude products based on values such as:
Stock Status
Price
SKU
Category
Attribute
Custom FieldA feed could therefore exclude out-of-stock variation records while keeping eligible variations of the same parent product.
Advanced filtering is configured through the feed’s Advanced Filter Groups.
Example: Excluding a Specific Variation Attribute
Suppose a product contains:
T-Shirt - Small
T-Shirt - Medium
T-Shirt - Large
T-Shirt - XLand the destination should not receive products with:
Size = XLWhen variation records are being exported, an Exclude rule can be created for the corresponding Size attribute.
Eligible variations remain in the feed while matching variations are removed.
Parent Products and Variation Feeds
The parent product and its variations are separate feed records when the selected Product Scope includes both.
This means a variable product with four variations can produce:
1 parent record
4 variation recordswhen using:
All Products + Variations
The same product would produce:
1 recordwith:
Only Parents
and:
4 recordswith:
Only Variations
Keep this in mind when comparing the number of WooCommerce products with the number of records shown after feed generation.
XML Example
With Only Variations, the result may look like:
<products>
<product>
<id>501</id>
<sku>TSHIRT-BLK-S</sku>
<title>Premium T-Shirt</title>
<color>Black</color>
<size>Small</size>
<price>24.90</price>
</product>
<product>
<id>502</id>
<sku>TSHIRT-BLK-M</sku>
<title>Premium T-Shirt</title>
<color>Black</color>
<size>Medium</size>
<price>24.90</price>
</product>
</products>CSV Example
The same variations in a CSV feed could appear as:
id,sku,title,color,size,price
501,TSHIRT-BLK-S,"Premium T-Shirt","Black","Small",24.90
502,TSHIRT-BLK-M,"Premium T-Shirt","Black","Medium",24.90
503,TSHIRT-WHT-S,"Premium T-Shirt","White","Small",24.90Every variation occupies a separate row.
Which Product Scope Should You Use?
The correct option depends on the requirements of the destination receiving the feed.
Use All Products + Variations
When both main products and individual variation records are required.
Use Only Parents
When the destination expects one record for each main WooCommerce product.
Use Only Variations
When each purchasable variation must be represented individually.
Always check the feed specification of the destination before deciding which structure to use.
Preview Before Generating
After changing Product Scope, use Preview to verify how variable products are represented.
Check that:
- parent products appear or are excluded as expected;
- variations appear as separate records when required;
- variation SKUs are correct;
- variation prices and stock values are correct;
- attributes such as color and size contain the expected values;
- parent fallback values are working correctly.
Once the output is correct, use:
Save & Generate
to generate the complete feed.
Changing Product Scope Later
You can change the Product Scope of an existing feed at any time.
For example:
Only Parentscan later be changed to:
Only VariationsAfter changing the option, save and regenerate the feed.
The generated file will then be rebuilt using the new product structure.
Example Workflow
For a marketplace that requires every size and color combination separately:
Edit Feed → Product Scope: Only Variations → Map Variation SKU, Price, Stock and Attributes → Preview → Save & Generate
For a destination that requires only one record per main product:
Edit Feed → Product Scope: Only Parents → Preview → Save & Generate