A shopper types this into ChatGPT: "waterproof hiking boots under $150 that come in wide sizes, good for wet trails." Four constraints in one sentence. The assistant returns three products. Yours is not among them — even though you sell a boot that meets every single condition, and it ranks on page one of Google for "waterproof hiking boots."
Here is why: the AI could not confirm your boot met those constraints. Your width options live in a dropdown that renders after page load. The waterproof rating is in a product photo. The price is in your schema but formatted as "$149.99" instead of a plain number. So the model did what models do when they cannot verify a claim — it recommended a competitor it could verify instead.
This is the whole game. AI shopping is not a ranking problem, it is a verification problem. And it matters more every quarter: Adobe Analytics found AI-generated referrals to retail sites rose 693% year over year during the 2025 holiday season, and that traffic converted 31% better than other sources.
The short version
AI shopping assistants match constraints, not keywords. To be recommended, every product attribute a shopper might filter on needs to exist as machine-readable structured data — not as prose, not in an image, not behind JavaScript. Fix crawler access first, then Product schema completeness, then attribute coverage, then review signals. In that order, because each one gates the next.
The MechanismHow AI Actually Decides Which Products to Recommend
Traditional search matches a query string against page content and ranks the results. AI shopping does something structurally different: it decomposes the request into constraints, then looks for products it can confirm satisfy each one.
"Waterproof hiking boots under $150 in wide sizes" becomes roughly: category = hiking boots, waterproof = true, price < 150, width = wide, availability = in stock. The assistant then needs a source that answers all five. A page that says "our boots keep your feet dry on the toughest trails" answers none of them in a machine-readable way, however good the copy is.
OpenAI has been explicit that this is hard. Their ChatGPT Shopping Research runs on a specialized model variant, and OpenAI's own published benchmark puts it at 52% product accuracy on complex multi-constraint queries versus 37% for standard ChatGPT Search. Even the purpose-built system gets it wrong about half the time on hard queries. Your job is to make your products the easy, unambiguous option.
AI does not recommend the best product. It recommends the best product it can verify.
Scale CheckIs This Actually Worth the Engineering Time?
Fair question, and worth answering with numbers rather than hype.
Capital One Shopping's 2026 AI shopping report found 38% of consumers have already used a generative AI tool for online shopping, with 80% saying they plan to in 2026. Gen Z adoption is far higher — roughly three-quarters of Gen Z AI users say they turn to AI assistants first when researching products. Amazon, which has more incentive than anyone to measure this properly, saw traffic from AI shopping assistants rise dramatically over Prime Day 2025 and attributes a large share of its own revenue to AI-driven recommendations.
For B2B and SaaS this is arguably further along. G2's 2025 Buyer Behavior Report found generative AI chatbots have become the single biggest influence on vendor shortlists — ahead of review sites, vendor websites, and salespeople. If you sell software, the shortlist is being assembled by an AI before anyone visits your pricing page.
One honest caveat on the numbers floating around this space: a lot of the most dramatic figures ("23x conversion lift," "91% of brands are invisible") come from vendors selling AI-visibility tools. Adobe's 31% conversion lift and Google's own documentation are the safer anchors. The trend is real without the inflation.
The DiagnosisSeven Reasons AI Skips Your Product Pages
You're blocking the AI crawlers — often by accident
This one is binary: if the crawler cannot fetch the page, nothing else you do matters. The trap is that there are several distinct bots and people only know about one. OAI-SearchBot serves ChatGPT search and shopping results. GPTBot handles training data. They are separate user agents, and blocking OAI-SearchBot removes you from ChatGPT recommendations entirely — even if GPTBot is allowed. Add PerplexityBot, ClaudeBot, and Google-Extended and there are five to check.
Most cases we find are accidents: a blanket Disallow added during a migration, a staging robots.txt promoted to production, or a CDN bot-protection rule blocking unfamiliar agents at the edge before robots.txt is even consulted.
Your Product schema is technically valid but practically useless
Passing Google's Rich Results Test means your markup is parseable. It does not mean it is complete, accurate, or sufficient. Google's Product structured data documentation requires only name, image, and offers with price and priceCurrency — and a huge number of stores stop exactly there. That minimum tells an AI almost nothing useful for constraint matching.
The most common single error is price formatting. Price must be a plain number: "149.99". Not "$149.99", not "1,349.00". A currency symbol or comma invalidates the offer, and at scale this breaks silently — if your template mangles 3% of prices on a 40,000-SKU catalog, that is 1,200 broken products Google will never individually flag.
Here is a realistic baseline. Note the plain-number price and the identifier:
{
"@context": "https://schema.org",
"@type": "Product",
"name": "TrailGrip Waterproof Hiking Boot",
"image": ["https://example.com/boot-1.jpg"],
"description": "Waterproof leather hiking boot with wide-fit sizing.",
"sku": "TG-4410-W",
"gtin13": "0123456789012",
"brand": { "@type": "Brand", "name": "TrailGrip" },
"color": "Brown",
"material": "Full-grain leather",
"size": "Wide",
"aggregateRating": {
"@type": "AggregateRating",
"ratingValue": "4.6",
"reviewCount": "312"
},
"offers": {
"@type": "Offer",
"url": "https://example.com/trailgrip-boot",
"price": "149.99",
"priceCurrency": "USD",
"availability": "https://schema.org/InStock",
"itemCondition": "https://schema.org/NewCondition",
"priceValidUntil": "2026-12-31",
"shippingDetails": {
"@type": "OfferShippingDetails",
"shippingRate": {
"@type": "MonetaryAmount",
"value": "0",
"currency": "USD"
}
},
"hasMerchantReturnPolicy": {
"@type": "MerchantReturnPolicy",
"applicableCountry": "US",
"returnPolicyCategory": "https://schema.org/MerchantReturnFiniteReturnWindow",
"merchantReturnDays": 30
}
}
}
Worth noting: Google added a Product.category property and sale-duration properties to its merchant listing guidance in July 2026, closing a gap between what merchants declare in their Merchant Center feed and what they mark up on-page. If you run time-limited promotions, keep priceValidUntil current — an expired value can stop your rich result from displaying at all.
Your attributes are incomplete, so constraints can't be matched
This is the direct cause of the hiking boot scenario. Every attribute a shopper might filter on — size range, width, material, waterproof rating, wattage, compatibility, dietary tags, capacity — needs to exist as data, not as a sentence. If "available in wide sizes" appears only in a paragraph of marketing copy, an AI matching width = wide has nothing to match against.
Feed completeness matters here too, and not just for ads. Reporting on ChatGPT's shopping surface suggests a substantial share of its product carousel data originates from Google Shopping feeds — meaning the feed work you already did for Shopping ads may already be powering AI visibility. Treat feed attribute completeness as an AI investment, not just a paid-media one.
Critical details only render after JavaScript
Variant pricing, stock status, size availability, and review widgets are commonly injected client-side. Googlebot renders JavaScript reasonably well. Several AI crawlers do not, or do so inconsistently. If your price and availability only appear after hydration, an AI crawler may see a page with no purchasable product on it.
Your schema and your visible page disagree
Schema that claims a $99 price while the page shows $129, or claims InStock on a sold-out product, is worse than no schema. Both Google and AI systems cross-check structured data against visible content, and mismatches erode trust in the whole source. This happens constantly on sale pricing, where the markup updates on a different cadence than the front end.
You have too few reviews for AI to risk recommending you
AI assistants are conservative about product recommendations because a bad recommendation damages the assistant's credibility. Review volume and rating, marked up as aggregateRating, are among the clearest quality signals a model can parse.
Reviews matter twice over, because shoppers verify. Research published in 2026 on AI-referred purchase behavior found the overwhelming majority of shoppers check the brand independently before buying — most commonly by searching the brand on Google or reading reviews. So thin review coverage costs you the recommendation and the conversion after it.
No one else on the web talks about your product
When an AI assembles a "best X" answer, it draws heavily on third-party sources — review sites, comparison articles, roundups, forum threads. If ten editorial roundups in your category mention competitors and none mention you, the model has no corroborating evidence that your product belongs in the answer. Your own product page, however well marked up, is a single self-interested source.
Beyond the PageFeeds, Merchant Programs, and Agentic Checkout
Two developments worth knowing about because they change what "optimized" means.
First, merchant programs. OpenAI now allows merchants to submit product feeds directly, which improves the odds ChatGPT has accurate, current data on your catalog rather than whatever it managed to scrape. If you sell physical products at any scale, getting into that pipeline is higher leverage than most on-page tweaks.
Second, agentic checkout protocols. OpenAI's Agentic Commerce Protocol and Google's Universal Commerce Protocol (co-developed with Shopify and announced at NRF in January 2026) both aim at the same outcome: AI agents completing transactions without a browser in the middle. The practical implication is that your product data quality stops being a marketing concern and becomes transactional infrastructure. An agent cannot buy what it cannot parse.
MeasurementHow to Tell If Any of This Worked
Rank tracking will not show you this, which is why so many stores have no idea they are invisible. Three things to watch instead:
- AI referral traffic. Segment ChatGPT, Perplexity, Gemini, and Copilot referrers in your analytics. Adobe's data showed this traffic converting materially better than average, so it deserves its own view rather than being buried in "other."
- Citation presence on constraint queries. Maintain a list of fifteen to twenty realistic multi-constraint prompts for your category. Check monthly whether your products get named, and by which engine.
- Schema health at scale. Monitor the Merchandise listings and Product snippets reports in Search Console for error rate trends across the catalog, not individual URLs.
Expect crawler and schema fixes to surface within two to six weeks, since shopping data refreshes faster than general web content. Anything depending on reviews, third-party mentions, or ranking gains runs on a 60-to-90-day horizon at minimum. If you want the broader diagnostic framework behind this, we covered it in why your website isn't showing up in AI, and the citation mechanics specifically in our approach to generative engine optimization.
Find out which products AI recommends instead of yours
We run your catalog against real constraint-heavy shopper prompts, audit your schema and crawler access, and hand you a prioritized fix list.
Get Your Free AI Visibility AuditQuestions first? Talk to us.
Frequently asked questions
Why doesn't ChatGPT recommend my products? +
Does Product schema actually help with AI search? +
What Product schema properties are required? +
Should I allow OAI-SearchBot in robots.txt? +
How does AI decide which products to recommend? +
Do product reviews matter for AI recommendations? +
How long does it take for AI to pick up product page changes? +
Sources & references
- Google Search Central — Product (Product, Review, Offer) structured data documentation (required and recommended properties; merchant listing vs product snippet eligibility)
- Google Merchant Center Help — Set up structured data for Merchant Center (price, priceCurrency, availability, condition for automatic item updates)
- Adobe Analytics — 2025 holiday shopping data (AI referrals +693% YoY; 31% higher conversion)
- Capital One Shopping — AI Shopping Statistics 2026 (38% have used GenAI to shop; 80% plan to in 2026)
- OpenAI — ChatGPT Shopping Research (52% vs 37% product accuracy on multi-constraint queries)
- OpenAI — Crawler documentation (OAI-SearchBot vs GPTBot distinction)
- G2 — 2025 Buyer Behavior Report (GenAI chatbots as top influence on vendor shortlists)
- Google Search Central Blog — July 2026 merchant listing structured data update (Product.category and sale duration properties)
- Schema.org — Product vocabulary reference
A note on sourcing: several widely-circulated figures in this space (large conversion multiples, "percentage of brands invisible to AI") originate from vendors selling AI-visibility software. Where possible we have anchored to Google's own documentation, OpenAI's published benchmarks, and Adobe's analytics data instead. Structured-data citation percentages are drawn from third-party analyses and should be read as correlation, not proven causation.