Ultimate Guide to Google Shopping Sale Price Attribute for Product Feed
Sales, discounts, and coupons are like the Pied Piper of Hamelin — they draw the attention of all shoppers and lead them to online stores and product pages for purchases.
Snagging discounts not only means shoppers are getting a great deal but also saving money and earning delight. No wonder 97% of US consumers look for sales, discounts, or coupons before buying a product, and 92% regularly search for deals. For merchants selling through Google Shopping, displaying accurate sale prices is critical to winning these deal-hungry buyers.
However, what if you fail to display your product sale prices on your Google Shopping ads or free listings?
Or worse, what if your product ads continue to display sale prices even after the campaign ends?
That would be a slap to your shopper’s expectations and earn their disappointment and anger. Most importantly, they will lose trust in your brand and probably never return.
Solution: The Google Shopping sale_price attribute.
No idea what that is?
No worries. This article will cover what the Google Shopping sale_price attribute is, how to set the sale_price_effective_date, how to get sale price annotations and sale badges on your listings, and how to implement it all in your feed with the best WooCommerce product feed plugin.
Without further ado, let’s get started.
What are Google shopping attributes of product a feed?
Before we discuss what a product feed is and what are known as attributes, let us quickly give you an overview of how Google Shopping WooCommerce integration works.

As you can see, the product feed is the most important element that connects your WooCommerce store to Google platforms. Google Shopping product data feed is an export data file that contains all necessary information about your products.
For example, it includes product characteristics such as prices, categories, product names, descriptions, brand names, links to images, product pages, etc.
Here’s an example of a Google Shopping product feed.

The column headers contain the product characteristics, and you need to insert each product’s information underneath them accordingly.
In a product feed, they are called Product Attributes.
Google Shoppingor, to be more specific, Google Merchant Center supports a wide range of attributes (total 55) for you to include in your feed. The more information you provide in your feed, the better the chances that it will appear in relevant searches.
Let’s jump to our topic of discussion: Google Shopping sale price attribute.
What is the Google Shopping sale price attribute?
Wondering why Google Shopping not showing my sale price?
It’s because you haven’t added the sale price to your product feed.
The Google Shopping feed sale_price attribute can pull sale prices from the Google Shopping feed and display the sale prices on Google Shopping free listings and shopping ads across all possible platforms for you.
Not only that, but this attribute will also allow you to display Google Shopping sale price annotation, sale badge, and strike-through price in your ads and free listings.
How Sale Price Annotations, Sale Badges, and Strike-Through Prices Work
When you correctly implement the sale_price attribute alongside the regular price attribute in your feed, Google Shopping will display special annotations on your product listings. These include a sale badge that catches the shopper’s eye, a strike-through price showing the original cost, and the new lower sale price prominently displayed.

