Why price lives inside a nested Offer, not on the product itself#
A single product can have multiple offers — different sellers, different conditions (new versus refurbished), different regions with different prices — so schema.org models price, currency and availability as a separate Offer object nested inside the Product, rather than flat properties on the product directly. This tool only needs one offer per product, but the nesting still matters: a flat, non-nested price property is not valid Product schema and will not be read correctly.
A rating has to be real, not a number you decided on#
Google's structured data guidelines are explicit that aggregateRating must reflect genuine, verifiable reviews — never a rating an owner assigns to their own product for the sake of showing stars in search results. This is exactly the kind of self-serving markup Google's spam policies target and can result in a manual action if abused. If a product does not yet have real reviews, the honest move is to leave rating and review count both empty rather than invent a plausible-looking number — this tool requires both fields together specifically so a lone, made-up rating count cannot slip through.
The availability values Google actually recognizes#
availability is not free text — it has to be one of a fixed set of schema.org values, referenced as a full URL (https://schema.org/InStock, not just the word InStock). This tool generates the correct full-URL form automatically from the dropdown selection, since typing the bare word is a common source of Product schema that looks right but technically fails validation.