Attribute Guide

Google Shopping Price Attribute: Requirements, Best Practices & Examples

Complete guide to the price attribute in Google Merchant Center. Why price mismatches are the #1 disapproval cause, correct formatting, VAT rules for EU, and…

Updated 8 min readBoostora Team
Price Attribute — Mismatch vs. Match

Smart Home Hub — White

€34.99example-smart.com
€34.99 EURVAT includedMatches page

Feed: 34.99 EUR / Page: €34.99 VAT incl. → Perfect match → Approved. Shopper trust maintained, conversion path unbroken.

Smart Home Hub — White

€29.99 (feed)example-smart.com

Feed: €29.99 / Landing page: €34.99 → Price mismatch disapproval. Shopper sees one price in the ad, a higher price on the page — trust destroyed, conversion impossible.

Google's crawlers verify the price on your landing page matches your feed at the time of crawl. In the EU, the price must be the VAT-inclusive price shown to consumers — the gross price, not the net/ex-VAT price. A difference of even €0.01 can trigger a mismatch warning; a sustained mismatch results in disapproval.

What is the price attribute?

The price attribute contains the standard selling price of your product — the amount a customer pays to purchase it. It is one of the three most prominent data points in every Shopping ad (alongside title and image), and the primary value Google shows to shoppers in the Shopping tab, comparison surfaces, and Dynamic Remarketing ads. Price is also the attribute that Google’s crawlers most aggressively verify against your landing page, making price accuracy the single biggest operational challenge in feed management.

Price mismatches — where the feed price differs from the landing page price — are the #1 cause of product disapprovals in Google Merchant Center worldwide. A product disapproved for price mismatch generates zero impressions and zero revenue until fixed. Given that prices change constantly through promotions, markdown cycles, and competitive adjustments, maintaining price accuracy requires a feed refresh strategy that keeps pace with your pricing system.

Technical specifications

Feed nameprice
RequiredYes — for all products
FormatNumeric value + space + ISO 4217 currency code: 29.99 EUR
Decimal separatorPeriod (.) — never comma, regardless of locale
Currency symbolNot allowed — use ISO code only (EUR, GBP, USD, CZK, PLN…)
Thousand separatorNot allowed — 1999.00 EUR not 1,999.00 EUR
Tax inclusion (EU/UK)Must be VAT-inclusive gross price
Tax inclusion (US)Submit ex-tax price; use tax attribute to specify tax rate
Related attributessale_price, sale_price_effective_date, tax

Where it displays

  • Shopping Ads — The price is one of the three most prominent elements in the Shopping ad card (alongside title and image). It is displayed in large font immediately below the title. Google shows either the price or the sale_price (if set and currently active). When both are set, the sale price is shown prominently and the original price appears struck through — a powerful visual conversion signal.

  • Free Product Listings — Price appears in free listing cards in the Shopping tab and on the product detail page. It is also a key factor in Google’s free listing ranking algorithm — competitive pricing relative to other merchants selling the same or similar products can influence impression share.

  • Shopping tab comparison — Google aggregates multiple merchants selling the same product (identified by matching GTIN/MPN/brand+title) into a price comparison panel, sorted by price. The price attribute is the value compared. This is where accurate pricing directly drives competitive traffic.

  • Dynamic Remarketing — Remarketing ads show the current product price from the feed alongside the product image and title. If a user viewed a product at €29.99 and returns later when the price is €24.99 (feed updated, remarketing ad regenerated), the lower price is shown — which can be a compelling re-engagement trigger.

Rules

  • Must exactly match the landing page price — The price shown on the product’s landing page (including any sale price currently displayed) must match the feed price. This is verified by Google’s crawlers and enforced strictly.

  • VAT-inclusive in EU/UK — Submit the gross consumer price including applicable VAT. Never submit the net/ex-VAT price for EU/UK markets.

  • ISO 4217 currency code only — Use EUR, GBP, CZK, PLN, etc. Currency symbols (€, £, Kč) are not accepted.

  • Never submit 0 for paid products — A price of zero is only valid for genuinely free products. Using it to hide pricing or as a placeholder causes policy violations.

  • Use sale_price for promotions — Do not update price to the discounted amount during a sale; use sale_price instead. Updating the base price during promotions destroys the “was/now” display and confuses price history tracking.

  • Currency must match target country — The currency in the price attribute must match the currency configured for the feed’s target country. Submitting USD prices for an EUR-currency German feed causes feed errors.

Best practices

Real-time feed synchronization

The most important operational practice for price accuracy is feed refresh frequency. Match your feed refresh cadence to how often your prices change:

Price change frequencyRecommended approach
Daily or less frequentStandard daily feed upload
Multiple times per daySupplemental feed with price updates, refreshed hourly
Real-time (flash sales, dynamic pricing)Content API with individual product updates
Scheduled promotionssale_price + sale_price_effective_date (pre-schedule)

Price and sale_price interaction

The correct way to handle a promotional price in Google Shopping:

  • price = 34.99 EUR (regular price — stays unchanged during promotions)

  • sale_price = 24.99 EUR (promotional price — active during sale)

  • sale_price_effective_date = 2026-04-20T00:00:00+02:00/2026-04-27T23:59:59+02:00

Result in Shopping: “€24.99” shown in large text with €34.99 struck through beside it — the most conversion-driving price display format Google offers.

Schema.org alignment

Add and maintain Schema.org Product markup on all product pages with prices matching the feed. This serves two purposes: (1) Google’s crawler uses it as a verification signal, reducing mismatch flags during brief sync gaps; (2) it can enable richer organic search result formats (price in SERPs) as a free traffic benefit.