These Google shopping annotations, sale badges, sale prices, and strike-through prices — entice shoppers to jump on your product pages and end up buying the products. This is essentially a price drop annotation that signals urgency and value. As a result, you can significantly increase your traffic and conversions.
Keep in mind that sale price annotations are only triggered when the discount falls within a specific range (between 5% and 90% off the base price) and other conditions are met, which we’ll cover in detail below.
Is sale price attribute Google shopping required?
Every channel that supports product feed marketing, such as Google Shopping, has some required attributes that you must include in your feed. Failing to do so will result in your feed or products being rejected by the channel.
Now, coming back to the Google Shopping sale price attribute — is it required?
Not really; it’s an optional attribute. However, we highly recommend adding this attribute to get the optimum results with your listings.
The sale badge and discounted prices create a sense of urgency among shoppers. Statistics say 80% of shoppers are more than willing to go the extra mile to grab a deal before it ends. Therefore, adding the sale_price and sale_price_effective_date to your Google Shopping feed can significantly boost your conversions and revenues.
Google Merchant Center Sale Price Requirements and Conditions
Here are the conditions you must meet to be able to display sale price annotations on your Google Shopping ads and free listings:
- Base price [price]: Must be consistently displayed for at least 30 days within the past 200 days.
- Sale price [sale_price]: Cannot be displayed for more than 30 days at a time.
- Base price validity: Must be a valid, non-zero value. The price attribute must contain the full, non-discounted price of the product.
- Sale price comparison: The sale_price must be lower than the base price.
- Discount range: The discount must be between 5% and 90% off the base price. Discounts outside this range will not trigger sale price annotations.
We must mention that along with the sale_price attribute, you should include the sale_price_effective_date to ensure your Google Shopping listings display sale prices accurately and end the campaign at the right time.
Discount Range and Base Price Validity Rules
Google enforces strict rules around discounts to protect the shopping experience. If your discount is less than 5%, Google considers it too small to warrant a sale badge and won’t display the annotation. Conversely, discounts over 90% look suspicious and are also rejected.
The base price (the regular price attribute) must have been active and accurate for at least 30 of the last 200 days. This prevents merchants from inflating the base price right before a sale to make the discount appear larger than it truly is. Google Merchant Center continuously monitors price data to enforce these rules.
Why Is Google Shopping Not Showing My Sale Price?
- This is one of the most common issues merchants face. If Google Shopping is not showing your sale price, there are several possible reasons to check:
- The sale_price attribute is missing from your product feed entirely.
- The sale_price value is not lower than the price attribute value.
- The discount does not fall between 5% and 90% of the base price.
- The base price hasn’t been consistently shown for at least 30 days within the past 200 days.
- The sale has been running for more than 30 days, causing Google to stop showing the sale annotation.
- The sale_price_effective_date format is incorrect or the sale period has expired.
- There’s a mismatched price between your Merchant Center feed and your landing page.
To fix these issues, review your feed data in Google Merchant Center, check for price mismatch warnings, and ensure all pricing attributes follow the correct specification. Also verify that your WooCommerce store’s sale prices match what’s in the feed — a mismatched price in the Merchant Centre is one of the fastest ways to get products disapproved.
How to add the Google Shopping sale price attribute in a product feed
If you are new to creating a Google Shopping product feed, you should know that you can create a feed in TXT, CSV, and XML formats for Google. Any tool or piece of software that supports creating files in these formats will allow you to create feeds.
For example, you can use Google Sheets to create a CSV spreadsheet data feed file. To add the Google Shopping sale price attribute, set a column header Sale price [sale_price] and input your prices.
For XML, the format looks like this – <g:sale_price>20.00 USD</g:sale_price>
However, creating, updating, and managing product feed files manually is a daunting task, and we strongly vote against it. The manual method creates a number of challenges and is practically impossible to maintain for a busy WooCommerce store.
Therefore, you should opt for an automated solution – a WooCommerce product feed management plugin. And the best in the market is the CTX Feed Plugin.
This incredibly user-friendly plugin can automate the entire WooCommerce Google Shopping integration process and save you ample time and effort. It has integrated all possible attributes different channels may require in its attribute dropdown.
CTX Feed is compatible with a wide range of third-party plugins and adds dedicated attribute values for those plugins automatically.
For example, you can install dynamic discount plugins and create dynamic discounts, and CTX Feed will create custom attribute values for that plugin automatically.

However, the best features of this plugin are channel templates, automatic updates, category & attribute mapping, and URL connection support. It has integrated all necessary guidelines, attributes, and formatting for over 130 channels, including Google Shopping.
You simply select the template and hit the save button, and voila, job done! The template also automatically adds Google Shopping sale price and base price attributes in the feed.
How to create a product feed and add Google Shopping sale price attribute using CTX Feed
With over a hundred thousand downloads, CTX Feed is the most popular product feed plugin on the WordPress repository. You can install the CTX Feed free version to try it out.
We recommend the pro version to enjoy a vast range of useful features that can skyrocket your Google Shopping venture. Let’s install the plugin and activate it.

To create a Google Shopping product feed, jump to the following menu.

Here’s a new window where you can set your location, file type, and file name.

From the Templates dropdown, you can select your channel.

After you select the channel, the plugin will automatically populate the necessary attributes at the bottom.

We have already mentioned CTX Feed will automatically add a Google Shopping sale price attribute along with the regular price attribute if you are offering sale prices in your Woo store.

