QuantumAdsLab Logo Quantum Ads Lab
Google Shopping feed prices Merchant Center price discrepancies
Merchant Center price discrepancies are the number one cause of disapproval in e-commerce feeds, often invisible until the next audit

GOOGLE SHOPPING FEED: PRICE DISCREPANCIES EXPLAINED

In brief

What you will learn in this article

  • How the crawl that Google uses to detect Merchant Center price discrepancies between the product feed and the landing page works
  • Why Google Shopping feed prices do not always match those on the site, the most common and least obvious causes
  • What happens when Google detects a discrepancy: formal disapproval for price mismatches or silent penalisation
  • How to use sale_price and sale_price_effective_date to manage promotions without generating Merchant Center price discrepancies
  • The most effective preventive strategies for keeping Google Shopping feed prices aligned with the site
  • Where official documentation is precise and where operational experience adds essential information

Merchant Center price discrepancies are the number one cause of disapproval in e-commerce feeds. They surpass non-compliant images, incorrect GTINs and missing attributes in both frequency and direct impact on campaigns. Yet they remain among the most difficult problems to prevent, because they almost always arise from legitimate business processes, promotions, price list updates, VAT management, that create a temporary misalignment between Google Shopping feed prices and those visible on the landing page.

The mechanism by which Google detects these discrepancies is documented in the official guidelines, but its operational implications, crawl frequency, tolerance threshold, behaviour on accounts with an established history, only emerge from direct experience on real feeds. This article examines both dimensions, always distinguishing between what the official documentation prescribes and what operational experience adds.

How Google detects Merchant Center price discrepancies

The verification system for Google Shopping feed prices operates on two parallel levels that the official documentation describes separately but that in practice interact continuously.

The automatic landing page crawl

According to the official Google documentation on product data requirements, Google runs a periodic crawl of each product's landing page and compares the price found there with the one declared in the Google Merchant Center feed. When it detects Merchant Center price discrepancies between the two values, the product is disapproved with the message "Mismatched price".

What the documentation does not specify is the crawl frequency. From experience on real accounts, the landing page crawl does not happen synchronously with the feed update. Google maintains a cache of price data extracted from landing pages and refreshes it at variable frequency, higher for products that generate more traffic, lower for low-volume products. This creates a time window in which Merchant Center price discrepancies can exist without yet being detected.

Automatic price update

Google offers an automatic update function for Google Shopping feed prices that corrects price and availability discrepancies by pulling directly from the site via crawl. Enabled under feed settings, this function can prevent disapprovals for Merchant Center price discrepancies on products with stable prices that change rarely.

Operational inference: the automatic update is effective at correcting small, isolated discrepancies, but it does not replace structured feed management. On accounts with frequent promotions or dynamic pricing, the automatic update cannot keep pace with changes and Merchant Center price discrepancies accumulate regardless. It should be treated as a safety net, not a primary solution.

The tolerance threshold: official source vs practice

Official Google documentation does not publish a precise threshold beyond which Google Shopping feed prices are considered discrepant with the landing page. It states generically that the price in the feed must match the price visible on the site, whether rendered in structured data or in plain HTML. From operational experience, even a difference of a few cents, often caused by rounding or VAT management, can trigger Merchant Center price discrepancies and the associated disapproval.

The most common causes of Merchant Center price discrepancies

Merchant Center price discrepancies almost never arise from deliberate errors. They are almost always the result of legitimate business processes that do not account for synchronisation with Google Shopping feed prices.

1. Promotions activated on the site without a feed update

This is by far the most frequent cause. The marketing team activates a promotion on the site with an immediate discount, but the feed is only updated at the next scheduled window (e.g. every 24 hours). In that time gap, Google Shopping feed prices show the base price while the landing page shows the discounted price: discrepancy detected, products disapproved.

From experience: on a fashion account with frequent flash promotions (lasting 4–8 hours), Merchant Center price discrepancies affected an average of 200–400 products per promotion. The solution was not technical but organisational: synchronising the promotion activation on the site with a manual feed update, or using sale_price and sale_price_effective_date to communicate the promotion to Google in advance.

2. VAT-inclusive prices in the feed and VAT-exclusive prices on the site (or vice versa)

Google requires that Google Shopping feed prices for European countries include VAT, because that is the price the consumer sees. If the feed exports VAT-exclusive prices from the ERP system and the site displays VAT-inclusive prices, systematic Merchant Center price discrepancies are created across the entire catalogue. This is a structural problem that affects entire accounts, not individual products, and in severe cases of persistent catalogue-wide mismatches, it can lead to account suspensions.

3. Site cache showing outdated prices

When a price is updated in the ERP system and in the feed, but the site has aggressive caching, Google's crawl may read the old price from the cache and detect Merchant Center price discrepancies against the new Google Shopping feed prices. This is typical of sites with CDN and page-level caching that is not configured to invalidate correctly on price updates.

4. Different prices by geographic area or user type

Some e-commerce sites display different prices based on the user's geolocation, session (first visit vs registered user) or membership group (B2B vs B2C). Google's crawl accesses the landing page as an anonymous user from a specific IP and may receive a different price from the one declared in the Google Shopping feed prices, generating Merchant Center price discrepancies that are not genuine discrepancies but intentional pricing differences that are not correctly managed in the feed.

Inference: this scenario is not explicitly documented by Google as a cause of discrepancy. It emerges from the analysis of accounts with unexplained systematic disapprovals on products with apparently correct prices in the feed. The diagnostic signal is the appearance of Merchant Center price discrepancies concentrated on specific product ranges or on products with segment-specific custom pricing.

5. Different rounding between feed and site

