If you sell online, two systems are quietly deciding how your products will look. Google: Yours merchant center to feedand this structured data Sitting in your page code. Buyers never see either one directly, but Google reads both, compares them, and decides how much to trust what it shows. When they disagree, the costs are not immaterial. this is a low visibility lista warning in Search console, or a Sale price that remains visible even after the sale ends.

Google’s latest update to merchant listing structured data reinforces exactly this relationship. This is a small specific change on paper. In practice, this is a preview of where product SEO is headed: Low tolerance to feed-and-page driftMore Expected Pricing Claims Time bound and verifiable.

What changed: Category and sale period

Google added one category to the property Product Marck up. It accepts a custom label, similar to plain text, feed product_typeor a CategoryCode Object that allows a page to directly declare a Google product category inCodeSet To indicate Google’s taxonomy and codeValue To specify range by ID or path. Both formats can be used together, and a page can contain more than one value.

Additionally, Google formalized how sales period Must be expressed: priceValidUntil, validFromAnd validThroughAll in ISO 8601 format, housed at Offer Or PriceSpecification The node depends on how the sale price is structured. The logic is simple, a listing should not advertise a price that has already expired.

Neither property is strictly required, but both are recommended, and both point to the same underlying idea: Markup and feed must agree with each otherAnd pricing claims must be timely and easy to verify.

Why does this keep happening

Almost no merchant chooses to keep their feed and their page markup out of sync, it just happens. Both are usually constructed Different people, at different times, from different data sources say. The feed is updated on an ongoing basis in the Merchant Center. Page markup is set once, by whoever created the template, and rarely touched again.

Thus a page’s category silently stops matching what is declared in the feed. Google’s merchant list report This drift is common because it exists largely in the search console, and matching the two by hand, page by page, stops being realistic after a few dozen SKUs.

What does this mean for your product pages

If your catalog runs on WordLift, none of this requires action on your part.

Your category markup remains correct without relaunching. You don’t need to provide information to a development team or touch any templates. Product assortment already resides in one place, so am adding CategoryCode Support was a one-time mapping update, with each product page automatically reflecting this going forward.

The ads close themselves after the sale ends. validFrom And validThrough (Or priceValidUntil) are drawn from the same pricing data that drives your storefront. There is no separate copy of “sale price” present in the template, waiting to be out of date, so a listing cannot meet its discount.

One change, your entire list, no page-by-page QA. Since this update is issued at the data layer, it hits every product page at once. No one audits SKUs one at a time to confirm compliance.

Why does this happen less on the knowledge graph?

markup that originates from a connected model Can’t stray from a feed built on a single model, there’s only one source of truth to update.

If you’re not on Wordlift, this is exactly the kind of drift that quietly crops up in merchant listing reports, a mismatch that no one could catch because the feed and markup are maintained by different people, on different schedules.

Check your own catalog

Before anything else, it’s important to know where you really stand:

  • Social class – does yours Product The markup declares one, and does it match your Merchant Center feed?
  • sales period – Do timed prices apply validFrom And validThroughOr does the markup reflect a fixed price indefinitely?
  • rendering — Is some of this generated by JavaScript after page load? Google still recommends having it present in the initial HTML for merchant listings.

None of these are hard to fix individually. It is difficult to keep them correct over time – This is the real problem that a connected product model is designed to solve.