WooCommerce products come in types: simple, variable (a parent that holds variations, such as a T-shirt in several sizes), grouped and external/affiliate, plus types added by plugins such as bundles, composites and subscriptions. This guide shows two things: how variable products are written to a feed (the free Include variations setting), and how to build a feed that contains only one product type (with Advanced filters).
Filtering a feed by product type requires CTX Feed Pro. The Include variations setting is free. On the free plugin the Advanced filters tab is a preview you can’t edit.
Where the setting is
- Open CTX Feed → Make Feed (or edit an existing feed from Manage Feeds).
- In the Feed settings card, find the Include variations dropdown.
- Choose the option that matches how you want variable products written (options below), then click Save & generate.

- Include variations — controls how variable products and their variations are written.
What each option exports
- All Variations — each child variation is written as its own row, and the variable parent is replaced by its variations. Simple products are exported as themselves. This is the default and what most shopping channels (Google, Meta, Pinterest) expect, because every buyable variation has its own price, SKU, and availability.
- Variable Products (Parent) — only the parent variable product is written; its child variations are not. Simple products are exported as themselves. Use this when a channel wants a single row per product and you don’t need per-variation detail.
- Variable + Variations — the parent row is kept and every child variation is written after it. Use this when a channel wants both the grouping parent and the individual items.
- Default Variation — replaces each variable parent with the variation matching its WooCommerce default attributes.
- Cheapest Variation / Expensive Variation / First Variation / Last Variation — replaces each variable parent with exactly one chosen child variation, picked by price or position. Handy when you want one representative row per variable product with a real price and SKU. If no variation can be picked (for example, no default attributes are set), the parent row is written instead.
Where the other types fit in
Simple, grouped and external products are always exported as themselves, whatever Include variations is set to. The setting only governs how variable products and their variations are handled. Product types added by other plugins — bundles, composites, subscriptions, auctions — are included with CTX Feed Pro.
Which option should I pick?
- Google Shopping, Meta, Pinterest and most price-comparison channels: choose All Variations, so each separately-buyable variation is its own item.
- A channel that wants one row per product: choose Variable Products (Parent), or one of the single-variation options (Cheapest/First/…) if you’d rather send a representative variation that carries a real price and SKU instead of a parent placeholder.
- A channel that wants the grouping product plus its items: choose Variable + Variations.
Variable price and quantity (parent rows only)
When a parent variable row is written to the feed — that is, when you pick Variable Products (Parent) or Variable + Variations — two extra selects appear in Feed settings: Variable price and Variable quantity. They decide which variation’s price and stock the parent row reports (first, minimum, maximum, and so on). These only matter when a parent row is actually in the feed; the single-variation and All Variations options don’t use them.
Make a feed for one product type
To build a feed that contains only one type — only simple products, for example — use the Advanced filters tab:
- Open the feed and go to the Advanced filters tab.
- Click Add your first group (or Add condition group).
- In the condition row, set Select attribute to Product Type, the condition to is / equal, and the value to the type you want.
- Click Save & generate.
The Product Type value is WooCommerce’s own type name:
| Feed you want | Condition | Include variations |
|---|---|---|
| Simple products only | Product Type is / equal simple | any |
| Variations only (no simple products) | Product Type is / equal variation | All Variations |
| Variable parents only | Product Type is / equal variable | Variable Products (Parent) |
| Grouped products only | Product Type is / equal grouped | any |
| External/affiliate products only | Product Type is / equal external | any |
| Everything except one type | Product Type is not / not equal grouped (for example) | any |

- The condition row — Product Type is / equal
simplekeeps only simple products.
A product is kept only when it matches the conditions. To allow several types, add a row per type and join them with OR (for example simple OR external).
Troubleshooting
- Variations are missing from the feed. Set Include variations to All Variations (or Variable + Variations). Variable Products (Parent) writes parents only.
- Each product appears twice. Variable + Variations writes both the parent and its children by design — switch to All Variations if you want children only.
- The parent row’s price looks wrong. Adjust Variable price (first / min / max) so the parent reports the variation price you expect.
Related guides
- How to Filter Products
- How to Make a Feed for Specific Categories
- How to Remove Out of Stock Products from Feed

How does this filter only top selling products?!?
Hi,
You can create a feed based on number of sales. Here you can see how to set the filter.
Thank you!