A product priced at €29.999 in the ERP system may be exported in the data feed as €30.00 and displayed on the site as €29.99, a one-cent difference sufficient to trigger Merchant Center price discrepancies. Rounding varies between CMS, ERP and feed export, and requires explicit verification of the rounding logic at every point in the process.

sale_price and sale_price_effective_date: the correct solution for promotions

Promotion management is the context in which Merchant Center price discrepancies have the greatest impact on Google Shopping feed prices. Google introduced two specific attributes to correctly communicate promotional prices in the feed without generating inconsistencies.

How sale_price and sale_price_effective_date work

The sale_price attribute indicates the promotional price of the product. The sale_price_effective_date attribute specifies the start and end dates of the promotion in ISO 8601 format. When both are present in Google Shopping feed prices, Google displays the discounted price during the promotional period and automatically reverts to the base price at the end, without any need to update the feed.

The main advantage over updating the base price is that with sale_price, Google compares the landing page against the promotional price, not the base price, during the declared period. In this way Merchant Center price discrepancies are not generated even when the feed is updated in advance of the promotion going live on the site.

Common errors with sale_price that still generate discrepancies

From operational experience, using sale_price does not automatically eliminate all Merchant Center price discrepancies. The most frequent cases where problems with Google Shopping feed prices still arise:

  • sale_price_effective_date with incorrect time zone: Google interprets the dates in the specified time zone. If the time zone does not match that of the site, the promotion appears active in the feed at a different time from the site, generating Merchant Center price discrepancies during the transition hours.
  • sale_price equal to the base price: if sale_price is set to the same value as price, Google ignores it as invalid data and continues to use the base price for the comparison with the landing page.
  • sale_price higher than the base price: causes immediate disapproval. Google Shopping feed prices do not accept a promotional price higher than the regular price.

Preventing Merchant Center price discrepancies: what works

High-frequency feed updates

For e-commerce stores with dynamic pricing or frequent promotions, updating Google Shopping feed prices every 6–12 hours is standard practice. Merchant Center supports updates via scheduled URL fetch, SFTP, Content API and supplemental feeds. Frequency alone does not eliminate Merchant Center price discrepancies, but it drastically reduces the time window in which they can exist.

Automatic discrepancy alert

Running a script that compares Google Shopping feed prices with prices extracted from the landing page, before the feed is uploaded to Merchant Center, is the most cost-effective strategy for preventing Merchant Center price discrepancies. Among available management tools, this pre-upload check is the one with the highest return: the script can run every time the feed is generated, comparing a representative sample of products and sending an alert when the difference exceeds a configurable threshold.

From experience: on accounts with a monthly budget above €5,000 on Shopping campaigns, implementing this pre-upload check reduces Merchant Center price discrepancies to near zero within 2–3 optimisation cycles. The development time for the script is consistently lower than the time lost diagnosing and correcting mass disapprovals after a promotion that was not correctly communicated in the Google Shopping feed prices.

Standardising the price format in the feed

Google Shopping feed prices require a specific format: a numeric value with two decimal places, followed by the ISO 4217 currency code (e.g. 29.99 EUR). A non-standard format, a comma instead of a decimal point, absent currency or currency abbreviated in a non-standard way, causes parsing errors that produce Merchant Center price discrepancies regardless of the actual price. Verifying the format step by step through the ERP export process is a basic check that is often overlooked.

Weekly monitoring of the Diagnostics tab

Merchant Center price discrepancies appear in the "Disapproved items" tab in the Diagnostics section (Merchant Center → Products → Diagnostics) with the message "Mismatched price". It should be checked at least once a week, and immediately after every promotion activation, to intercept price issues with Google Shopping feed prices before they significantly impact campaigns.

FAQ on Google Shopping feed prices and Merchant Center discrepancies

How does Google detect Merchant Center price discrepancies?
Google runs a periodic crawl of each product's landing page and compares the price found there with the one declared in the Google Shopping feed prices. If it detects Merchant Center price discrepancies, the product is disapproved with the message "Mismatched price" in the Diagnostics section. The crawl is not synchronous with the feed update, it runs at variable frequency based on the product's traffic volume.
How much can the feed price differ from the landing page?
The official threshold is not published by Google. From experience on real accounts, even a difference of a few cents in Google Shopping feed prices can trigger Merchant Center price discrepancies and the associated disapproval. Rounding and VAT differences are frequent causes of minimal discrepancies that produce large-scale disapprovals.
How to manage promotions without creating Merchant Center price discrepancies?
The correct solution is to use the sale_price and sale_price_effective_date attributes in Google Shopping feed prices to communicate the promotional price and promotion dates to Google. The system then compares the landing page against the promotional price during the declared period and does not generate Merchant Center price discrepancies.
Must the feed price include VAT?
Yes, for European markets. Google Shopping feed prices must include VAT because they must match the price visible to the consumer on the landing page. If the feed exports VAT-exclusive prices and the site displays VAT-inclusive prices, systematic Merchant Center price discrepancies are generated across the entire catalogue.
Do price discrepancies always cause formal disapproval?
Not always. Minor and temporary Merchant Center price discrepancies can cause a silent penalisation of visibility without formally disapproving the product. Formal disapprovals appear in the "Disapproved items" tab in the Diagnostics section. Data quality issues that degrade Google Shopping feed prices without formal disapproval appear instead in the "Data quality issues" tab, which must be monitored separately.
Where to monitor price discrepancies in Merchant Center?
In Merchant Center → Products → Diagnostics. Merchant Center price discrepancies that cause formal disapproval appear in the "Disapproved items" tab with the reason "Mismatched price". It should be checked at least weekly and immediately after every promotion activation, to intercept problems with Google Shopping feed prices before they impact active Shopping or PMax campaigns.

All articles

See all →