price pricing Fix “Mismatched value [price]” on Google Merchant Center
The price in the feed doesn't match the price on the landing page. Google compares feed values against the live landing page and rejects items where the user would arrive expecting one price and see another. Affected items stop serving until both prices match.
What you see in Google Merchant Center:
Mismatched value [price]
API identifier: mismatched_value_price
Price mismatch is one of the few issues where Google checks the catalog against the live landing page rather than the feed alone. The verification happens at fetch time and again on periodic landing-page recrawls — either path can flag a discrepancy. For sites with frequent price changes (dynamic pricing, regional pricing, promotional cycling), staying ahead of these checks requires more than scheduled feed refreshes. Items get suspended when mismatched; suspended items don't serve in Shopping; suspended items also count against account quality scoring.
The verification is exact. Even a 0.01 difference triggers the flag. Google doesn't have a "close enough" tolerance — the price in the feed must match the price on the landing page penny-for-penny. This catches catalogs where the source system stores prices to 4 decimal places but the feed rounds to 2 differently from the landing page.
The schema.org markup angle is often overlooked. Google reads schema.org/Product markup on the landing page when checking price, and if the schema price doesn't match the visible HTML price, Google treats the schema as authoritative. So a landing page that visually shows the right price but has stale schema markup gets flagged for mismatch even when the visible page looks fine. The fix is regenerating schema markup whenever prices update; many CMS plugins do this automatically but some legacy implementations don't. Audit schema markup as part of price diagnosis — view source on a flagged landing page and find "schema.org/Product".
The currency-treatment issue is another common cause. Some platforms display VAT-inclusive prices in the storefront but export VAT-exclusive in the feed, or vice versa. The two values differ by 20% or so in UK/EU catalogs, which guarantees a mismatch flag. The fix is consistent VAT treatment between feed and landing page — usually VAT-inclusive across both for UK and EU markets, VAT-exclusive across both for US and Canadian markets. Mixing the two within one feed (some items inclusive, others exclusive) creates per-item mismatches that are harder to fix.
Dynamic pricing systems are the modern source of mismatches. Algorithmic repricers update prices at one cadence; landing pages update at another; the feed exports at a third. Even when each system works correctly in isolation, the timing offset means at any given moment the three might show different prices. The durable fix is anchoring all three to one source of truth — the same price update event triggers landing page, schema markup, and feed update simultaneously.
Free-shipping thresholds catch sites where the threshold logic is applied on-site but not in the feed. The landing page shows "£29.99 + £0.00 shipping (free over £30)" but the feed declares shipping: 4.99. The discrepancy isn't on the price itself but on the total cost users see, which Google reads as a shipping mismatch. Align the threshold logic between the feed and the site.
For multi-currency conversion mismatches in dynamic-pricing systems, lock the conversion rate per feed-refresh cycle. The base price in USD might convert to GBP at the moment of feed generation; if the landing page converts at a slightly different rate (from a few minutes later), the prices diverge. Locking the rate at feed-generation time and propagating to the landing page eliminates the timing drift.
For the underlying refresh-cadence problem, the durable answer is real-time price sync via Catalog Batch API rather than scheduled fetches. Daily-refreshed catalogs on hourly-changing inventory always have items in mismatch. Real-time updates close that window from "hours" to "seconds". Most modern platforms support webhook-driven feed updates; older ones don't and remain stuck with scheduled-refresh drift.
AI Shopping Feeds' Audit feature runs landing-page-vs-feed comparison automatically and flags mismatches before Google catches them — the difference between proactive fix and reactive triage. Items flagged proactively can be fixed before suspension; items caught by Google's verification are already suspended and stay suspended until the next clean fetch.
Top causes
- 1
Feed updates lag behind site updates — the feed runs daily, the site updates hourly, so the feed has yesterday's price
- 2
Promotional pricing applied on-site (via storefront promotions) but not propagated to the feed
- 3
Different currencies between feed and landing page (showing GBP on the page, EUR in the feed)
- 4
Sale price logic mismatch — sale_price set in the feed but the landing page shows only base price, or vice versa
- 5
Schema.org Product markup on the landing page conflicting with feed values
How to fix it
- 1
Identify affected items
Merchant Center → Needs attention → 'Mismatched value [price]'. Export with feed-price and landing-page-price columns.
- 2
Choose the source of truth
Either the feed updates more often (real-time price sync) or the site does. Pick one and make the other downstream. Trying to keep both updated independently is where mismatches start.
- 3
Verify schema.org markup on the landing page
View source on a flagged landing page and search for 'schema.org/Product'. If price appears there with the wrong value, fix the markup — Google reads schema before visible HTML.
- 4
Increase feed refresh cadence
Hourly for inventory-sensitive catalogues, daily for stable assortments. Real-time via Catalog Batch API for live pricing.
- 5
Force a refresh
Merchant Center → force-fetch. Items typically clear within an hour of both prices matching.
Related issues
Availability mismatch
The availability in the feed doesn't match what Google sees on the landing page. Feed says 'in stock', the landing page shows 'sold out' (or vice versa). Affected items stop serving until both align.
Read moreInvalid currency code
The price field's currency code isn't recognised. Meta expects ISO 4217 three-letter codes (USD, GBP, EUR, JPY). Affected items are rejected from the catalog.
Read moreRelated fields
Related tools
Related reading
FAQ
Does Google check every page for the price?
Google crawls landing pages on a schedule (typically every few days for active items) and compares against the feed value at fetch time. Discrepancies caught at crawl time get flagged.
What if my site shows price including VAT but the feed shows ex-VAT?
The feed must match the landing page exactly, including VAT treatment. Most regions require feeds with VAT-inclusive prices. Check your local Merchant Center documentation for the country-specific rule.
How tight does the match need to be?
Exact. Even 0.01 difference flags. Google doesn't have a 'close enough' tolerance.
Last reviewed: 26 May 2026
Why wait? Try it free today.
Stop managing feeds manually. Start optimising with AI in 30 seconds.
- Free plan, no credit card required
- 1 brand, 1 feed, 100,000 products per feed
- Full AI Product Optimisation, Rule Engine, and 200+ channel exports
- Pay only for AI credits when you need them