There are a number of reasons why your images may not be displaying:
Items were recently submitted
After your items are processed, there's a delay before our server fetches your images. Your items will not serve in Shopping ads until your images have been crawled. If you are experiencing a low crawl speed, ensure your servers are not returning 500 or similar errors. You can also adjust the crawl rate in Google Search Console. If you need to update large amounts of images at a time, submit a portion of your new images per day, such as 10%, so we can continuously crawl the new URLs.
Images not live yet
The image URLs you submit in your data feed must be live in your serving system in order for us to crawl them.
Image recently changed
A new image can take up to 6 weeks to appear in your ad if the image URL remains unchanged. To allow our systems to identify the change and crawl the new image sooner (typically within 3 days,) use a new image URL and update it in your product data whenever you change an image.
Images are in an unsupported format
Make sure that your images are in one of our supported formats (GIF, JPG, JPEG, PNG, BMP or TIF) and their filenames include the appropriate extensions. In addition, to successfully process an image, its associated URL must link to an image file rather than to a script. Learn more about image requirements.
Your image URLs aren't working correctly
If your image URLs don't work, an image won't be displayed for your product in our listings. Make sure all your image URLs are working correctly.
You've included spaces within your image URLs
Make sure that there are no spaces within your image URLs. Each space should be replaced with the characters "%20" (without quotes). Otherwise, we'll be unable to crawl your images and your images will not appear in results. For example, instead of the following URL:
A robots.txt file is on your server
This prevents us from crawling the images on your site. In order for us to access these images, modify your robots.txt file to allow both user-agents "Googlebot", "AdsBot-Google", and "Googlebot-Image" to crawl your site. You can do this by adding the following lines to your robots.txt file:
Learn more about the Robots Exclusion Protocol.
An image link should link directly to an image. If the image link in your data feed redirects to another URL of the image, we won't be able to grab a copy of your image to use in Shopping ads. Image URLs that redirect through ASP, PHP, or Cold Fusion scripts will also fail to be fetched.
Images have HTTP headers
Every time information is passed through the Internet, it's preceded by a short description generally called a header. If the header information for an image isn't what's expected, the image processor is unable to cache a copy of your image. Typically, headers may only be an issue for images that are dynamically generated. If you don't know if your images are dynamically generated, this most likely isn't the problem.
Two header fields that must be passed are content-type and content-length. The content-type describes the file type you're sending. Two common values for images are "image/gif" and "image/jpeg." The content-length lets us know the file size for an image. A header field that shouldn't be passed is "cache-control." If you choose to add header fields, make sure they're appropriate for the image.
Image size is too large
Make sure that your images meet the size requirements. Learn more about image requirements.