How to Add Variable Product (Parent Product Value) info to Variations?.

When you export a variable product as All Variations, each variation becomes its own listing — but variations rarely carry the full story. In WooCommerce, the description, brand, categories, and often the main image live on the parent product, while the variation only stores what makes it different: its size, color, price, and SKU. Left alone, that would send half-empty variation rows to your channel. CTX Feed solves this by pulling the parent product’s information down into every variation. This guide explains how that works automatically and how to control it when you need to.

The automatic parent fallback

By default, CTX Feed already does the hard part for you. Whenever a variation’s mapped value comes out empty, CTX Feed re-resolves that same attribute against the parent variable product and uses the parent’s value instead. So if a variation has no description of its own, the feed uses the parent’s description; if the variation has no main image, it uses the parent’s main image.

Categories, tags and brand don’t even need the fallback: for a variation they are always read from the parent product, because WooCommerce stores them only there. So a variation row ends up with its own price, SKU, and size/color, plus the parent’s description, categories and brand — a complete listing with no extra setup. You get this behavior simply by mapping the fields you want on the Config tab and exporting All Variations.

There are two deliberate exceptions, which never fall back automatically:

  • The sale price family (sale price, sale-price dates). An empty sale price on a variation genuinely means “this variant is not discounted.” Falling back would report a sibling’s discount on a full-price variant and get the feed flagged.
  • The image gallery (Images [Comma Separated] and the Additional Image attributes). A variation sends only its own gallery images, so a red shirt never shows the blue shirt’s photos. If you do want the parent’s gallery on variations without one, set the row’s Output to parent_if_empty (below).

Forcing a value to come from the parent

Automatic fallback only fires when the variation’s own value is empty. Sometimes you want the parent’s value even when the variation has one — for example, you want every variant to inherit the parent’s clean title or a single shared description rather than the variation title with its size and color. You control this with the Output column on the mapping row. The relevant output options are:

  • only_parent — always use the parent product’s value for this field, ignoring the variation’s own value entirely (even if the parent’s value is empty).
  • parent — use the parent product’s value; if the parent’s value is empty, keep the variation’s own.
  • parent_if_empty — use the variation’s value, and fall back to the parent only when the variation’s value is empty. For most fields this matches the automatic behavior; it is also the way to borrow the parent’s gallery images or sale price, which never fall back on their own.

Pick the one that matches your intent: parent_if_empty for “prefer the variation, borrow the parent when blank,” or only_parent / parent for “always use the parent.” These options only change variation rows; simple products are untouched.

CTX Feed attribute mapping row for description with the Output column set to only_parent
  1. Channel attribute — the field you want to fill from the parent, such as description.
  2. Source — Attribute, drawing the value from a product field.
  3. Value — the attribute mapped for this row (or Parent Description to always read the parent).
  4. Output — set only_parent, parent, or parent_if_empty here to control the parent fallback.

Dedicated parent attributes

CTX Feed also exposes attributes that read the parent directly, which you can select in the Value dropdown:

  • Parent Title (parent_title) — the parent product’s clean title. Useful when you’d rather send “Slim Fit Shirt” for every variant than the variation title “Slim Fit Shirt – Blue , Large”. For simple products (no parent) it returns the product’s own title (CTX Feed 8.0.28 and newer), so it is safe in feeds that mix simple products and variations.
  • Parent Description (parent_description) — the parent product’s description (the long description only), regardless of what the variation stores.

Use these when a field should always be the parent’s, as an alternative to the only_parent output option.

A worked example

Say you’re building a Google Shopping feed for a variable “Classic Tee” with color and size variations:

  1. On the Feed settings card, set Include variations to All Variations.
  2. On the Config tab, map the channel fields:
    • id → SKU (or product ID) — unique per variation.
    • title → Product Title — for a variation this is the parent title plus its attribute values, for example Classic Tee – Red , Large.
    • description → Product Description — this comes out empty on the variations, so CTX Feed fills it from the parent automatically. To force the parent’s description regardless, choose Parent Description, or set the row’s Output to only_parent.
    • image_link → Main Image — the variation’s own photo, falling back to the parent’s.
    • item_group_id → Parent Id [Group Id] — each variation reports its parent’s ID, so all variants group under one product.
    • color, size → the matching product attributes — unique per variation.
  3. Click Save & generate, then open the feed from Manage Feeds → Preview to confirm every variation row carries both its own details and the inherited parent information.

Troubleshooting

  • Variation descriptions are still empty. The parent product itself has no description to inherit. Only the long description counts — add one to the parent product.
  • You want the parent’s description even though variations have one. Set the description row’s Output to only_parent, or map Parent Description.
  • Sale price isn’t inheriting from the parent. That’s by design — sale prices never fall back to the parent automatically. Set a sale price on the variation if it should be discounted.
  • Variations have no additional images. Variations send only their own gallery. Add a gallery to the variation, or set the image rows’ Output to parent_if_empty to borrow the parent’s.
  • The parent’s category isn’t appearing on variations. Make sure the feed has a category row (for example product_type). Variations always read categories from the parent, so a mapped row is all it takes.
  • Nothing changed after editing products. Run Clear Cache on the Manage Feeds screen, then regenerate the feed.
Try CTX Feed for WooCommerce - Free Download or Upgrade to Pro

Leave a comment.