How to Configure Product Images into Feed?.

Images are the single most important field in a shopping feed — most channels reject a product outright if the image link is missing or unreachable. This guide shows you which image attributes CTX Feed offers, how to map them to a channel’s image fields, and how images behave for variable products, so every listing goes out with the right main photo and a full gallery of extras.

CTX Feed reads images straight from your existing WooCommerce products: the product image (the featured/main image) becomes your main feed image, and the product gallery images become your additional images. You don’t upload anything new — you just map the right attribute to the right channel field on the Make Feed screen.

Where images are configured

Images are mapped in the attribute table on the Config tab of a feed:

  1. In your WordPress dashboard, open CTX Feed → Make Feed (or edit an existing feed from Manage Feeds).
  2. Pick your Template (channel) and file type, then scroll to the Config tab.
  3. Each row maps one Channel attribute (the field the channel expects, such as image_link) to a Value. Set the row’s Source to Attribute, then open the Value dropdown and choose an image from the Image group.
CTX Feed Make Feed Config tab of a Google Shopping feed showing the Main Image and Additional Image rows, with the tab bar and the mapping table numbered
  1. The tab bar — Config, Filters, Advanced filters, FTP / SFTP, and Report.
  2. The attribute mapping table — each row pairs a Channel attribute with a Source, Value, and Output.

When you create a feed for a channel, the image rows are usually mapped for you — for Google Shopping, for example, image_link is pre-mapped to Main Image, and five additional-image rows are pre-mapped to Additional Image 1 through Additional Image 5. The sections below explain each option so you can adjust or add rows.

The image attributes CTX Feed provides

Open the Value dropdown and look under the Image group. You will find:

  • Main Image (image) — the product’s featured image. This is what you map to a channel’s primary image field (image_link on Google, image on Facebook/Meta). For a variation, this resolves to the variation’s own image if it has one, otherwise it falls back to the parent product’s image.
  • Featured Image (feature_image) — also the featured image, but for variations it always uses the parent product’s image and never the variation’s own. Use this when you want every variant in a group to share one canonical group photo.
  • Images [Comma Separated] (images) — every gallery image, joined with commas into one value. The featured image is not included, because channels want it only in the main image field. Use it for a channel that takes all additional images in one column (Meta/Facebook).
  • Additional Image 1 through Additional Image 10 (image_1 … image_10) — individual gallery images by position. Use these for Google: each filled row becomes its own g:additional_image_link element.

The two look identical for simple products — both return the featured image. The difference only matters for variable products. Main Image prefers the variation’s own picture (so a red shirt shows the red photo), falling back to the parent when a variation has none. Featured Image ignores the variation’s own picture and always returns the parent’s. Choose Main Image for most catalogs; choose Featured Image only if you deliberately want all variants to share the group image.

Mapping the main image and additional images

A typical image setup looks like this in the Config table:

  1. Channel attribute image_link → Source Attribute → Value Main Image.
  2. Additional images — for Google, one row per image with Value Additional Image 1, Additional Image 2, and so on (each becomes a separate g:additional_image_link); for Meta/Facebook, one additional_image_link row with Value Images [Comma Separated] (Meta accepts up to 20 URLs in that column).
CTX Feed attribute mapping row for image_link with its Channel attribute, Source, Value and Output cells numbered
  1. Channel attribute — the channel’s image field, such as image_link.
  2. Source — set to Attribute so the value comes from a product field (not fixed Text).
  3. Value — the image attribute to output, for example Main Image.
  4. Output — per-field formatting, such as forcing secure URLs with urlToSecure.

The first row supplies the single required main image; the others supply the extra gallery shots. Empty additional-image rows are simply skipped for products with fewer gallery images.

Product videos (Google)

Google also accepts up to 10 product videos per product in video_link. They work like the additional images: add one row per video, using the channel attributes Video Link 1, Video Link 2, and so on up to Video Link 10, and set each row’s Value to where that video’s URL is stored (usually a custom field). Each filled row becomes its own video_link in the feed, and empty rows are skipped, so products with fewer videos are fine. (CTX Feed 8.0.29 and newer. Older versions offer the single Video link attribute.)

Google needs a YouTube link or a direct link to the video file (for example an .mp4), not a page that contains the video.

If a product might have no image at all, expand the row (the More button) and type a fallback URL into the Default field — CTX Feed uses it whenever the resolved image is empty, which keeps the product from being rejected for a missing image.

How CTX Feed formats image URLs

Every image comes out as a full, absolute URL (CTX Feed promotes any relative path to an absolute one using your site URL). The path portion is percent-encoded, so spaces and non-ASCII characters (Cyrillic, accented filenames, and the like) are made safe — some channels, notably Meta, reject raw unencoded image URLs. Query strings, such as a CDN signature, are left untouched so signed image links keep working. If your site serves images over HTTPS, the feed links are HTTPS as well; you can also force secure links per row using the urlToSecure output option in the Output column.

  • Main Image uses the variation’s own image when set, otherwise the parent’s.
  • Images [Comma Separated] and the Additional Image N attributes read only the variation’s own gallery — from WooCommerce’s variation gallery or a variation-gallery plugin. They do not fall back to the parent’s gallery, so a variation without its own gallery sends no additional images.
  • To send the parent’s gallery for variations that have none, set the row’s Output to parent_if_empty: an empty variation value is then replaced by the parent product’s value.

Troubleshooting

  • Main image is empty for some products. Those products have no WooCommerce featured image set. Assign a featured image in the product editor, or add a Default image URL on the mapping row.
  • A variation shows the parent’s photo instead of its own. The variation has no image assigned, so Main Image fell back to the parent. Set an image on the variation, or switch the row to Main Image (it prefers the variation image) if you had used Featured Image.
  • Additional images are missing for variations. Variations send only their own gallery. Add gallery images to the variations, or set the additional-image rows’ Output to parent_if_empty to use the parent product’s gallery when a variation has none.
  • The channel rejects your image URLs. Make sure the URLs are publicly reachable (not behind a login or a “coming soon” page) and served over HTTPS. Open the generated feed from Manage Feeds and click an image link to confirm it loads in a browser.
  • You changed a product image but the feed still shows the old one. Use 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.