Short answer. Commerce Manager groups image problems under “Product image upload issues”: a server issue, Meta blocked from the image, a broken link, a download timeout, a file over 8 MB, an image under 500×500, the wrong format or a blank image, or a missing image. Test the image link in a private window, allow the Meta-ExternalAds user agent through robots.txt and your firewall, serve JPEG or PNG under 8 MB and at least 500×500, and remember that Meta only re-fetches an image when its URL changes.
| Shown in Commerce Manager as | Product image upload issues |
|---|---|
| Attribute | image_link |
| Effect | Product disapproved |
| Where to find it | Catalog → Products → a product’s Status and issues; feed-level errors under Catalog → Data sources → Download issue report |
| Free check | Reported by the free feed check |
What Commerce Manager means by “Product image upload issues”
Meta groups several causes under one heading on its products-not-showing page, and its image troubleshooting page walks each: a server issue; Meta blocked from the image, for which you add the Meta-ExternalAds user agent to your allow list and remove any password on the image; a broken link, which must start with http://, lead to an image file and contain no spaces (encode them as %20); a download timeout; a file over 8 MB; the wrong format or a blank image, where the file must be JPEG or PNG and the response content-type image/jpeg rather than text/html. The product data specification adds the minimum size, 500×500 pixels.
The page also records the rule that surprises most merchants: the catalogue only recognises that an image changed when its link changes. A new photo at the same URL is never fetched, and placeholders such as “Image coming soon” therefore stay forever.
Why it happens
- Bot protection (Cloudflare, CloudFront rules) blocking
Meta-ExternalAds. - Spaces or unencoded characters in image URLs.
- Images over 8 MB or under 500×500.
- WebP, AVIF, SVG or an HTML page at the image URL.
- Location-based redirects that send Meta’s worldwide fetchers somewhere else.
- Drive links to a preview page instead of the raw image.
- A replaced image at the same URL, which Meta never re-fetches.
How to fix it
In Shopify
Shopify’s CDN serves JPEG or PNG at direct URLs; a new upload gets a new URL, so the refresh rule is satisfied automatically. Problems come from images hosted elsewhere or from a feed app rewriting URLs through a proxy that blocks Meta.
In WooCommerce
Allow Meta-ExternalAds through your security plugin, firewall and CDN for /wp-content/uploads/, serve JPEG or PNG (not WebP-only), and when you replace a photo upload it as a new file so the URL changes. Our free plugin sends the full-size upload URL, which changes with each new upload.
In a CSV or XML feed
Test each failing image URL in a private window: it must download an image, not a page or a login. Fix spaces, format, size and blocking as Meta’s page lists. To refresh an image, publish it at a new URL and update image_link; do not reuse the old address.
How long until Commerce Manager clears it
Meta re-attempts the download after the next upload with a corrected link. Its page notes a fetch can also be triggered when the product receives a pixel event or is included in an active ad.
What FeedRobin does about it
The free feed check downloads a sample of images and reads their pixel size, so images under 500×500 and images that cannot be fetched or decoded show up in the report; it also lists image links on http://. For connected stores the image URLs are the platform’s own, which change when the image does.
Questions merchants ask
I replaced the photo but Meta still shows the old one. Why?
Meta’s page is explicit: the catalogue only recognises that an image changed when the link changes. Save the new image at a new URL and update image_link. It also advises against placeholders such as “Image coming soon” for the same reason.
Which user agent must be allowed for images?
Meta-ExternalAds, per the image troubleshooting page, which asks you to add it to your allow list if a firewall or a service such as Cloudflare protects the site. The feed itself is fetched by facebookexternalhit.
What are the image requirements?
JPEG or PNG, at least 500×500 pixels, under 8 MB, at a direct link that returns the image (content-type image/jpeg or image/png, not text/html), without spaces in the URL or a password prompt.
Sources
- Troubleshoot product image issues in your catalog in Commerce Manager — Meta Business Help Centre
- Troubleshoot products not appearing in your ads or shop on Facebook and Instagram — Meta Business Help Centre
- Product data specifications for catalogs in Commerce Manager — Meta Business Help Centre