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…
Smart Home Hub — White
Feed: 34.99 EUR / Page: €34.99 VAT incl. → Perfect match → Approved. Shopper trust maintained, conversion path unbroken.
Smart Home Hub — White
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 name | price |
| Required | Yes — for all products |
| Format | Numeric value + space + ISO 4217 currency code: 29.99 EUR |
| Decimal separator | Period (.) — never comma, regardless of locale |
| Currency symbol | Not allowed — use ISO code only (EUR, GBP, USD, CZK, PLN…) |
| Thousand separator | Not 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 attributes | sale_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
priceor thesale_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
priceattribute 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
priceto the discounted amount during a sale; usesale_priceinstead. 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 frequency | Recommended approach |
| Daily or less frequent | Standard daily feed upload |
| Multiple times per day | Supplemental feed with price updates, refreshed hourly |
| Real-time (flash sales, dynamic pricing) | Content API with individual product updates |
| Scheduled promotions | sale_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.99instead of29.99 EUR) -
Changing the
priceattribute to the discounted price during promotions instead of usingsale_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, andsale_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_priceandsale_price_effective_datein 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?
How must the price be formatted in the feed?
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?
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?
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?
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?
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?
sale_price attribute with sale_price_effective_date allows pre-scheduling future price changes without manual feed updates.