← Back to AI Search & SEO

Customer Review System That Generates Valid Review Schema

Build a customer review collection workflow whose output maps cleanly to Schema.org Review and AggregateRating: the structured data Google needs to show star ratings in search and AI answer engines need to cite you confidently. Includes review-request email templates, structured intake form fields, and the JSON-LD generator that turns raw reviews into valid markup.

IntermediateMULTI-STEP WORKFLOWBrand-building

reviews · schema · aggregate-rating · json-ld · reputation · workflow

Pro tip

AggregateRating without backing Review entities is the #1 cause of "invalid structured data" errors in Google Search Console. Many small business sites add stars to their Organization schema without the actual reviews to back them, and Google flags every page. This workflow fixes the root cause: collect reviews in a structured format from day one, then auto-generate matching Review JSON-LD.

How to use this prompt

  1. Pick your AI model. Choose the tab for Claude, ChatGPT, Gemini or Copilot. Each variant is tuned for that model.
  2. Copy the full prompt. Click Copy Full Prompt to copy the text to your clipboard.
  3. Paste into your AI tool. Open your chosen model and paste the prompt into a new chat.
  4. Replace the [placeholders]. Swap any bracketed fields for your company name, audience, product or tone.
  5. Run and refine. Review the output. If anything is off, ask the AI to tighten tone, length or format.

Prompt Variants by Model

Claude Sonnet 5
Act as a structured-data engineer and customer-marketing strategist. Build a customer review collection system whose output maps cleanly to Schema.org Review + AggregateRating, so my reviews are marked up accurately, can be cited confidently by AI answer engines, and can show stars in Google search where the reviewed type is eligible.

Business context:
- Name + what we do: [NAME — SENTENCE]
- What's reviewed: [Product / Service / LocalBusiness / SoftwareApplication / Course] · its name: [NAME]
- Page where reviews display: [https://YOUR-DOMAIN.COM/...]
- Rating scale: [1-5 stars / 1-10 / thumbs / NPS 0-10]
- How customers reach you: [email / SMS / in-app / POS / post-call] · review-request trigger: [DESCRIPTION]
- Brand voice: [warm-expert / no-nonsense / playful / premium / technical / friendly-everyday]
- Existing review platforms: [GBP / Trustpilot / G2 / Capterra / Yelp / NONE]

Build six artifacts:
1. Trigger logic — event + delay + qualification rules, one paragraph
2. Review-request message — email/SMS/in-app copy, ≤120 words, brand voice, one clear ask + form link
3. Structured intake form spec — table: Field · Type · Required · Maps to Schema.org field · Help text. Must capture reviewer name, optional company, rating, review body, optional photo URL, consent to publish
4. Reviewer-side micro-prompt — 1-2 sentences shown inside the form (length target, what to mention, what to skip)
5. JSON-LD generator — code (Python or Node) that takes an array of review objects and outputs (a) a Review JSON-LD per review and (b) AggregateRating recomputed from the array; skip reviews with body under 50 characters or missing rating
6. Refresh rule + pre-publish audit — when to recompute AggregateRating; checklist (AggregateRating count = visible Review count; every Review has required fields; every Review.itemReviewed @id exists on the page); Rich Results Test URL; any default you applied where I gave no context

Schema requirements: each Review needs @type Review, author {@type Person, name}, datePublished ISO, reviewRating {@type Rating, ratingValue, bestRating, worstRating}, reviewBody (≥50 chars), itemReviewed @id. AggregateRating needs @type AggregateRating, ratingValue (computed), reviewCount (published only), bestRating, worstRating, itemReviewed @id matching.

Star eligibility: Google shows review stars only for the types its review snippet documentation supports; of the types above, those are Product, SoftwareApplication and Course. It does not show them for reviews a business collects and publishes about itself under LocalBusiness or any Organization type, and Service is not a supported type. State in artifact 6 which case applies to me, and promise stars only where the type is eligible.

Collection rules, applied to all six artifacts: the request goes to every customer who reaches the trigger; no satisfaction question, score or filter decides who is asked or who reaches the public form, and qualification rules test only that the purchase or service really happened. Every genuine review is published and counted in AggregateRating whatever its rating; the generator skips a review only for the two reasons in artifact 5. Offer no incentive for a review left on Google; an incentive for a review on my own site goes to every reviewer whatever the rating and is disclosed beside the review. Google's review policy prohibits selectively soliciting positive reviews, discouraging negative ones and offering incentives, and FTC guidance says not to ask only customers expected to be positive and to disclose any incentive.

Success means the generator code runs as written on a sample array and its output validates against the requirements above.

Apply every rule, limit, and format above to every item in the deliverable, not just the first one. Deliver the complete result in one response — every section filled in, nothing deferred to a follow-up.

If a required input is missing, ask for it once before starting; otherwise proceed and label any assumption you made.

Notes: R40 refresh; tuned to vendor prompting guidance

Frequently Asked Questions

What does the Customer Review System That Generates Valid Review Schema prompt do?

Build a customer review collection workflow whose output maps cleanly to Schema.org Review and AggregateRating: the structured data Google needs to show star ratings in search and AI answer engines need to cite you confidently. Includes review-request email templates, structured intake form fields, and the JSON-LD generator that turns raw reviews into valid markup.

Which AI models is this prompt written for?

Claude, ChatGPT, Gemini and Copilot. Each one gets its own version up top, written the way that vendor says to prompt its own model. Pick the tab that matches yours.

Do I need a paid AI account to use this prompt?

No. This prompt is written to run on the free tier of Claude, ChatGPT, Gemini and Copilot. Paid tiers simply give you longer context windows and faster responses.

Can I customize this prompt for my business?

Yes. Any text inside square brackets is a placeholder you replace with your own business details, such as company name, audience, product or tone. You can also ask the AI to adjust format, length or style after the first output.

When was this prompt last checked?

The date is on each version up top. We check every prompt in full every month, and when a major new model lands we rewrite the prompt for it. One glance tells you how current it is before you paste.

Works with

More in AI Search & SEO

Browse all prompts →