How AI shopping agents actually consume your images
There are three distinct paths an agent takes to your imagery, and they have different failure modes.
1. The commerce feed. ChatGPT Shopping, Google Shopping surfaces, and most agent platforms pull from a structured product feed — a catalog formatted to a published specification with fields for title, price, availability, and one or more image URLs. This is the highest-fidelity path. The agent knows the image is the primary product shot because the feed said so.
2. Structured data on the page. When there is no feed, agents fall back to Product schema in JSON-LD, reading the image property. This works, but only if the schema is present, valid, and points at a real, publicly fetchable URL rather than a lazy-loading placeholder.
3. Page scraping. The worst case. The agent parses HTML and guesses which image is the product. Carousels, sprite sheets, background-image CSS, and JavaScript-injected galleries all read as noise. Many catalogs that look immaculate in a browser return nothing usable here.
If your primary product image is only present as a data-src attribute until JavaScript runs, a non-rendering crawler sees a 1x1 transparent placeholder. Always put a real, absolute image URL in your Product schema and your feed, independent of what the page's front-end does.
| Path | Fidelity | What breaks |
|---|---|---|
| Commerce feed | Highest | Stale URLs, missing image_link |
| Product schema | Good | Placeholder URLs, relative paths |
| HTML scraping | Poor | JS galleries, CSS backgrounds, sprites |
What a thumbnail has to survive
Agent product cards render small. Assume your hero image will be shown somewhere between 120 and 300 pixels wide, often square-cropped from whatever aspect ratio you supplied, and sometimes on a dark background. Design for that and the rest takes care of itself.
The practical consequences:
- Fill the frame. A product occupying 30% of the canvas with generous white margin looks elegant at 1200px and disappears at 150px. Aim for the product filling 80-90% of the frame in the primary shot.
- One product, one shot. Multi-item flat lays and "shop the look" compositions read as ambiguous. The agent cannot tell which item the listing is for, and neither can the shopper glancing at a card.
- Kill the burned-in text. Badges, price stickers, and "NEW" overlays are frequently grounds for feed rejection, and they compress into mush at thumbnail size. Promotional messaging belongs in feed fields, not in pixels.
- Square or near-square. A 1:1 image survives every crop. A 16:9 lifestyle banner gets center-cropped and loses the product.
- Watch pure white on white. A white product on a pure white background loses its silhouette entirely on a light card UI. A very subtle gradient or a soft contact shadow keeps the edges readable.
Feed hygiene: the fields that decide whether you appear at all
Most catalogs are not excluded from AI shopping surfaces because their photography is bad. They are excluded because a required field is empty or a URL 404s. Feed hygiene is unglamorous and it is where the actual wins are.
image_link must be stable and direct. Point at the original asset, not a CDN transform with an expiring signature and not a redirect chain. Agents cache aggressively; a URL that works today and expires in 30 days produces a broken card weeks after you stop looking.
Use additional_image_link properly. Supply the supporting angles — detail, scale, in-use, back — as additional images rather than cramming them into a collage. Agents doing comparison research increasingly pull secondary images to answer follow-up questions like "does it have a laptop sleeve?"
Resolution above the floor, not at it. Most specifications set a minimum around 250px for non-apparel and 500px for apparel, with a practical ceiling near 64 megapixels. Supply at least 1000px on the long edge so downscaling stays clean.
Keep variants visually distinct. If five colorways all point at the same photograph of the black version, an agent asked for "the olive one" has no way to serve it, and the shopper who clicks through feels misled.
Audit for duplicate image_link values across variant SKUs. It is the single most common catalog defect we see, and it is trivially detectable with a one-line query against your feed export.
Structured data and alt text as machine-readable description
Agents do not look at your image the way a person does. Many pipelines read the surrounding text first and only fetch the image if the text is promising. Which means the description attached to your image is doing real retrieval work.
Three things to get right:
Product schema with a complete image array. Include multiple absolute URLs in the image property, ideally in more than one aspect ratio. Pair it with name, brand, color, material, and offers. The image tells the agent what the thing looks like; those fields tell it what the thing is.
Alt text that describes the frame, not the keyword. "Olive green waterproof commuter backpack, three-quarter front view, showing padded laptop compartment" is useful to a retrieval system and to a screen reader. "backpack backpack sale best backpack 2026" is useful to neither and has not helped rankings in a decade.
Filenames that mean something. olive-commuter-backpack-front.jpg costs nothing over IMG_4471.jpg and is one more signal in a pipeline that is stitching together weak signals.
Built for human browsing
- Hero image is a wide lifestyle banner
- Variants share one photo
- Alt text stuffed with keywords
- Gallery injected by JavaScript
- Promo badges burned into pixels
Built for agent retrieval
- Square hero, product fills the frame
- Every variant photographed distinctly
- Alt text describes the actual view
- Absolute URLs in Product schema
- Promotions live in feed fields
Auditing a catalog that was never built for this
Most brands are working with a catalog assembled over years by different photographers under different standards. You do not need to reshoot it. You need to know where it fails and fix the top of the funnel first.
A workable audit sequence:
- Export the feed and check every image URL resolves. A simple HEAD request across the catalog surfaces 404s, redirect chains, and expiring signed URLs in minutes.
- Flag duplicates. Group by
image_link; any group spanning multiple distinct products or colorways is a defect. - Measure fill ratio and aspect ratio. Anything below roughly 50% product fill, or wider than 4:3, goes on the reshoot-or-recrop list.
- Sort by revenue and stop early. Fixing the top 20% of SKUs by revenue captures most of the value. Perfect catalog coverage is rarely the right first project.
- Check consistency within a category. Agents comparing five of your products against each other reward a set that looks like a set: same angle, same crop, same background treatment.
Recrops and background standardization are the two fixes that move the most SKUs for the least effort, and both are now routine automated work — tools like Retouchable handle consistent backgrounds and re-framing across a catalog in bulk, which is the difference between fixing 40 hero images and fixing 4,000.
What to do this quarter
If you do nothing else, do these four things in order:
| Priority | Action | Effort |
|---|---|---|
| 1 | Validate every image_link in your feed resolves and is not a signed, expiring URL | Low |
| 2 | Add absolute image URLs to Product schema on every PDP | Low |
| 3 | Recrop top-revenue heroes to square, 80%+ product fill, no burned-in text | Medium |
| 4 | Give every colorway its own photograph | Higher |
None of this is exotic. It is the same discipline that marketplace listings have demanded for years, applied to a channel where the image gets less space and more scrutiny. The brands that show up well in agent results in 2027 will mostly be the ones that treated their feed as a product surface rather than an export job.