makseongmakseong
Feed GuardAugust 14, 20264 min readBy Maksym Burkhan

Price and availability mismatches: when your feed and your page disagree

One of the most frustrating Google disapprovals is the one where nothing looks wrong: the product exists, the price is real, the item is in stock. But Google flags it, because the price or availability in your feed does not match what it sees on the live product page. Google crawls the page and compares, and any gap reads as a mismatch. Here is why this happens to careful stores and how to keep the two in sync.

What a mismatch actually is

Google does not just read your feed. It visits the product’s landing page, reads the price and availability there, and checks that they agree with what the feed submitted. When the feed says one price and the page shows another, or the feed says in stock and the page says sold out, Google trusts the page and disapproves the offer. The logic is shopper protection: a person who clicks a listing should see the price and availability they were promised. A mismatch breaks that promise, so the listing comes down until the two agree.

  • Google compares the feed’s price and availability against your live product page.
  • When they disagree, Google trusts the page and disapproves the offer.
  • The rule protects shoppers from a bait price or an out-of-stock click.

Why it happens to honest stores

Almost none of these are dishonest, they are timing and plumbing. A sale goes live on the storefront before the feed re-syncs, so the feed still shows the old price for an hour. A currency or rounding difference makes the numbers look off. Tax or shipping is baked into one number but not the other. Structured data on the page carries a stale price a theme set months ago. Or availability drifts: the last unit sells, the page flips to sold out, and the feed has not caught up. Each is a sync gap, not a lie, but Google cannot tell the difference.

  • A sale or price change goes live before the feed re-syncs.
  • Currency, rounding, or tax and shipping baked into one number but not the other.
  • Stale structured data on the page from an old theme or plugin.
  • Availability drift: the page sells out before the feed updates.

How Google reads the page

The price and availability Google checks against are not only the visible text. It also reads the structured data on the page, the machine-readable markup that states the price, currency, and stock status. If that markup is wrong or stale, it can disagree with both your feed and what a human sees, and Google may act on the markup. The checkout matters too: a price that changes at the cart, from a fee or a currency switch, is another place the promise can break. The safe target is one consistent number across feed, page text, structured data, and checkout.

  • Google reads the page’s structured data (markup), not just the visible price.
  • Stale or wrong markup can disagree with both the feed and the visible price.
  • The checkout price must match too, with no surprise fees or currency switches.

Fixing it at the source

The fix is a single source of truth for price and availability, flowing cleanly to every surface. Let the store be the master, make sure the feed re-syncs quickly after any change, and use the dedicated sale price field for discounts instead of overwriting the base price, which keeps the strikethrough correct and the comparison clean. Confirm the structured data on the page reflects the current price, not a value hard-coded long ago. And check that currency, tax, and shipping are handled the same way in the feed as on the page. Then the mismatch has nowhere to come from.

  • Keep one source of truth; make the feed re-sync quickly after price or stock changes.
  • Use the dedicated sale price field for discounts, do not overwrite the base price.
  • Make sure the page’s structured data shows the current price, not a stale one.
  • Handle currency, tax, and shipping the same way in the feed and on the page.

Keeping price and availability in sync

Price and stock are the most volatile things in a catalog: they change every day, and every change is a chance for the feed and the page to drift apart for a while. A store can be perfectly set up and still throw mismatches whenever a sale launches or an item sells out faster than the feed refreshes. That is why this one rewards monitoring more than most: a check that reads the live status of each offer catches a mismatch in the window where it is a quick re-sync, before it becomes a disapproved product and lost traffic. It is an informational check, not legal advice, and it does not guarantee compliance, but on price and availability, catching the drift early is the whole game.

By Maksym Burkhan · Founder, makseong

Maksym builds focused Shopify apps at makseong and writes about Google Merchant Center, product feeds, and the compliance problems merchants actually run into.

Related guides

See it on your own store

Run a free feed scan