Sale Price Attribute
The sale_price attribute indicates the discounted cost of a product. It is a highly recommended (and sometimes conditionally required) field for promotional data feeds acrossGoogle Merchant Products, Facebook Products, Pinterest Products,Tiktok Products, and Reddit Products.
Submitting accurate promotional pricing that perfectly matches the sale price displayed on your landing page and at checkout is critical. Failing to match these prices or omitting the original base price can result in immediate ad disapprovals.
Contents:
Quick Syntax Check
Paste your <g:sale_price> XML snippet or CSV value below to validate the format:
Test your <g:price>
Live CheckChecking one by one? Validate your entire feed instantly.
Upload & Analyze File →
Platform Requirements Comparison
While the ISO 4217 standard applies universally, each platform has specific nuances in how they parse promotional data.
| Requirement | Google Merchant Products | Facebook Products | Pinterest Products | Tiktok Products | Reddit Products |
|---|---|---|---|---|---|
| XML Tag | <g:sale_price> |
<g:sale_price> |
<g:sale_price> |
<g:sale_price> |
<g:sale_price> |
| Format | Number + Space + ISO |
Number + Space + ISO |
Number + Space + ISO |
Number + Space + ISO |
Number + Space + ISO |
| Original Price Req. | Yes, requires price |
Yes, requires price |
Yes, requires price |
Yes, requires price |
Yes, requires price |
| Date Attribute | sale_price_effective_date |
sale_price_effective_date |
sale_price_effective_date_attribute |
sale_price_effective_date |
sale_price_effective_date |
| Member Pricing | Not allowed | Not allowed | Not allowed | Not allowed | Not allowed |
General Formatting Requirements
To ensure your feed processes successfully across all advertising and commerce channels, follow these strict rules:
- Numeric Value & Currency: The value must consist of a number followed by a space and a 3-letter ISO 4217 currency code (e.g.,
19.99 USD). - Decimal Separators: You must use a period (
.) as the decimal point. Commas (,) used as decimal or thousands separators will cause processing failures. - No Symbols: Do not use localized currency symbols (
$,£,€). - Lower than Base Price: The
sale_pricemust be strictly lower than thepriceattribute. If it is equal to or higher than the base price, the promotion will be rejected. - Universal Availability: The sale price must be accessible to all customers without entering a coupon code at checkout or logging into a loyalty account.
Formatting Examples
XML Feed Format
Correct Formatting: Uses a period for the decimal, includes a space, uses the ISO 4217 code, and is accompanied by the original price.
<!-- Correct: Both price and sale_price are submitted properly -->
<g:price>24.99 USD</g:price>
<g:sale_price>19.99 USD</g:sale_price>
Incorrect Formatting: Do not use commas as thousands separators, do not use commas for decimals, and never include currency symbols.
<!-- Incorrect: Includes a currency symbol -->
<g:sale_price>$19.99</g:sale_price>
<!-- Incorrect: Uses a comma for the decimal -->
<g:sale_price>19,99 USD</g:sale_price>
CSV / TSV Feed Format
When working with CSV files, keep the data clean. Do not use symbols or extra formatting, and do not place comments inside the data rows.
Correct Formatting: The sale price includes a period for decimals and the ISO currency code, and is lower than the base price.
id,title,price,sale_price,availability
PROD_001,Example T-Shirt,24.99 USD,19.99 USD,in stock
Incorrect Formatting: Missing the ISO code, using a currency symbol, or setting the sale price higher than the base price will cause the feed upload to fail.
id,title,price,sale_price,availability
PROD_002,Example Hoodie,49.99 USD,$39.99,in stock
PROD_003,Premium Jacket,150.00 USD,160.00 USD,in stock
Note: In the incorrect example above, PROD_002 fails because it includes a $ symbol and is missing the ISO code. PROD_003 fails because the sale_price is higher than the original price.