Shopify Google Merchant Center image errors: fix “Missing value [image link]” in 2026
![Shopify Google Merchant Center image errors: fix "Missing value [image link]" in 2026](https://craftshift.com/wp-content/uploads/2026/08/shopify-google-merchant-center-image-errors-fix.jpg)
Missing value [image link] is the first thing a lot of Shopify merchants read after they connect the Google & YouTube channel. Which is odd, because the product clearly has a photo. It has six. Merchant Center refuses the item anyway, and the Needs attention page hands you an attribute name instead of a cause.
Then the rest of the Shopify Google Merchant Center image errors land. Image too small on shots that were fine for years. Missing value [color] on a catalog where every single product has a color option sitting right there in the editor, visible, filled in, ignored. Invalid value [gtin] on barcodes that scan fine in the warehouse. Seven strings. Mostly one cause.
We build Rubik Variant Images at Craftshift, an app that assigns a separate image set to every variant, so we spend most of our week inside other people’s product data. Almost every Shopify Google Merchant Center image error in this post is fixed in Shopify, not in Merchant Center.
That distinction matters more than it sounds. Merchant Center is a mirror. It reports what your feed said, and your feed only repeats what Shopify gave it. Edit a value inside Merchant Center and you’ve patched exactly one row until the next sync overwrites it. Edit it in Shopify and it’s fixed for good.
What is actually broken when Merchant Center rejects a Shopify product image?
Short answer: every one of these errors is a missing or wrong value in Shopify, not in Merchant Center. Fix it at the source. An image on the variant, an option named Color, a real barcode in Barcode. Rubik Variant Images assigns a separate image set to every variant so the feed has something correct to submit.
In this post
- The exact error strings, as Merchant Center writes them
- Why a Shopify catalog produces Google Merchant Center image errors
- Missing value [image link]
- Image too small (and the January 2027 change)
- Missing value [color] and Missing value [size]
- Mismatched value (page crawl) [image link]
- Invalid value [gtin]
- Can’t access product images, and Image not processed
- The upstream fix: one image set per variant
- How long until the error clears
- Keeping the feed clean
- Frequently asked questions
- Related reading
The exact error strings, as Merchant Center writes them
Copy the string from the Needs attention table and match it here. Google words these tightly, so a one word difference usually means a different check failed.
Missing value [image link]Missing value [color]Missing value [size]Image too smallMismatched value (page crawl) [image link]Invalid value [gtin]Can't access product imagesImage not processed
The bracketed word is the feed attribute, which is the part developers actually search for: image_link, additional_image_link, color, size, gtin. Variant rows are tied together by item_group_id. If you read the feed through the Content API rather than the Merchant Center UI, the same failures come back as item level issues on the product status resource, keyed to those attribute names.
One naming trap before we go further. Image too small and Can't access product images both mention images, and both get fixed in completely different places: one at upload time, one in your robots.txt. Same word, unrelated problems. Note too that the string in the table is not always the string in Google’s help center. The diagnostics table brackets the attribute, so you get Mismatched value (page crawl) [image link], while the help page for the same check is titled without the bracket. Search for the bracketed version first.
Why a Shopify catalog produces Google Merchant Center image errors
The Google channel does not submit your products. It submits your variants. Every variant becomes its own row in the feed, tied to its siblings by item_group_id, and each row is validated on its own. A row needs an image, a color, a size, and often a GTIN, all by itself.
Shopify’s product model asks for none of that. A product can carry one featured image and forty variants. An option can be named anything you like, including something no product feed on earth will recognize, and the admin will save it without a murmur. The Barcode field can sit empty forever. Nothing complains.
So the mismatch is structural, not a bug. Shopify is happy with a product that has one photo and ten colors. Google wants ten rows with ten images. The feed fills the gap by repeating whatever it can find, and Google flags the result.
Now the part that genuinely annoys me. Shopify will let you name an option “Color or Material”, save it, publish it, sync it to Google, and the color value is silently dropped from every row. No warning in the product editor. No flag in the channel. The merchant finds out from Google, weeks later, in a table of a few hundred disapproved items. How is there still no validation on that option name at the point where it matters? One line of help text in the option editor would kill thousands of these disapprovals, and it isn’t there.
Missing value [image link]
What Google means: the row it received had no image URL in the image_link attribute. Not a broken URL. An empty one.
What in Shopify caused it: usually one of four things. The product genuinely has no media. The product has media but the item that failed is a variant with no image of its own and nothing to fall back on. The images live on a draft or unpublished product. Or a third party feed app is reading a field you never filled, which happens a lot after a migration.
Six photos on the product page and Google says there is no image. How? Because the failing row is not the product, it is one variant of it, and that variant is pointing at nothing.
What to change in Shopify: open the product, scroll to Variants, and check the small image thumbnail next to each variant (the big gallery at the top of the page tells you nothing about which variant owns what). Assign an image to every variant that appears in the feed. If a color has no photo yet, use the closest shot you have rather than leaving the slot empty, because an empty slot is a disapproval and a slightly generic photo is a live listing.
How long it takes to clear: the row is revalidated on the next feed fetch. Google does not publish an hour count for item level issues, only that it may take some time for the change to be reflected on the Needs attention page, so ignore anyone who quotes you a number. The one figure Google does give is for images: processing typically takes up to 3 days. Shopify pushes product edits to the channel automatically, so you are waiting on Google, not on Shopify.
Image too small (and the January 2027 change)
What Google means: in Google’s own words, “the image submitted for this product is too small to be used in an ad or a free listing.” It measures the file you submitted, not the version your theme renders.
The thresholds are moving, and this is the single most useful thing in this post if you are reading it in 2026. Today the minimum is 100 by 100 pixels for most products and 250 by 250 for apparel. From 31 January 2027, Google’s image link specification enforces 500 by 500 pixels for every product image in image_link and additional_image_link, across all categories, and Google recommends 1500 by 1500 or above. Merchant Center started issuing warnings for sub 500 images on 14 April 2026, which is why plenty of merchants are seeing this on products that passed for years. Google has also said it will optimize some images below 500 by 500 itself, which prevents the disapproval without any action from you. Nice of them. Don’t build a catalog on it.
| Limit | Google (feed) | Shopify (upload) |
|---|---|---|
| Minimum pixels, apparel | 250 x 250, rising to 500 x 500 on 31 Jan 2027 | none |
| Minimum pixels, other | 100 x 100, rising to 500 x 500 on 31 Jan 2027 | none |
| Maximum megapixels | 64 MP | 25 MP for product and collection images |
| Maximum file size | 16 MB | 20 MB |
| Aspect ratio | no published limit | between 100:1 and 1:100 |
Notice that Shopify’s ceiling is the tighter one on megapixels while Google’s is tighter on file size. Which means the safe zone is narrower than either page tells you: Shopify’s own recommendation of 2048 by 2048 sits comfortably inside both, and we cover the whole set of upload limits in the 25 megapixel image error guide and the product image size guide.
Now the opinion. A 250 pixel crop of fabric passes Google’s current check and is still the wrong image to submit, because it tells a shopper nothing. Passing a validator is not the same as earning a click. Shoot at 2048, upload at 2048, and this error never comes back, not in 2026 and not after the 2027 cutover. Run the Product Image Audit tool if you want to know which of your products are still sitting under 500 pixels.
Missing value [color] and Missing value [size]
What Google means: the row has no color or no size value. For apparel and accessories in many target countries these are required attributes, not suggestions, so the item gets disapproved rather than warned.
So why does a catalog where every product has a color submit no color at all? Because the option isn’t named Color. That’s the whole story in the majority of cases. The Google channel maps a Shopify variant option to a Google attribute by matching the option name, so “Color” and “Colour” both map, and every one of these does not:
- Color or Material, the classic. One option doing two jobs, so neither attribute can be filled.
- Style, Shade, Finish, Colorway. Human readable, unmappable.
- T Shirt Size or Shoe Size instead of plain Size.
- A color that lives in the product title only, with no option at all.
What to change in Shopify: split the option and rename it. Google treats Color, Size and Material as three separate attributes, so one Shopify option cannot serve two of them. Renaming an option label does not delete variants or reset inventory, you are changing the name of the option, not the combinations under it.
Do it once, properly, across the catalog. Merchants often patch this with a feed rule in Merchant Center instead, and it works, and it also means every future product needs the same patch and any app that reads the option name is still broken. This is one of the most common questions we get from stores selling one product in eight colors, and the answer is always the same: fix the option name, not the feed.
How long it takes to clear: next feed fetch, then however long Merchant Center takes to refresh the Needs attention page. The Shopify side is instant.
Mismatched value (page crawl) [image link]
What Google means: the image in your feed and the image Google’s crawler found on the landing page are not the same. Google now has two answers to one question and trusts neither, so the item goes down.
What in Shopify caused it: the page and the feed disagree about which image belongs to the selected variant. Three common versions of it:
- The theme’s product structured data reports the product’s featured image, while the feed row submits a variant image. Both are correct locally. They are not equal.
- A theme or app swaps the gallery in the browser after load. The crawler reads the markup, the shopper sees the swap, and the two versions of the page never match.
- The row’s link points at a variant URL, and the page’s structured data still describes the parent product.
What to change in Shopify: make the variant’s assigned image the same image the page reports for that variant. In practice that means every variant carries its own image in the admin, and the theme’s variant selection updates the gallery from that assignment rather than from an unrelated list. Then the crawl and the feed agree by construction. One source of truth.
Getting that alignment by hand across a catalog is the boring part, and it is why Rubik Variant Images stores each variant’s image set in Shopify metafields and filters the gallery to match the selection. Same assignment feeds the page and the feed. It is free to install, 5.0 stars across 420 reviews, and it loads from metafields with no external API calls, so nothing is swapping images behind the crawler’s back.
How long it takes to clear: longer than the others, and this is the one that makes merchants think the fix failed. Feed based checks refresh on the next fetch. This one waits for Google to recrawl the landing page, which is a separate schedule you cannot trigger from Merchant Center. Fix it, then leave it alone for several days.
Invalid value [gtin]
What Google means: the value in gtin is not a valid global trade item number. Google checks length (8, 12, 13 or 14 digits) and the check digit, and the number ranges GS1 reserves for in-store or internal use are not valid GTINs either.
What in Shopify caused it: the channel reads the variant’s Barcode field, and that field accepts absolutely anything, which is sort of the whole problem. So it fills up with internal SKUs, manufacturer part numbers, invented digits, and the classic: a 12 digit UPC that lost its leading zero to a spreadsheet during import and arrived as 11 digits. Excel does that quietly. Every time.
What to change in Shopify: three rules. Put the real manufacturer barcode in Barcode and nothing else. Import barcode columns as text so the leading zero survives. And if the product genuinely has no GTIN, because you made it yourself, leave the field empty rather than inventing a number, since a wrong GTIN is worse than a missing one. You can check any digit string with our free Barcode and UPC Validator before you re-import.
Yes, this one is not an image error. It sits in the same disapproval table as the image errors, it blocks the same items, and merchants deal with all of it in one afternoon, so it belongs here.
Can’t access product images, and Image not processed
What Google means: two separate issues land here, and merchants describe both to us as “Google says my image is missing”. Can't access product images means your robots.txt is blocking Google from downloading the file. Image not processed means Google fetched the URL and could not turn it into an image, and Google’s own fix note leads with the blunt version of the reason: the link has to lead to an actual image, not to a web page.
What in Shopify caused it: the likely suspects, in the order we see them. A feed app holding a cached CDN URL for an image you deleted and re-uploaded, because the replacement gets a new URL and the old one stops resolving. A password protected store, so every asset request is bounced. A robots.txt rule that blocks image crawling. Images hosted outside Shopify’s CDN on something that rate limits or hotlink blocks.
What to change in Shopify: check the store password first, then robots.txt. Google spells out the two user agents by name: your robots.txt has to allow both Googlebot, which fetches landing pages, and Googlebot-image, which fetches the images themselves. Block the second while allowing the first and you get exactly this error, invisibly, from a file nobody looks at. Our robots.txt generator leaves both open, and the same rule applies to the AI crawlers if you would rather be quoted than skipped.
How long it takes to clear: for the robots.txt one, Google’s note says the errors should disappear within a couple of days of the file being fixed. Processing is slower. Google says an image typically takes up to 3 days and can take up to 30, which is the longest published wait in this whole post. Past that? Change the filename. A new URL is a new identity, and it rejoins the normal 3 day queue.
The upstream fix: one image set per variant
Look at the list at the top of this post again and count how many of those errors trace back to one root cause: the variant did not have the right image on it. Missing image link. Mismatched crawl. Half of the too small cases, where the only photo attached to that color is a thumbnail. The feed can only submit what the variant actually has.
Shopify gives every variant exactly one image slot. One. A blue hoodie with a front shot, a back shot and a detail shot has three photos and one slot, so the extras sit in the shared gallery where the feed cannot tell they belong to blue.

That is the gap we built for. Rubik Variant Images assigns multiple images, and videos and 3D models, to each variant or each combination of options, and filters the product gallery so a shopper who picks Blue sees only the blue media. Assignment happens three ways: drag and drop by hand, bulk assign that reads your existing Shopify gallery order and splits it at each variant’s first image, or AI auto assign on a single product, which reads the product title, the variant option values, the image filename and the alt text.
We built bulk assign around gallery order rather than filenames on purpose, because filenames in a real catalog are chaos and the delivery order almost never is. Photographers are tidy. Spreadsheets aren’t. And to be precise about what the app doesn’t do: it doesn’t link separate products together. If your colors are eight separate products rather than eight variants, that’s a different job, and how a combined listing appears in a Google Shopping feed is the post you want. One more caveat, said plainly: neither app touches Shopify Markets, so if your problem is country specific feeds, this is not the tool.
“We’ve tried several solutions for managing variant images, but Rubik Variant Images stands out. It’s like giving our product pages a much-needed declutter. Customers now see only the images that match their selection, which has noticeably reduced the ‘Is this the right color?’ support queries. The setup was intuitive, and the results were instant. It’s one of those behind-the-scenes tools that quietly makes a big difference. Love it!”
Livspace Home, India, 2025-07-10, Rubik Variant Images on the Shopify App Store
Want to see it working before you install anything? There is a live demo store, a walkthrough video, and the getting started guide in the docs. There is also a free variant image checker that reports which of your variants have no image assigned, which is the same list Merchant Center is about to complain about.
How long until the error clears
Two clocks run here, and merchants keep re-fixing things because they only know about one of them.
The feed clock: Shopify pushes product changes to the Google channel automatically, and Google revalidates the row on the next fetch. How long after that? Google’s guidance on item level issues attaches no number to it at all, only that a change may take some time to be reflected on the Needs attention page. For images it does commit: processing typically takes up to 3 days, with an outside case of 30.
The crawl clock: anything labeled (page crawl) waits for Google to recrawl the product page. That is not something you can schedule from Merchant Center, and it is why Mismatched value (page crawl) [image link] outlives every other fix in this post by days.
So change everything in one pass, then wait a week before you conclude anything. Everything. Re-editing product data every day resets your own ability to tell what worked, and we have watched merchants undo a perfectly correct fix on day two purely because Google had not caught up yet.
| Merchant Center says | What Google checks | Where you fix it in Shopify |
|---|---|---|
Missing value [image link] | the row has an image URL | variant image, or the product’s featured image |
Image too small | pixel dimensions of the file | re-upload at 2048 x 2048 |
Missing value [color] | the color attribute exists | rename the option to Color |
Missing value [size] | the size attribute exists | rename the option to Size |
Mismatched value (page crawl) [image link] | feed value against the crawled page | one image assignment feeding both |
Invalid value [gtin] | length and check digit | the variant Barcode field |
Can't access product images | whether robots.txt lets Google fetch the file | robots.txt, store password |
Image not processed | whether the URL returns an image at all | re-upload under a new filename, feed re-sync |
Keeping the feed clean
Three habits and you stop meeting this table. First, standardize option names before the catalog grows: Color, Size, Material, spelled exactly that way, no compounds. Second, put an image on every variant at creation time, not after a disapproval email. Third, treat the Barcode field as sacred and never let a spreadsheet touch it without text formatting.
Then audit rather than react. Our free Google Shopping feed checker reads a feed and reports the attributes that are empty before Google does, and it is a lot less painful than reading a disapproval table. For the wider setup, the feed optimization guide covers titles, categories and the fields that decide whether your items show at all, and why the wrong product shows in Google Shopping handles the case where items are approved but showing the wrong photo.
If you are auditing variant media specifically, we wrote up how to match product images to variants automatically and variant images for Google Shopping, which goes deeper on the feed side than this post does. And if you are still choosing a feed app, we compared them in the best Shopify Google Shopping feed apps for 2026.
Frequently asked questions
Which app should I use to fix Google Merchant Center image errors on Shopify?
No app fixes Merchant Center. The errors are fixed in Shopify, and the app you want is the one that gets the right images onto the right variants, because that is what the feed reads. Rubik Variant Images, built by Craftshift, assigns a separate image set to every variant and filters the product gallery to match the selection. It is free to install and rated 5.0 stars across 420 reviews. For GTIN and option name errors you need no app at all, just a careful pass through the product editor.
Why does Merchant Center say Missing value [image link] when my product has photos?
Because the feed row that failed is a variant, not the product. The Google channel submits one row per variant, and a variant with no image assigned to it has nothing variant specific to submit. So look in the right place. Check the thumbnail beside each variant in the Shopify product editor rather than the gallery at the top of the page.
What are the current Google Merchant Center image size minimums?
Today, 100 by 100 pixels for most products and 250 by 250 for apparel. From 31 January 2027 Google enforces 500 by 500 pixels for every product image, in both the image link and additional image link attributes, and warnings for smaller images started appearing in April 2026. Shopify’s own recommendation of 2048 by 2048 clears all of it.
Does renaming a Shopify product option to Color break my variants?
No. Renaming the option changes its label, not the variant combinations under it, so inventory, prices and SKUs stay where they are. What does need care is splitting a compound option like “Color or Material” into two options, because that changes the shape of your variant matrix. Do that one product at a time and check a live product page afterwards.
Can I fix Missing value [color] with a Merchant Center feed rule instead?
You can, and it works, and it is still the second best answer. A feed rule or supplemental feed supplies the attribute to Google while leaving Shopify wrong, so every new product needs the same treatment and any other app reading your option names stays broken. Fix the option name in Shopify, then delete the rule.
Should I leave the Barcode field empty if my product has no GTIN?
Yes. For handmade, custom or own brand goods with no manufacturer barcode, an empty Barcode field is correct and a made up number is an error Google will catch on the check digit. Never paste your internal SKU in there, and import barcode columns as text so a leading zero on a 12 digit UPC survives the spreadsheet.
Related reading
- Why the wrong product shows up in Google Shopping
- Variant images for Google Shopping, done properly
- Fixing the Shopify 25 megapixel image upload error
- How to show only the images for the selected variant
- Collection swatches, separate URLs and what Google indexes
Do one thing before your next photo shoot: write the feed requirements into the brief. “2048 square JPEG, one set per color, filenames matching the SKU” is a single line that removes three of the seven errors above from your life permanently. The merchants who never see this disapproval table are not luckier than you. They just fixed it at the camera.