ShipworkSite inspection
Prices

Crawlability

PaginationAre paginated pages set up right?Internal searchIs site search eating crawl budget?URL parametersAre parameters creating duplicates?Log analyserWhat does Googlebot actually crawl?Robots builderNeed a robots.txt file?Soft 404sAre pages “not found” but returning 200?JavaScriptCan crawlers see it without running JS?FreshnessIs my site quietly going stale?Robots.txtDoes robots.txt say what I think?

Indexing

Sitemap lastmodAre my sitemap dates valid?SitemapIs my sitemap actually fetchable?IndexingIs Google allowed to index my pages?CanonicalsIs Google indexing the wrong URL?Index signalsDo sitemap and index signals agree?Sitemap generatorNeed a sitemap.xml for my site?Bulk URL statusWhere does each of these URLs really land?Redirect builderNeed the redirect rules?RedirectsAre my URLs answering directly, over HTTPS?

On-page

Keyword ideasWhat are people searching for?SERP previewHow does my page look in Google?Content qualityAre your pages too thin or too alike?Image weightAre images slowing the page?CannibalizationAre pages competing with each other?On-page checkDoes the page use its target phrase?ImagesAre my images accessible and loading?Meta tag builderWhat should my title and share tags say?DuplicatesDo my pages compete for one query?

Links

Orphan pagesWhich pages can no link reach?Link graphHow deep do your pages sit?Anchor textDo links say what they point at?Outbound linksAre external links still alive?Broken linksAre internal links sending visitors nowhere?

Structured data

Rich resultsIs my markup eligible for a rich result?Structured dataIs my product schema valid?Schema coverageDo my key pages carry structured data?Social previewHow does my page look when shared?Schema vs pageDoes markup match the page price?Schema builderNeed valid JSON-LD?

International

Hreflang sitemapDo page and sitemap hreflang agree?HreflangDo my language versions link back?Hreflang builderNeed the hreflang tags?Page DoctorWhy is this page not doing well?Redirect planMy site has dead links — what redirects do I write?Sitemap diffIs anything missing from my sitemap?Robots simulatorWhat does my robots.txt actually block?Can Googlebot?Can Googlebot fetch this URL?
Every error, explainedGuides
Pricing Learn Error guides Run free audit

+1 free check

Welcome to Shipwork

Sign in free and your next check this month is on us.

Continue with GoogleContinue with email

We email you a 6-digit code. No password.

No card needed. Reports and watches follow you to any device.

All errorsMismatched price

Why the price in your feed must match the page to the cent, and the fix

What the error means

Google fetches every product landing page and compares the price it finds against the feed value. Any difference — a stale sale price, a currency rounding artifact, a page showing a different variant’s price — is a mismatched price, and it draws preemptive disapproval: the item is pulled before it can mislead anyone.

Why Google rejects it

Shopping is a price-comparison surface. If the listed price turns out to be wrong at click time, the shopper was misled and Google paid for a bad experience. That is why enforcement is preemptive: the mismatch does not need to be proven harmful to get the item pulled.

FEED PRICE$19.99PAGE PRICE$24.99
To the cent or rejected: the two prices must agree.

How to fix it

  1. Schedule feed updates to coincide with store updates — the time between your price change and the feed re-fetch is the mismatch window.
  2. Turn on automatic item updates in Merchant Center for minor corrections, and clear your page cache so crawlers see current prices.
  3. Never use IP geolocation to change displayed prices — crawlers get a different region’s price than the feed declares.
  4. Check structured data too: the JSON-LD price on the page must agree with both the feed and the visible price.
  5. Fix the pattern, not the product: stale sale prices and rounding usually come from one source — an expired promotion or a conversion setting.

Common causes

Expired or scheduled sales

The sale ended on the site but the feed still sends the sale price, or a scheduled sale started before the feed refreshed. Any sale without matching start and end dates in the feed is a mismatch waiting to happen.

Currency and tax differences

The page shows a price converted to the visitor's currency or including tax, while the feed sends the base currency or a pre-tax price. Google compares like with like for the target country, so the page must show the feed's price for that country.

Variant price on the page is not the feed item's price

The page opens on the cheapest variant while the feed item is a larger size. Link each feed item to its variant URL so the page loads with the matching variant selected.

Structured data price is stale

The visible price updated but the JSON-LD price is cached, hard-coded in a template, or written by an app that did not refresh. Google reads both and flags the disagreement.

Geolocation or login pricing

Prices that change by visitor IP, customer group or membership mean Googlebot sees a different price than the feed declares. Crawlers do not log in and may not come from the country you target.

Fix it on your platform

On Shopify

  1. Check Markets settings: if a market shows prices in local currency, make sure the feed for that country uses the same currency and rounding rules.
  2. Make sure each feed item links to the variant URL (with ?variant=ID) so the page loads that variant's price.
  3. View source on a product and compare the "price" in the JSON-LD with the visible price and the feed. If they differ, the theme's schema snippet or an app is the source.
  4. Avoid automatic currency conversion apps that change the price after the page loads for the country you advertise in.

On WooCommerce

  1. Set sale price schedules on the product and confirm your feed plugin sends sale_price_effective_date, or drops the sale price when the schedule ends.
  2. Check WooCommerce > Settings > Tax: "Display prices in the shop" must match what your feed sends for countries where prices include tax.
  3. Purge the page cache after price changes; a cached page is the most common cause of stale visible prices.
  4. Make sure the SEO plugin's Product schema uses the current price, including the sale price when a sale is active.

On other platforms

  1. Send sale prices with effective dates so the feed and the site switch at the same moment.
  2. Show the same price, currency and tax treatment on the page that the feed sends for each target country.
  3. Do not change displayed prices by IP address for the countries you advertise in.

How to confirm it is fixed

  1. Open the landing page URL from Merchant Center in a private window and compare the visible price, the JSON-LD price and the feed price for the same variant.
  2. Run the price check to find other products whose prices disagree across the catalogue and the page.
  3. After fixing, trigger a feed fetch in Merchant Center rather than waiting for the next scheduled one.
  4. Check the item again after Google recrawls the page; the disapproval stays until both sides have been checked.

Questions

How exact does the price have to be for Google Shopping?
Exact. The price on the landing page must match the feed price in the same currency, including cents. Rounding differences from currency conversion, or showing a price with tax in one place and without it in the other, are enough to cause a mismatch.
Why does Google see a different price than I do?
Google fetches the page as a crawler, often from a different country, without your cookies or login. If your site changes prices by location, customer group or app script, the crawler may get a different price. Check what an outside request receives, not what your browser shows.
Do sale prices cause price mismatch errors?
They do when the feed and the site switch at different times. Send the sale price with a start and end date, or update the feed at the same moment the sale starts and ends on the site.
Can automatic item updates fix price mismatches?
They can correct the price in Merchant Center using what Google finds on your page, which helps with short delays. They do not help when the page itself shows the wrong price or when the structured data disagrees with the visible price.
Does structured data price matter if the visible price is correct?
Yes. Google reads the price in the Product markup as well as the visible page. If the markup carries an old price, that disagreement can still cause the item to be flagged.
Find out if this is happening to you

Shipwork reads prices from your public catalogue and your product pages, and reports every product whose price is missing, zero, or disagrees across surfaces. Free, no account, no signup. Paste your store address.

Check my store for Mismatched price

Go deeper: Feed vs page mismatch, explained

Other errors like this