Structured data (the schema.org price markup search engines read directly from your page) and your Merchant Center feed are two separate sources of the same information, and when they disagree — a sale reflected in one but not the other, a currency mismatch, stale markup left over from a theme change — Google can flag it as a discrepancy even though neither number is technically wrong on its own.
Compare your page’s structured data against what’s actually displayed
Use Google’s Rich Results Test on a live product page and check the price it reads from your structured data against the price actually shown to a shopper on that same page. A mismatch there, independent of anything in your feed, confirms this specific issue rather than a feed-side problem.
Structured data vs feed price mismatch
Your page's structured data price reconciled against your feed, so search engines see one true number.
- Full backup taken before we start
- If we can’t fix it, you get your money back
- We never ask for your own password
This or something else?
| Structured data price disagrees with your displayed price or your feed | This fix covers it |
| The mismatch is between your feed and your actual checkout price, not structured data | Automatic item updates & price mismatch fix, the feed-side version |
| You haven’t set up structured data at all yet | A different, initial implementation task |
| Products are disapproved for reasons unrelated to pricing | Product feed disapproval diagnosis & fix, the broader version |
What you are seeing
- Google Search Console or Merchant Center flagging a structured data and feed price mismatch
- Rich Results Test showing a different price than what’s actually displayed
- The discrepancy possibly appearing only during sales or promotional pricing
- Search result rich snippets showing outdated pricing
Common causes
- Structured data generated statically at page creation, not updating when price changes
- A theme or plugin update introducing duplicate or conflicting structured data markup
- Sale pricing reflected in the feed but not in the page’s structured data, or vice versa
- Currency or regional pricing differences not accounted for consistently across both sources
- Cached page content serving stale structured data even after the underlying price updates
What we do
- Identify every source of structured data on affected product pages
- Confirm which source (theme, plugin, custom code) generates the markup
- Ensure structured data pulls live pricing rather than a static snapshot
- Align structured data and feed to reflect the same real-time price
- Test using Google’s Rich Results Test to confirm accuracy
- Check for the same issue across your broader catalogue
What is included
- Structured data corrected to reflect live, accurate pricing
- Consistency verified between structured data and feed
- Testing confirmed using Google’s own validation tool
- A written note on what was causing the mismatch
Not included
- Setting up structured data from scratch, if none currently exists — a separate task
- Guaranteeing rich snippet display in search results, which is Google’s own decision
- Ongoing monitoring as pricing changes going forward
- Resolving an unrelated feed disapproval issue
Questions about this fix
Why would this happen if my feed price is already correct?
Because structured data and your feed are generated independently — a correct feed doesn't guarantee the page's own markup updates the same way, especially if it's cached or generated statically.
Does this affect my search rankings, not just Shopping listings?
It can affect whether search results show rich pricing snippets and how Google trusts your site's data broadly, though it's a data-quality signal rather than a direct ranking factor on its own.
Will this recur every time I run a sale?
It can, if the underlying cause is static generation or caching — fixing the source so structured data reflects live pricing is what prevents it recurring with every future price change.
How is this different from a Merchant Center feed price mismatch?
The feed is what you explicitly submit to Merchant Center; structured data is markup search engines read directly from your page — this fix addresses the page-side source specifically.
Could a caching plugin be part of the problem here?
Yes, if a page is served from cache and the structured data was generated before a price change, the cached version can show stale pricing until it's refreshed.
Related fixes
If this is the second time this year
A bad update breaking the site is a symptom of updates not being tested first. Care plans run every update on a staging clone before it reaches your live site, which is the actual fix for this happening again.
Your access, your rules
Create a separate admin account for us and delete it when we are done. For anything else, we get in touch and agree a method — never a form field on this site, never by reply to an email.
We back up first, always
Before anything is touched we take a full backup and keep it for 30 days. If a fix goes wrong, we put the site back exactly as it was.
If it is not what you bought
If the problem turns out smaller than what you ordered, we refund the difference. If it is bigger, we stop and send a quote before doing any extra work.
If we cannot fix it
You get back what we received. Diagnosis is on us — you only pay when the problem is actually solved. The payment processor takes its fee before the money reaches us, so we never hold it and it is not ours to return. That is true here as everywhere else.
If it comes back
Reply within seven days of delivery and we put it back on the bench at no cost. The fix is not finished until it holds.
What we are responsible for
If something goes wrong with a fix, our responsibility is limited to what you paid for it. We take a full backup first so mistakes can be undone, and we tell you before doing anything outside what you bought.