Idukki
AI search

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 review evidence is worth structuring properly

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.

json
{
  "@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

  1. 01

    Collect with provenance

    Capture the review tied to a verified purchase or social account, with a real author and timestamp.

    verified buyer

  2. 02

    Mark up the real number

    Emit Review + AggregateRating JSON-LD computed only from reviews that exist on the page.

    Review + AggregateRating

  3. 03

    Surface visual proof

    Give photo and video reviews alt text, captions, and transcripts so crawlers can read the evidence as text.

    alt + transcript

  4. 04

    Corroborate across sources

    Echo the rating on Google, Trustpilot, or Feefo so the number is independently checkable.

    cross-source match

  5. 05

    Get quoted

    The agent reads attributable, corroborated evidence and repeats your rating in its answer.

    named in answer

The path a verified rating travels before an AI engine will repeat it

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 + corroboration
    14x weight
  • Photo/video review with alt text + transcript
    ~11x weight
  • Star average with no provenance
    ~2x weight
  • Anonymous, undated star widget
    ~1x weight
Representative weighting an AI engine applies to attributable, corroborated evidence over anonymous star averages (Idukki citation study, internal dataset)

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.

CompareReview block that gets quoted vs one that gets ignored
1Quotable

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
14xevidence weight vs anonymous
2Ignored

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
~1xevidence weight, often discounted

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

  1. 1Schema.org — Review · Type definition for individual review markup
  2. 2Schema.org — AggregateRating · Type definition for summary rating markup
  3. 3Google Search Central — Review snippet structured data guidelines · Rules on self-serving markup and visible-review requirements
  4. 4BrightLocal — Local Consumer Review Survey · Consumer trust in online reviews
  5. 5Bazaarvoice — Conversion impact of review content · Consolidated review-interaction conversion data
  6. 6Idukki — Reviews evidence and the verified 14x weighting · Companion piece on verified-review weighting (internal dataset)
#Review schema#AEO#AI citations

Continue reading

2 pieces in this cluster

These long-form pieces on the Idukki blog link back to this article, go deeper on the cluster.

More from Rohin Aggarwal

Where Idukki ships

Same data model. Every surface a shopper meets.

We use cookies

We use essential cookies to run this site and optional analytics cookies to understand how it’s used. You can change your choice anytime in our privacy policy.