AEO for Reviews: Getting Your Ratings Quoted by AI Agents
AI agents quote a star rating when it is backed by verified, machine-readable review evidence. Mark up real reviews with Review and AggregateRating schema, surface photo and video proof to crawlers, and never pad the count.
A skincare brand we talked to had 4,000 reviews averaging 4.7 stars and a glowing PDP to show for it. Then a buyer asked ChatGPT "is this serum worth it?" and the agent answered from a Reddit thread and a single third-party roundup. The brand's own rating, the one earned from 4,000 real customers, never made it into the answer. The reviews were on the page. They just were not on the page in a form an agent could read, trust, or quote.
AEO for reviews means structuring your customer ratings so AI agents can read them, verify they are real, and quote them in an answer. The mechanics: mark up genuine reviews with Review and AggregateRating JSON-LD, link every rating to an identifiable author and date, and surface photo and video proof to crawlers. Agents weight verified, attributable reviews far higher than anonymous star averages, so the evidence has to be machine-readable, not just visible.
The gap is not credibility. A 4.7 from thousands of buyers is plenty credible to a human. The gap is that an agent cannot see your rendered star widget the way a shopper does. It reads the structured data underneath, cross-checks it against the rest of the open web, and decides whether the number is safe to repeat. If the markup is missing, thin, or looks padded, the agent quietly routes around you and cites someone else.
In this article
0%
of shoppers say reviews influence purchase decisions
Source: Bizrate Insights / consolidated review-impact research
0x
weighting AI engines give verified over unverified review evidence
Source: Idukki citation study (representative, internal dataset)
+0%
conversion uplift range when visitors interact with review content
Source: Bazaarvoice consolidated conversion data
0%
of consumers trust online reviews as much as personal recommendations
Source: BrightLocal consumer review survey
Why do agents weight verified reviews higher?
An AI agent is doing something a search ranking never had to: it stakes a claim. When it tells a buyer "this serum averages 4.7 from over 4,000 reviews," it is putting a number in its own mouth. That raises the bar for what counts as evidence. A bare star average with no provenance is exactly the kind of thing a model has been trained to distrust, because it is also exactly what a manipulated listing looks like.
Verification is what closes the gap. A review the agent can tie to an identifiable author, a date, and ideally a corroborating signal elsewhere on the web is one it can repeat without much risk. An anonymous "5 stars, great product" floating in a carousel is not. We covered the weighting gap in detail in why AI engines weight verified reviews up to 14x, and the short version holds here: provenance is the currency. Without it, the rating is noise the model filters out.
- Attribution: a name or handle the engine can resolve, not "Anonymous" repeated 4,000 times.
- Recency: a datePublished that proves the reviews are current, not a frozen snapshot from three years ago.
- Corroboration: the same rating echoed on Google, Trustpilot, or Feefo so the number is not your word against nobody.
- Specificity: review bodies that mention the actual product and use case, which read as human rather than templated.
What review schema actually gets quoted?
Two Schema.org types carry the load: Review for an individual rating and AggregateRating for the summary. Agents read both. The individual reviews give the model attributable evidence it can sample and even quote verbatim; the aggregate gives it the headline number. Emit one without the other and you hand the engine half a story. The aggregate alone looks unsubstantiated; the individual reviews alone leave the engine to do its own (often wrong) math.
The example below is illustrative schema, not data to copy. The author names, dates, and bodies stand in for your real customers. The single hard rule: reviewCount and ratingValue must be computed from reviews that genuinely exist. Do not pick a flattering number and back-fill. If you have 412 real reviews averaging 4.6, that is what ships.
{
"@context": "https://schema.org",
"@type": "Product",
"name": "Bodycon Sunscreen SPF 50",
"aggregateRating": {
"@type": "AggregateRating",
"ratingValue": "4.6",
"reviewCount": "412",
"bestRating": "5",
"worstRating": "1"
},
"review": [
{
"@type": "Review",
"author": { "@type": "Person", "name": "<real customer name>" },
"datePublished": "2026-05-18",
"reviewBody": "<verbatim review text from a real customer>",
"reviewRating": {
"@type": "Rating",
"ratingValue": "5",
"bestRating": "5",
"worstRating": "1"
}
}
]
}How do you avoid fake-rating penalties?
Google's review-snippet guidelines are explicit: the aggregate you mark up must reflect reviews users can actually see on the page, and self-serving markup (a brand rating its own product, or invented reviews) is disallowed. Agents apply the same logic with less mercy. They cross-check your stated aggregate against what they can independently find, and a number that floats free of evidence gets dropped.
The failure modes are boringly common. A store mass-imports reviews and stamps them all with today's date, so 4,000 reviews appear to have landed in a single afternoon. Another points AggregateRating at the brand itself rather than the product, inflating a storewide average onto every page. A third ships reviewCount: 5000 while only 300 reviews are visible. Each of these is a tell, and each one teaches the engine to ignore your review block on every future query.
From a real review to an agent citation
- 01
Collect with provenance
Capture the review tied to a verified purchase or social account, with a real author and timestamp.
verified buyer
- 02
Mark up the real number
Emit Review + AggregateRating JSON-LD computed only from reviews that exist on the page.
Review + AggregateRating
- 03
Surface visual proof
Give photo and video reviews alt text, captions, and transcripts so crawlers can read the evidence as text.
alt + transcript
- 04
Corroborate across sources
Echo the rating on Google, Trustpilot, or Feefo so the number is independently checkable.
cross-source match
- 05
Get quoted
The agent reads attributable, corroborated evidence and repeats your rating in its answer.
named in answer
How do you make photo and video reviews citable?
Photo and video reviews are the strongest trust signal a human sees and the weakest one a text-first crawler reads, because most agents do not watch your clips. The fix is to translate visual evidence into text the crawler can index: descriptive alt text on review photos, written captions that name the product, and transcripts or VideoObject markup on video reviews. The proof a shopper trusts becomes proof an agent can quote.
Verified vs unverified review evidence: how engines weight it
- Verified, attributable review with date + corroboration14x weight
- Photo/video review with alt text + transcript~11x weight
- Star average with no provenance~2x weight
- Anonymous, undated star widget~1x weight
This is also where UGC and reviews stop being separate problems. A customer video that shows the product in use, captioned and transcribed, doubles as a photo review and as the kind of specific, human evidence agents prefer. Idukki captures that content with consent through Rights Management, then ships it to your PDP and to your structured feed at the same time, so the evidence a shopper sees and the evidence an agent reads come from one source of truth.
How do you measure whether reviews get cited?
You measure it the way a buyer would: by asking. Build a short list of the questions a real shopper types into ChatGPT, Gemini, or Perplexity about your category ("best SPF 50 for oily skin," "is X serum worth it"), run them on a schedule, and log whether your brand and its rating get named. Track which source the engine cited, whether the number it quoted matches your real aggregate, and whether photo or video evidence got referenced. That log is your AEO scorecard for reviews.
- Citation rate: of N buyer questions, how many name your brand and rating.
- Number accuracy: does the quoted rating match your true aggregate, or a stale/third-party one.
- Source: is the engine citing your domain, or a Reddit thread and a roundup site.
- Evidence type: text rating only, or photo/video proof referenced too.
The same discipline scales across the whole AEO surface, not just reviews. If you want the full rubric, the 42-signal AEO scorecard covers schema coverage, crawlability, and citation tracking as one system; reviews are one high-value slice of it.
Verified, marked-up, honest
Real reviews, real dates, schema that matches what is on the page.
Wins at
- AggregateRating computed from visible reviews
- Each Review has an attributable author + date
- Photo/video proof given alt text + transcripts
- Rating corroborated on Google / Trustpilot / Feefo
Struggles with
- Takes a real collection programme to build the count
- Needs rights captured before video is reused
Padded, anonymous, mismatched
Looks fine to a shopper; reads as manipulation to an agent.
Wins at
- Cheap to fake a high number
- Renders a shiny star widget
Struggles with
- reviewCount exceeds visible reviews
- Reviews undated or all stamped one day
- Aggregate points at the brand, not the product
- Engine drops the block and cites a third party
The difference is provenance and honesty, not volume
Agents do not quote the rating that looks best. They quote the one they can prove.
Rohin Aggarwal
Sources
- 1Schema.org — Review · Type definition for individual review markup
- 2Schema.org — AggregateRating · Type definition for summary rating markup
- 3Google Search Central — Review snippet structured data guidelines · Rules on self-serving markup and visible-review requirements
- 4BrightLocal — Local Consumer Review Survey · Consumer trust in online reviews
- 5Bazaarvoice — Conversion impact of review content · Consolidated review-interaction conversion data
- 6Idukki — Reviews evidence and the verified 14x weighting · Companion piece on verified-review weighting (internal dataset)
Continue reading
2 pieces in this clusterThese long-form pieces on the Idukki blog link back to this article, go deeper on the cluster.
- AI search
Answer Engine Optimisation for Ecommerce: The Complete AEO Library
Being cited by ChatGPT, Perplexity and Google AI Overviews is the new ranking. This is the full, organised AEO library for ecommerce: foundations, crawlability, schema, evidence, and measurement, with a curated map so you can start anywhere.
- AI search
The agent review-trust standard: how AI shoppers decide which ratings to believe
AI shopping agents do not take a star rating at face value. They check whether each review is verified, dated and attributable, then weight the score accordingly. Here is the signal stack and the schema that earns trust.
More from Rohin Aggarwal
- Industry playbook
How to run a UGC competition that fills your gallery, online and in-store
The runbook for a UGC competition that actually fills the gallery: the mechanism, five formats, an end-to-end schedule, paste-ready copy templates, and the one thing ASOS, Starbucks, e.l.f. and Gymshark all got right that most brands skip.
- Conversational commerce
Why we built the Conversational PDP
Most product-page exits are a single unanswered question, asked silently. Here is the case for answering it on the page, from your own evidence, and the story of why we built a Q&A that is curated-first and AI-second.
- Strategy
PDP before and after UGC: what actually changes on the page
Strip a product page back to brand-only content, layer verified customer photos, video and reviews into the middle scroll, and watch what moves. A scroll-by-scroll look at the before and after, the numbers the public studies actually support, and where "just add UGC" gets oversold.