Merchant Center Price Mismatch Error: Why Products Get Disapproved

What should you do when Merchant Center price mismatch warnings appear?
A Merchant Center price mismatch means the price in your product data differs from the price on your landing page. Open the example products in the warning, compare the page price with your data source, fix the difference, send the update, and then ask Google to recheck your site.
Stay calm and follow this order:
- Open the warning email and the Merchant Center notification, then note the example products.
- First, visit each example landing page in a private window and write down the price you see.
- Then compare that number with the price, currency, and tax status in your data source.
- Next, find the source of the gap. It may be a stale feed, an ended promotion, a cache, or old product markup.
- After that, send the fix through your feed, the Merchant API, or your store plugin.
- Finally, request a recheck of your site and wait for the result.
We explain each step below. We cannot promise approval or a recovery date, but the right order shortens the process. Also, we suggest a routine so the same warning does not return.
What does a Merchant Center price mismatch actually mean?
Google expects the price in an ad or free listing to match the price on the page after the click. So when it does not, the system flags the product. The official Merchant Center Help page on mismatched product price describes this as a comparison between the price attribute in your data source and the landing page or product markup.
In short, a Merchant Center price mismatch is rarely about bad intent. In practice, two sources stopped updating together. A promotion started or ended, so the site changed while the feed kept the old value.
The Help Center uses several names for related issues. You may see a similar warning on your screen, and menu names change over time. So do not rely on exact wording. Read the product detail text and focus on the example URLs.
Instead of a broad guide, this article covers this one situation only. Account level misrepresentation is a separate topic, and we point to it below.
How does Google compare your price with the page?
Google's crawler visits the product URLs in your data source on a regular basis. It reads the visible price and the price in your product markup, then compares them with the value you submitted. The Help page stresses that the price in the HTML must match the uploaded price exactly.
That means you need to check four places:
- Visible price: the main price label on the product page.
- Markup behind the page: the price inside your Product structured data.
- Cart and checkout: the final amount your shopper sees at payment.
- Data source: the price your feed, API, or plugin sends.
In practice, if any one of the four differs, you can see a mismatch. For example, the page may look right while the markup stays old. In that case, a visual check alone will not catch it.
Google also repeats this check regularly. So a product that looks clean today can fail tomorrow after a promotion changes the price.
Why does a price mismatch lead to disapproved products and stopped ads?
A disapproved product does not run in Shopping ads or free listings. If only one product has the issue, only that product stops. But if the issue touches most of your feed, your campaign loses impressions and both spend and sales drop.
Shopping campaigns depend on product data, so when products lack approval, the ad group has nothing to show. Feed based campaign types such as Performance Max follow the same logic.
In short, the disapproval protects shoppers, not punishes you. A shopper who sees one price in the ad and another on the page loses trust. That is why Google treats the gap seriously.
For the bigger picture, read our guide to Google Shopping and Merchant Center. We will not repeat it here, because this article stays on the price gap.
Disapproval also affects free listings. Your products can disappear from organic shopping surfaces too, so you lose that traffic as well.
Can your account get suspended, and how do warnings differ from disapprovals?
The official page says a price mismatch can lead to product disapproval and possibly account suspension. However, not every warning means a suspension. Your notice usually arrives first as a warning or a preemptive item disapproval.
A warning gives you a chance to fix the issue. A disapproval means the product left the program for now. If you ignore the problem, or if it is widespread and repeated, a heavier action can follow.
So do not postpone a warning. Timelines and waiting periods can change, so check current values on the official Help page. We avoid quoting numbers here because a figure we write today may age quickly.
A suspension for misrepresentation is a different matter. For that, read our article on Merchant Center misrepresentation suspensions.
Whatever the notice says, keep a record. Save the date, the example products, and each change you make.
What causes a Merchant Center price mismatch most often?
From our field experience, causes fall into a few repeating patterns. The table below lists the typical symptom and the first check for each. It is a field observation, so it may not apply to every store.
| Cause | Typical symptom | First check |
|---|---|---|
| Feed delay | New price on the site, old price in the feed | How often the feed refreshes |
| Tax difference | Page shows tax included, feed shows excluded | Tax status of the price attribute |
| Sale dates | Promotion ended, sale price stayed | sale_price dates and time zone |
| Old markup | Page correct, structured data old | Price in the Product markup |
| Cache | Some visitors see the old price | Page cache and CDN cache |
| Currency | Currency does not fit the target country | Country and currency pairing |
| Dynamic price | Price changes after the page loads | The first loaded version of the page |
Most stores have more than one cause at once. So do not stop after you find the first one; scan the whole table.
We open each row in the sections below. We start with tax and currency, because that mismatch appears most often.
Use the table as a checklist. Pick one product per row, run the first check, and record the result in a short note.
Why do tax inclusive prices and currency create a mismatch?
Tax display depends on the country. The official price attribute Help page says some countries, such as the United States and Canada, want prices without tax. Many other countries want prices that include VAT or GST. Confirm the current rule for your target country on that page.
If your store shows tax inclusive prices, your feed must carry the same amount. Suppose the page shows 120 units while the feed sends 100 units without tax. As a result, the system sees a mismatch, and the gap usually hits many products at once.
Currency also needs the same care. The currency on the page and in the data source must fit the target country. The price attribute asks for the number plus a standard currency code. Do not add shipping costs to the price.
Our VAT calculator helps with the math. Note: this content is not tax or legal advice. Ask your accountant about rates and treatment.
How do sale prices and promotion dates trigger a mismatch?
You use a separate attribute for the discounted price: sale_price. For the promotion window, you use sale_price_effective_date. These two fields must line up with the promotion on your site.
A common scenario goes like this. The promotion ends at midnight and the site returns to the normal price. The feed, however, still carries the sale price. Per the Help page, a feed that does not update when a sale starts or ends is a typical cause.
- Enter start and end times in your store's time zone.
- Clear the sale price field when the promotion ends.
- Keep the regular price field on the list price.
- If the page shows a crossed out old price, keep that consistent with your data too.
However, time zone errors slip by easily on scheduled promotions. So after the end time, open one product by hand and compare both sides. Also share your promotion calendar with whoever manages the feed.
How does Product structured data affect a price mismatch?
Product markup keeps item details behind the page in a form machines can read. The official Help page on structured data markup explains that Google can use this markup to check price and availability. So the price in the markup must equal the price on the screen.
Many themes and plugins generate markup automatically. An old product template, or a plugin setting that ignores sale prices, can break this field. As a result, you get a page that looks right while the code states an old price.
First, inspect your markup with Google's rich results test and with a view source check. If you want to learn the concept from scratch, read our schema markup guide. To draft example markup, our schema generator can help.
We do not share code blocks, because every theme works differently. The rule is simple: price, currency, and stock status must equal what shoppers see.
Still, markup alone is not enough. Google also reads the visible price, so both the screen value and the hidden value must be right.
Do automatic item updates fix a price mismatch?
They fix it in part, but they do not remove the source of the problem. The official Help page on automatic updates for mismatched price says that when automatic updates are on, Google can update the price in your data source to match your page. As a result, small gaps can close before they become disapprovals.
However, this feature is a safety net, not the main method. If the price on your site is wrong, automation can carry the wrong price into your data. The Help page also notes that updates can take time to show up in Merchant Center.
You can manage the setting in the automation related section of Merchant Center. Menu names can change, so look for the relevant section in the panel. Then, to undo an update, send fresh data through your feed or the Merchant API.
In short, keep the feature on, but do not use it in place of your own feed discipline. Also check weekly which products it changed.
Can a cache or CDN show an old price?
Yes, it can. A page cache, a browser cache, or a CDN can serve an old version of the page after the price changes. You see the new price, while Google's crawler gets the cached copy.
The symptom is usually this: the price looks right in your own browser, but the same product fails again after a while. Because requests come from different places, they reach different cache layers.
- First, clear the product page cache whenever the price changes.
- Second, plan a bulk cache purge at the start and end of each promotion.
- Third, check the page in a private window and from a different network.
- Keep the cache lifetime short for pages that show prices.
To understand how caching works, see our article on Varnish Cache and our caching guide.
Why do country specific prices and currencies need extra care?
If you sell to several countries, each target country needs its own price and currency setup. The official page treats a price that changes by user location, or a currency that does not fit the country, as a problem.
For example, if you show lira prices for Turkey and euro prices for Germany, each country's feed must match its own page. If one product URL shows different prices in two countries, it stays unclear which one Google sees.
- Use a separate product URL for each target country, or a clear country split.
- Define the country price and currency in the matching data source.
- Review any script that changes prices based on location.
If you convert currencies, verify the current rate yourself. Because rates move constantly, an outdated feed value creates a new mismatch.
Stores with several currencies often manage one data source per currency. That way, a price change in one country does not break another.
Does a price that loads with JavaScript cause trouble?
Yes, it can. The official page warns that data passed dynamically with JavaScript after the page loads can trigger an error. If the page Google first sees differs from what the shopper sees later, a mismatch appears.
This shows up most in themes that fetch the price late, add promotion badges late, or change prices per visitor. So the safest approach is to send the price from the server in the first response.
First, open your page with view source. If the price is not there, the crawler may not find it either. Then share this as a concrete finding when you talk to your developer.
Often a theme or plugin update changes this behavior. Review the date of your latest update with your developer.
Can variants, the cart, and checkout create a price mismatch?
Yes, they can. If product variants carry different prices, the URL in your ad must open the right variant already selected. Otherwise, shoppers see the default variant's price instead of the advertised one.
The checkout side matters just as much. If the page price changes in the cart, or unexpected fees appear at payment, an inconsistency appears. The official page advises adding service and handling fees to shipping costs.
- Do not send a member only price as the general price.
- For products with a minimum order quantity, send the total price.
- Finally, confirm that each variant URL opens the correct option.
To review your store from this angle, our ecommerce consulting service can work through it with you.
How do you request a review after fixing the Merchant Center price mismatch?
After you send the fix, you can ask Google to recheck your site from the relevant warning in Merchant Center. The official page says this request can speed up re-approval. However, we cannot promise a timeline, so see the current figure on the Help page.
- Confirm that every example product matches on the site and in the data source.
- Then clear the cache and check once more in a private window.
- Send the new data through your feed, the Merchant API, or your plugin.
- Next, use the recheck option in the warning.
- Do not change prices on those products until the result arrives.
We care about the last step because it protects the review. Changing prices during a review lets the crawler catch the product at yet another value.
If the disapproval continues, read the reason again, repeat the fix, and respect any waiting period before you request another review. Do not give up after one negative result; look for the point you missed.
What routine stops the price mismatch from coming back?
A mismatch usually returns because someone fixed it once and forgot it. The lasting solution ties price changes and feed updates into one workflow. The Help page also advises updating the site and the product data at the same time.
- First, set a rule that anyone who changes a price also triggers a feed update.
- Second, refresh the feed on a schedule or through an API.
- Link your promotion calendar to the feed in both directions.
- Also check the product issues section in Merchant Center once a week.
- After each promotion, test the markup and the visible price together.
On large catalogs, doing this by hand is hard. So consider automated checks, such as our AI automation solutions for ecommerce.
Document the routine in a short internal note. Then any new team member can follow it without guessing.
What happens when a sale ends but the feed does not refresh?
This is an example scenario, not a real client case. A store cuts one product from 1,000 units to 800 units for a weekend promotion. The promotion ends on Sunday night and the site returns to 1,000, but the feed stays at 800.
On Monday morning, Google's crawler sees 1,000 on the page and 800 in the data source. The system disapproves the product, and it leaves Shopping ads. By the time the owner notices lower sales, the issue has run for several days.
The fix is simple. Clear the sale field in the feed, send the current price, and request a recheck. To prevent a repeat, schedule the feed update to run at the same time the promotion ends.
Our discount calculator can verify the discount rate. These numbers are an example calculation only.
The lesson is that price problems often come from a small timing slip, not a big failure.
How do you read the example products in the warning?
A Merchant Center warning usually shows a few example products, not the whole problem. These examples hint at a pattern. However, if you fix only the listed products, other affected products can slip through.
First, look for a shared trait. Are they all discounted items, all from one category, or all from one variant structure? That helps you guess the root cause.
- Look at the shared category, brand, and price range of the examples.
- For each example, write the on-screen price, the markup price, and the feed price side by side.
- Note the direction of the gap: is the feed higher or the page higher?
- Check other products with the same pattern in bulk.
If the gap always points the same way, the cause is probably systematic. If it looks random, hunt for single entry errors. This split saves time, because you avoid scanning your whole catalog by hand.
Can rounding and decimals cause a mismatch?
Yes, they can. The official page wants the page price to match the data source exactly. So a page showing 99.90 while the feed sends a rounded value can create risk.
Percentage discounts often produce small cent differences. If the theme rounds one way and the feed generator rounds another, the amounts drift apart. Moreover, the gap can be too small to notice by eye.
The price attribute also limits decimal places, and the official page asks for no more than two digits after the decimal point. So make sure your site and feed use the same rounding rule. If needed, define the rule in one place and connect both sides to it.
That way, later price changes produce the same result on both sides, and small gaps do not pile up.
What should you consider before a bulk price update?
If you change thousands of prices at once, the gap before the feed refreshes grows. During that gap, Google's crawler can see the new price on the page and the old one in the feed. So a bulk update needs a plan.
- Schedule the change for a low traffic hour.
- Test a small product group first and compare both sides.
- Regenerate and send the feed right after the site changes.
- Clear the cache, then verify sample products with view source.
- Watch product issues in Merchant Center for several days.
Rehearse these steps before big sale seasons. The biggest loss usually happens on the busiest days, when products get disapproved.
Which shortcuts should you avoid?
In a panic, fast fix offers multiply. Do not trust strangers who promise to open or recover an account for money. They often suggest rule breaking methods that put your account at greater risk.
- Do not open a new Merchant Center account to get around the block. Google treats that as circumventing its systems.
- Never use fake documents, fake invoices, or someone else's account.
- Avoid changing a price briefly just to pass a review and then changing it back.
- Ignore anyone who asks for money or a password in return for access.
These methods do not solve the product issue; they make the policy problem worse. The right path is to match the price for real and use the official review route.
If you want help, choose teams that explain what they do and work in the open. If the process is not transparent, walk away.
Why does price consistency matter for ad performance?
A price mismatch is more than a technical error. It also hurts ad efficiency. When products get disapproved, budget shifts toward the remaining products and your sales mix drifts. In addition, impressions you lose during the fix do not come back.
While you track results, use our ROAS calculator to measure the return on ad spend. Watching how ROAS moves during a mismatch shows the size of the loss.
A drop in impressions and clicks can be the first sign of a price problem. So read product status and the campaign report together on the same day.
If you want campaign management and feed quality handled together, our Google Ads management service covers both. As Talha Aslan and team, we do not promise results, but we manage the process in a planned way.
When should you ask for help with a recurring price mismatch?
If the same warning returns after your fix, the root cause probably sits in the infrastructure. A plugin conflict, broken markup generation, or a sync interval cannot be solved product by product.
These signs call for expert eyes: the warning covers hundreds of products, a new disapproval follows your fix, or your account received a suspension warning. In such cases, first follow the official guidelines, then keep records as you go.
For a related disapproval topic, see our article on the destination not working disapproval. Neighboring issues such as Google reviews not showing and the Chrome dangerous site warning can also hurt shopper trust.


