Use this when
product schema, product json-ld, merchant schema, shopping schema.
Process
Google's actual confirmed required properties for Product/Merchant listings are just three: name, image, and offers — and offers must be an Offer, never AggregateOffer, for a merchant listing. Everything else is recommended, not required; don't overstate the requirement bar.
Recommended properties, roughly in order of scoring impact: sku, description, brand, offers.seller, global trade identifiers (gtin13/gtin14/mpn), aggregateRating (star rating + review count), at least one individual review, variant attributes (color/material/size), shippingDetails as a ShippingDetails object with rate and delivery time, hasMerchantReturnPolicy as a MerchantReturnPolicy with type and days, and category (accepts plain text, a CategoryCode, or an array mixing both).
For adult-oriented products specifically, hasAdultConsideration is required (added 2026-05-20), and Google Search supports only the value https://schema.org/SexualContentConsideration — flag its absence on any product that needs it as a compliance gap, not just a scoring one.
Validation rules to enforce: price is a bare number string, never prefixed with a currency symbol; availability uses the full Schema.org URL enum; image is an array with at least one high-resolution URL; priceCurrency is a real ISO 4217 code; if brand is present, brand.name must be a real value, never empty or "N/A"; sale periods use validFrom plus validThrough or priceValidUntil in ISO 8601; if aggregateRating is present, both ratingValue and reviewCount are required; never mark up a fake or undisclosed incentivized review.
Scoring ladder for completeness: all required fields alone = 50/100; + aggregateRating = 65; + sku/gtin/mpn = 75; + shippingDetails = 85; + merchantReturnPolicy = 90; + 3 or more real reviews = 100.
Separately, note Universal Commerce Protocol (UCP) readiness as an emerging, optional signal: a merchant with clean Product schema can declare a UCP profile at /.well-known/ucp listing checkout/fulfillment/discount capabilities for AI shopping agents. This is genuinely live infrastructure (Google, Shopify, Etsy, Wayfair, Target, Walmart), but broad adoption is still early — report its absence as an opportunity, not a defect, and never claim to have probed the live endpoint (that needs the source project's own script, not something this team can run).
Output the complete JSON-LD block plus the completeness score and what would move it to the next tier.