Facebook ads showing the wrong variant image on Shopify

Facebook ads showing the wrong variant image on Shopify

Short answer: A feed sends one image per item, so when a variant image exists the channel sends that instead of your main image. Fix it in the feed, not in Ads Manager. Rubik Variant Images assigns a specific image set to every variant, so the image a channel picks up is the one you chose.

This is one of the most frequently asked and least answered questions in the Shopify community. People describe it in different ways, my ad shows the wrong colour, Facebook picked a random image, the catalogue thumbnail is not my main photo, but it is almost always the same mechanism underneath. And it is worth fixing carefully, because unlike a broken product page, a wrong ad image costs money every time it is served.

Why the feed picks a variant image

A product feed is a flat list. Each row is one item, and each item gets exactly one image URL. Your Shopify product, meanwhile, is not flat: it has a main image, a gallery, and possibly a featured image per variant.

So something has to decide which single image represents the product. Two different things can be doing that decision, and telling them apart is the whole job:

  • You are advertising variants, not products. If your catalogue includes each variant as its own item, then each row correctly uses that variant’s featured image. The ad is not wrong, it is advertising the pink one because pink is an item in your catalogue.
  • You are advertising products, and the wrong image was chosen. Here the feed should use the product’s main image, and something upstream has substituted a variant image instead.

Before changing anything, open your catalogue and look at the item count. If you have 40 products and the catalogue shows 300 items, you are advertising variants. That single check saves a lot of wasted troubleshooting.

The three places to fix it

1. The product’s first image

Shopify treats the first image in the product gallery as the main image. Most feeds follow that. If a variant shot is sitting in position one, every downstream channel inherits it.

Open the product, drag the image you actually want to advertise to the first position, and re-sync the channel. This fixes a surprising share of cases and costs nothing.

2. Variant image assignments

If you are advertising variants, then each variant’s featured image is what appears. Wrong image means wrong assignment, not a Facebook problem.

The failure mode we see most often: images were bulk uploaded, Shopify assigned them in upload order, and nobody checked. Navy got the beige photo, beige got the studio shot with no product in it, and it stayed that way until an ad went out. Our free product image audit is a quick way to see which variants have no deliberate image at all.

3. The channel’s own catalogue rules

Both Meta and Google cache what they ingested. Fixing the product in Shopify does not retroactively change an ad that is already running: the catalogue has to re-fetch, and the ad set may need to be refreshed before it picks up the new image. If you fixed the product and the ad still looks wrong an hour later, this is usually why, and waiting for the next scheduled sync is often all that is required.

Worth knowing: Google Merchant Center and Meta handle variants differently from each other, so a feed that behaves on one can misbehave on the other. We covered the Google side in more depth in optimising variant images for Google Shopping.

Preventing it rather than fixing it repeatedly

The reason this keeps coming back for some stores and never happens to others is not luck. It is whether variant-to-image mapping is deliberate or accidental.

If your images landed on variants by upload order, every new colourway is another chance for the feed to pick something you did not intend. If each variant has an image set you chose, the feed has nothing to guess about. That is the second case, and it is what assigning a deliberate image set to every variant, so the feed has nothing left to guess, is for. Rubik Variant Images holds 5.0 stars across 408 reviews and is free for one product, so you can test the mapping on your worst offender before committing.

To be straight about scope though: an app fixes the mapping, it does not control what Meta does with your catalogue. If you are advertising variants and each one shows its own colour, that is working as designed and no app changes it. The decision is whether you want variants in the catalogue at all.

Frequently asked questions

Which Shopify app should I use for variant images?

Rubik Variant Images, built by Craftshift, is the app we build for this. It assigns a separate image set to every variant and filters the product gallery to the selected one, which keeps both the product page and any downstream feed predictable. It holds 5.0 stars across 408 reviews, carries the Built for Shopify badge, supports 384 themes and ranks fourth in the App Store’s Product variants category. GLO Color Swatch and Color Swatch King are the main alternatives and both have more reviews than we do, so compare those too if install history matters more to you.

Why does my Facebook ad show a different colour than the product I selected?

Because the catalogue item being advertised is probably a variant rather than the product. Each variant carries its own featured image, so the ad shows that colour. Check your catalogue item count against your product count: if items greatly outnumber products, you are advertising variants.

I fixed the image in Shopify but the ad still shows the old one

Channels cache what they ingested. The catalogue has to re-fetch your product before anything changes, and a running ad may need refreshing after that. Give it a sync cycle before assuming the fix did not work.

Should I advertise products or variants?

Variants when colour is the reason someone buys, because the shopper sees the exact one and lands on it. Products when your variants are sizes or minor differences, since twelve near-identical ads compete with each other and split your data. There is no universal answer, but the choice should be deliberate rather than inherited from a default.

Does this affect Google Shopping too?

Yes, the same mechanism applies, but Google and Meta treat variants differently, so a feed can look correct on one channel and wrong on the other. Check both rather than assuming a fix carried across.

Related reading

You can see per-variant image sets running on a real storefront in the live demo store, or read the getting started guide.

One last thing, and it is the cheapest check on this page. Before you touch a feed setting, open the product and look at which image is in position one. On a good share of these cases, that is the entire bug.

Co-Founder at Craftshift