Impact on performance

  • Disapproval risk — Price mismatches are the leading cause of product disapprovals. Even a 1-cent discrepancy triggers a warning; sustained mismatches (typically 3+ crawler visits) result in full disapproval. Each disappeared product means zero revenue from that product until fixed.

  • Competitive position in comparison shopping — In Google’s multi-merchant comparison panels, price is the primary sort key. Being €1–2 cheaper than competitors (where margins allow) can move you from position 3 to position 1, dramatically increasing click share.

  • Shopper trust and conversion rate — When a shopper sees €29.99 in the ad and €34.99 on the page, they feel misled. This is a conversion killer and a brand trust issue beyond just policy compliance. Price accuracy is both a Google requirement and a basic consumer experience standard.

  • Dynamic Remarketing effectiveness — Remarketing ads with current, accurate prices have significantly higher CTR than those with stale prices. If a product went on sale since the last feed update, the old price in the remarketing ad undersells the deal — or worse, shows a higher price than what the user sees on the page.

Common mistakes

  • Submitting the ex-VAT/net price for EU markets instead of the VAT-inclusive consumer price

  • Using comma as the decimal separator (29,99 EUR) instead of period (29.99 EUR)

  • Including the currency symbol in the price value (€29.99 instead of 29.99 EUR)

  • Changing the price attribute to the discounted price during promotions instead of using sale_price

  • Not updating the feed when a promotion ends, leaving the old promotional price in the feed while the website reverts to full price

  • Failing to update the feed when prices change on the website, causing a gradual drift between feed and page prices

  • Using different prices for mobile and desktop pages when the feed has one price — Google crawls both

Pro tips

  • Set up Merchant Center price mismatch alerts — In Google Merchant Center, configure email alerts for price mismatch issues under Account settings → Notifications. Getting alerted within hours of a mismatch — rather than discovering it during a weekly audit — prevents prolonged disapproval periods and protects revenue continuity.

  • Use a GCS supplemental feed for near-real-time price updates — Create a lightweight CSV supplemental feed hosted on Google Cloud Storage containing just 4 columns: id, price, availability, and sale_price. Set GMC to fetch it every 30 minutes. This is dramatically faster than regenerating your full product feed and keeps price data fresh enough to avoid mismatch disapprovals. Register the GCS bucket as a supplemental data source in Merchant Center → Data Sources, and set it as the highest-priority source in the default rule so it overrides the primary feed values.

  • Pre-schedule promotional prices with sale_price_effective_date — For known future promotions (Black Friday, seasonal sales), submit sale_price and sale_price_effective_date in advance. Google activates the sale price at the specified start time automatically, eliminating the need for a same-day urgent feed update — which is risky if your feed pipeline is slow.

  • Audit price accuracy with a crawl comparison script — Monthly or before major campaigns, run a script that fetches a sample of your product landing pages, extracts the visible price (or Schema.org price), and compares it against your current feed price. Any discrepancies found in this audit represent products at risk of mismatch disapproval. Fix proactively rather than reactively.

Frequently asked questions

Why is price the #1 cause of product disapprovals in Google Shopping?
Price mismatches between the feed and the landing page are the most common policy violation because prices change frequently — promotions start and end, manual pricing errors occur, and feed refresh schedules don't always sync with website price updates. Google's crawlers check product pages regularly and immediately flag discrepancies. Even a €0.01 difference can trigger a mismatch warning, and sustained mismatches result in disapproval. The fix is a real-time or near-real-time feed refresh that mirrors your website prices.
How must the price be formatted in the feed?
The format is: numeric value followed by a space followed by the ISO 4217 currency code. Examples: 29.99 EUR, 149.00 GBP, 19.99 USD. Use a period (.) as the decimal separator regardless of your locale. Never use comma as a decimal separator. Never include currency symbols (€, £, $) — only the 3-letter ISO code. Never include thousand separators.
In the EU, should the price include or exclude VAT?
In the EU, the price in your feed must be the VAT-inclusive (gross) price — the price the consumer pays, including tax. This matches what's legally required to be shown to consumers on your website under the EU Price Indication Directive. If your landing page shows the consumer price as €34.99 (VAT included), your feed price must be 34.99 EUR. Submitting the net/ex-VAT price would cause a mismatch with the consumer-facing price on your page.
How do I handle sale prices? Do I change the price attribute?
For sale prices, do not change the price attribute. Instead, keep price as your regular/original price and use the sale_price attribute for the discounted price. Google will display the sale price prominently with a strikethrough of the original price, which is a strong visual conversion signal. Using sale_price instead of updating price also preserves the price history that Google uses for comparison shopping.
Can I submit a price of 0 for free products?
Yes — 0.00 EUR is valid for genuinely free products. However, Google has specific policies about free products, and submitting a zero price for products that are actually paid (or "free with subscription") may cause policy violations. For freemium products or free trials, the price should reflect what the standard purchasable product costs. Check Google's free products policy before submitting zero-price items.
What is a price microdata mismatch and how do I fix it?
A microdata mismatch occurs when the Schema.org structured data on your landing page specifies a different price than either your Merchant Center feed or the visible price on the page. Google's crawler reads both the visible HTML and the structured data. If they conflict, it flags a mismatch. Fix: ensure your Schema.org Product markup has the same price as both your feed and your page's visible price. Use dynamic injection for Schema.org markup if your prices change frequently.
How quickly do price changes in my feed take effect in Shopping ads?
After submitting an updated feed with a price change, Google typically processes the update within 24–48 hours for a standard daily feed. For time-sensitive price changes (flash sales, limited-time offers), use the Content API to push individual product updates programmatically — changes pushed via Content API are typically reflected within a few hours. The sale_price attribute with sale_price_effective_date allows pre-scheduling future price changes without manual feed updates.

Related guides