GMCSuspension
HomeGuidesPromotional Pricing Policy
Policy Violation · Last updated: June 2026 · 9 min read

Promotional Pricing Google Merchant Center Policy 2026

Sale prices, crossed-out reference prices, and MSRP comparisons create some of the most common pricing policy violations on Google Shopping. This guide covers every scenario where promotional pricing goes wrong and how to fix it before you appeal.

What Google Requires for Promotional Pricing

Google's promotional pricing policy has one central rule: the price shown in your Shopping ad must match the price the shopper pays at checkout for the same product under the same conditions. If your ad shows a sale price of $49 (crossed out from $99), the shopper must be able to complete a purchase at $49 without applying any codes or meeting any conditions that were not disclosed in the ad.

The reference price (the higher, crossed-out number) has its own requirement: it must be a genuine price you actually charged for that product for a reasonable period of time before the sale. An inflated reference price set artificially high just to make the discount percentage look impressive is a violation under both GMC policy and consumer protection law in many regions.

2026 update. Google added automated reference price verification to its Shopping quality checks in Q1 2026. The system cross-references your listed original price against historical price data from multiple sources including price-comparison databases. Artificially inflated reference prices are now flagged automatically, not just during manual reviews.

The Four Most Common Promotional Pricing Violations

Issue 01

Inflated Reference Price Used Only to Create a Discount

Setting a high "original price" that you never actually charged so that the discount percentage looks larger is the most common promotional pricing violation. If your product's real selling price has always been $49 but you set the price attribute in your feed to $120 and the sale_price to $49, Google's automated checks will detect that the $120 reference price has no sales history and flag it as a fabricated comparison.

Issue 02

Sale Price Active in Feed but Not on Website

If your product feed sets sale_price to $49 but your product page still shows the regular price of $79, the shopper who clicks the Shopping ad expecting $49 arrives at a checkout that charges $79. Google's reviewers detect this discrepancy through test purchases. This commonly happens when sale prices are applied in GMC but the store's theme or pricing rules are not updated simultaneously.

Issue 03

Expired Sale Dates Left Active in Feed

The sale_price_effective_date attribute must accurately define when the sale starts and ends. If your sale ended on June 15 but you left the sale_price_effective_date open-ended (or updated it to extend the "sale" indefinitely without the price ever returning to the original level), Google treats this as a perpetual fake sale. Your regular price is effectively your sale price, and your original price is a fictional reference.

Issue 04

Checkout Price Does Not Match Ad Price After Discounts Are Applied

If you are running both a sale_price in your feed and a separate promotion with a coupon code, the final checkout price must match what a shopper would expect based on the ad. If the sale price in the ad is $49 but applying the coupon on top of the sale brings the price to $35, but the ad showed $49, the mismatch (in either direction) can trigger a price accuracy flag.

How to Audit Your Promotional Pricing Setup

Export your full product feed and examine every product that has both a price and a sale_price attribute. For each, verify three things: the sale_price is lower than the price, the sale_price_effective_date range is current and accurate, and the sale_price actually matches what the product costs on your live site right now in an incognito browser.

For your reference prices (the price attribute), pull your pricing history from your store's order data or your platform's price history logs. If the price attribute for any product is higher than any price you have actually charged in the past 90 days, update it to reflect a genuine recent price, or remove the sale designation entirely and show only a single current price.

Test each product's checkout flow in incognito mode. Add the product to your cart and proceed to checkout without applying any discount codes. The price at checkout must match the sale_price in your feed, with no additional required steps to get the advertised price.

Find Your Pricing Discrepancies Before Google Does

Our audit tool compares your feed prices, sale price dates, and live checkout prices to identify every promotional pricing mismatch before you submit your appeal.

Run Free Audit

Free preview available. Results in under 60 seconds. 2,400+ sites audited.

Fixing Promotional Pricing Violations Step by Step

Step 1: Audit all sale prices in your feed. For every product with a sale_price, confirm the sale is real: the price was genuinely higher before the sale started, the sale has a defined end date, and the sale_price matches your live site price right now. Remove sale_price attributes from products where the "sale" is actually your standard ongoing price.

Step 2: Set accurate sale_price_effective_date ranges. Every promotional price must have a start and end date. If your sale is ongoing, set a real end date and put a reminder in your calendar to either end the sale or update the date before it expires. Google does not allow indefinitely open-ended sale dates.

Step 3: Verify your reference prices reflect real selling history. Your price attribute (the non-sale price) must be the actual price you charge outside of the sale period. If you never sell the product at that price, it is not a valid reference price. Correct any inflated reference prices to match your real pre-sale or post-sale selling price.

Step 4: Sync your feed and store. When you update sale prices, update both your product feed and your store's pricing at the same time. Do not rely on feed processing delays to bridge gaps between the two sources. Set up automatic feed refresh to run at least once per day.

Once all promotional pricing is corrected, work through the GMC suspension checklist to confirm all other policy areas are clean. Then file your appeal using the appeal process guide, including a specific description of which prices you corrected and how.

If your suspension is under the misrepresentation policy broadly, the full misrepresentation guide covers every other trigger that may be contributing to your suspension alongside the pricing issues.

Frequently Asked Questions

Can I show a crossed-out original price on Google Shopping ads?

Yes, but only if the crossed-out price is a genuine price you actually charged for a meaningful period. Google requires that the original price (the price attribute in your feed) was the real selling price before the sale. If you set an inflated original price that you never actually charged just to make the discount look bigger, that is a policy violation.

What is the difference between sale_price and a promotion in Google Merchant Center?

The sale_price attribute in your product feed updates the price shown in the Shopping ad and is required to have a sale_price_effective_date range. Merchant Promotions attach a coupon code or discount badge to your ad without changing the base price. The two can be used together but must be configured consistently so the final checkout price matches what is shown in the ad.

My sale ended but I forgot to update the feed. Did that cause my suspension?

Possibly. If your sale_price_effective_date expired but your site still showed the sale price, or vice versa (the date was still active in the feed but the site reverted to full price), Google sees a mismatch between the ad and the checkout. A single expired sale price date rarely causes a full account suspension but does contribute to a pattern of price accuracy violations that can lead there.

Can I use MSRP as my reference price on Google Shopping?

Google does not endorse MSRP comparisons specifically. The price attribute must reflect a real price you charged. If you want to show a comparison price, it should be your own previous selling price for that product, not the manufacturer's suggested retail price, unless that MSRP was the actual price you sold at before the sale.