Finally, you can hit the Update And Generate Feed button to create the feed. You can also add or edit any attribute as per your needs.
Adding and assigning Sale price effective date attribute
What if your Google Shopping ads or listings keep displaying sale badges and discounted prices even after you have ended the campaign in your WooCommerce store?
An absolute nightmare, right? Even you would get angry if you landed on a page expecting a great deal and considered it a false advertisement.
Overall, it can lead to disappointment and erode trust in your brand. To save yourself from that horror, you can use the Sale price effective date [sale_price_effective_date] attribute.
Format –
- Max 51 alphanumeric characters
- ISO 8601
- Any of the following formats – YYYY-MM-DDThh:mm [+hhmm] or YYYY-MM-DDThh:mmZ
- You need to separate the start and end dates with “/”
Example –
2024-03-05T13:00-0800/2024-03-29T15:30-0800
If you don’t mention the start and end times, then by default, it will start at 12:00 AM and end at 11:59 PM on the end date.
Adding Sale price effective date attribute using CTX Feed
CTX Feed already has this attribute listed in its attribute dropdown. To add a new attribute, click on the (+) button.

From the attribute dropdown, scroll to the Availability & Price section and select the Google Shopping Sale price effective date attribute.

We need to set a static value; therefore, toggle to the text option.

Finally, copy-paste or write down your start and end date following the appropriate format in the value box and save the file.
You can find your feed on the Manage Feeds menu.

Go ahead and view the feed.

As you can see, regular price, Google Shopping sale price, and effective date values are present in the feed. When you upload this feed to Google Merchant Center, the platform will fetch this data and display sale badges for the discounted products across Google platforms, including Google Shopping.
How to connect/upload the product feed to Google Shopping
Google Merchant Center is the dedicated platform that manages and distributes products to Google Shopping and other platforms. After you are done creating your WooCommerce product feed, you need to upload it to the Merchant Center.
We will not cover the entire process in this article. However, you need to complete the following steps to upload your products.

On the Add Products window, select the following option.

Enable free listings if you want to.

The best method to connect WooCommerce to Google Shopping is through Scheduled Fetch. Using this option, you can connect your feed using a feed URL instead of downloading and uploading your feed file manually.

Copy your product feed URL that has the Google Shopping sale price from CTX Feed.

Paste it on the appropriate box and set fetch frequency. Google Merchant Center will automatically fetch your product data and generate product pages on Google Shopping.

Google Shopping Sale Price FAQ
What is the difference between price and sale_price in Google Merchant Center?
The price attribute represents your product’s regular, full price. The sale_price attribute is the discounted price you’re currently offering. Google uses the difference between these two to calculate the discount percentage and determine whether to show sale annotations. Both should be present in your shopping feed whenever a product is on sale.
Can I use sale_price without sale_price_effective_date?
Technically, yes — the sale_price_effective_date attribute is optional. However, without it, your sale price will display indefinitely until you manually update or remove it from the feed. If it runs longer than 30 days, Google will stop showing the sale badge. Using the effective date attribute gives you precise control and prevents feed management headaches.
How long can I run a sale price on Google Shopping?
Google allows a sale price to be displayed for a maximum of 30 consecutive days. After that, Google treats the sale price as the new base price and removes the sale annotation. Plan your promotions accordingly and use the sale_price_effective_date to auto-expire sales.
Why is my sale badge not showing on Google Shopping?
Several factors can prevent the sale badge from appearing: the discount may be outside the 5%–90% range, the base price may not have been stable for 30 days within the last 200 days, or there may be a price mismatch between your feed and landing page. Review Google Merchant Center’s diagnostics tab for specific warnings related to sale price annotations.
Does Google Shopping support dynamic pricing?
Google Shopping itself doesn’t manage dynamic pricing, but you can send dynamically calculated prices through your product feed. Plugins like CTX Feed can pull dynamic discount prices from WooCommerce and include them as the sale_price in your Google Shopping feed automatically. Just ensure your feed updates frequently enough to keep prices in sync with your store.
Wrap up
Google Shopping is a price comparison search engine. This means it will display the exact same products from your competitors in the search results as well.
Therefore, displaying sale price badges and annotations can give you an upper hand in attracting your potential customers. We hope this article will help you add Google Shopping sale price attributes easily and significantly boost your conversions.
