Skip to content
feedlab Request early access

Feed attribute

sale_price

Sale price

The sale_price attribute is the temporarily reduced price of an item, submitted alongside the full price so a channel can show the reduction rather than simply a lower number. On Shopify the reliable source is the variant's compare-at price relationship, and discounts applied by code or automatic rule are not visible in the product record at all.

Specification

Attribute
sale_price
Data type
Price (number and currency)
Format
Same format as price: a number, a space, then an ISO 4217 currency code. It must be lower than price and use the same currency. Some channels additionally expect an effective date range through sale_price_effective_date when the reduction is time-limited.
Examples
11.25 GBP 149.99 USD

Support by channel

How each channel treats sale_price.

Channel Requirement Field name Notes
Google Shopping Optional sale_price Must be lower than price. Pair with sale_price_effective_date when time-limited.
Meta Optional sale_price
Microsoft Advertising Optional sale_price
Pinterest Optional sale_price
OpenAI Optional sale_price Must be greater than zero and strictly less than price, so an empty or equal sale price has to be dropped rather than sent.

Frequently asked questions

How does Shopify's compare-at price map to a feed?

When a Shopify variant has a compare-at price higher than its price, the compare-at figure is the reference price and the current price is the reduced one. In feed terms that means price takes the compare-at value and sale_price takes the current price.

Why do my discount codes not show up in the feed?

Shopify discount codes and automatic discounts are applied at checkout, not stored on the product, so nothing in the product record reflects them. Getting them into a feed requires reading the discount rules separately and resolving which ones apply to each product at generation time.

What happens if sale_price is higher than price?

The channel rejects the sale price, and depending on the channel either ignores it or disapproves the item. sale_price must always be strictly lower than price and in the same currency.

Related attributes

Related concepts

Primary sources

Channel specifications change. These are the official documents this page is based on.

Last reviewed View as markdown