Sale Price Annotations Are Costing You More Than the Discount
That strikethrough price in your Shopping ads is doing exactly what you wanted - driving more clicks. But every additional click is at lower margin, and Smart Bidding is learning to chase the discount instead of the profit.
How Sale Annotations Work
When you submit a sale_price attribute in your product feed alongside the regular price, Google Shopping displays the original price with a strikethrough and the sale price highlighted. "Was £45, now £32." It's the digital equivalent of a red sale tag - designed to catch attention and signal value.
Google's requirements are specific: the sale price must be lower than the price attribute, the discount must be between 5% and 90%, and the sale should be temporary (using sale_price_effective_date). Products meeting these criteria get the visual annotation automatically.
The annotation works. CTR typically increases 10-30% compared to the same product at full price without an annotation. More shoppers click. More shoppers land on your site. More shoppers convert. The dashboard looks great. The P&L tells a different story.
The CTR Boost - And Its Cost
Higher CTR means more clicks. More clicks means more ad spend. The cost per click doesn't decrease because you're running a sale - if anything, the improved CTR signals to Google that your ad is more relevant, which can maintain or increase your auction competitiveness without lowering CPCs.
So you're paying the same (or more) per click, but each click is for a lower-margin product. The maths is straightforward:
- • Before sale: 1,000 clicks × £0.60 CPC = £600 spend. 50 conversions × £45 AOV = £2,250 revenue. ROAS: 3.75x.
- • During sale (20% off): 1,300 clicks × £0.60 CPC = £780 spend. 78 conversions × £36 AOV = £2,808 revenue. ROAS: 3.60x.
Revenue is up. Conversions are up. ROAS looks broadly similar. But contribution margin per sale dropped from £22 to £13 (the discount came straight off margin). Total contribution margin: £1,100 before vs £1,014 during sale. You spent £180 more on ads to make £86 less profit.
The CTR boost is real. The revenue boost is real. The profit impact is negative. And this is before we consider what Smart Bidding learns from the experience.
Margin Erosion in Plain Sight
Discounts don't scale linearly with margin. A 20% discount on a product with 50% gross margin removes 40% of the gross profit. A 30% discount on the same product removes 60% of the gross profit. The contribution margin impact is even worse because fixed costs (fulfilment, packaging, payment processing) don't decrease with the sale price.
The discount comes entirely from your margin - not from reduced costs. A £45 product discounted to £36 still costs the same to source, warehouse, pick, pack, ship, and process payment on. Only the revenue changes. Everything else stays the same.
This is the fundamental problem with sale annotations in Shopping: they increase volume (which feels like success) while decreasing margin per unit (which destroys profitability). The discount treadmill starts here - with a feed attribute that seemed like a quick win.
Smart Bidding Learns the Wrong Lesson
Here's where sale annotations create compounding damage. Smart Bidding observes the sale period and learns:
- • "This product converts better." Higher CTR and higher conversion rate during the sale teaches the algorithm that this product is valuable. It allocates more impression share and bids more aggressively.
- • "Revenue per click is strong." Even at a discount, the revenue per conversion is positive. Smart Bidding doesn't see margin - it sees conversion value. The discounted value still looks good enough to justify aggressive bids.
- • "These audience signals work." The sale attracts deal-seekers. Smart Bidding learns that deal-seeker audiences convert well - and starts targeting them more heavily, even after the sale ends. But deal-seekers have lower loyalty and higher return rates.
When you remove the sale price, three things happen simultaneously: CTR drops (no more strikethrough), conversion rate drops (price is higher), and the audience Smart Bidding has been targeting (deal-seekers) converts even worse at full price. Performance tanks - and the instinct is to put the sale back on.
This is exactly how the discounting cycle perpetuates itself. The feed attribute creates a dependency that's harder to break with each cycle.
Worked Example: The Discount That Lost Money
A supplement brand runs a 25% off sale on their bestselling protein powder (£39.99 → £29.99) with sale_price annotation in their Shopping feed:
Full Price Economics
- • Price: £39.99 | COGS: £11.50 | Fulfilment: £3.80 | Payment: £1.16
- • Contribution margin: £23.53
- • At 4x ROAS target: £10.00 max CPA → profitable at 25% conversion rate
Sale Price Economics
- • Price: £29.99 | COGS: £11.50 | Fulfilment: £3.80 | Payment: £0.87
- • Contribution margin: £13.82
- • At same 4x ROAS target: £7.50 max CPA → need 33% conversion rate to maintain profitability
The sale increased conversion rate from 3.2% to 4.1% - a strong uplift. But the required rate for equivalent profitability was 5.4% (contribution margin dropped 41%). Every additional conversion during the sale was less profitable than doing nothing.
The brand ran the sale for two weeks. Total incremental conversions: 180. Total margin lost compared to full-price scenario: £1,748. The sale "worked" - if your only metric is conversion volume. It failed by every commercial measure.
When Sale Prices Make Sense
Sale annotations aren't categorically bad. They serve specific commercial purposes:
- • Stock clearance: End-of-season, discontinued, or expiring products need to move. The SKU Job is "Recovery" - the goal is cash, not margin. Sale annotations accelerate clearance and the margin sacrifice is deliberate.
- • Competitive response: When a direct competitor undercuts you on a key product, a temporary sale annotation maintains visibility and prevents share loss. But time-box it - 7-14 days maximum.
- • New customer acquisition: A discounted first purchase at breakeven is justified if LTV data supports the investment. But track new vs repeat carefully - don't let existing customers consume the discount.
- • Seasonal peaks: Short, sharp promotional windows (3-5 days around key events) where the volume boost justifies the margin trade-off. The key word is "short" - extended sales train Smart Bidding on abnormal data.
Feed Implementation
If you do use sale annotations, protect your margins with proper feed structure:
- • Always set effective dates: Use sale_price_effective_date to define start and end. Open-ended sales lose annotations and train Smart Bidding permanently.
- • Update cost_of_goods_sold: COGS doesn't change during a sale - but if you're using margin-based bidding, ensure your POAS calculation uses the sale price for revenue, not the regular price.
- • Separate sale products in campaigns: Place sale items in their own product group with a dedicated ROAS target. The target should be higher (more defensive) because margin per conversion is lower.
- • Monitor cannibalisation: Track whether the sale annotation shifts clicks from full-price products to discounted ones. If overall category margin drops during the sale period, the annotation is destroying value across the range, not just on the sale item.
- • Use custom labels: Flag sale items with custom_label values so you can segment reporting and quickly see the impact on blended performance.
The Competitive Annotation Trap
When one competitor adds sale annotations, others follow. The Shopping carousel fills with strikethrough prices, and the advertiser without one looks expensive by comparison. CTR on the non-sale listing drops. The temptation to match is overwhelming.
This is a race to the bottom. Every brand matching the discount erodes their own margin. The only winner is Google - capturing more clicks at the same CPC while advertisers compete on who can sacrifice margin fastest.
The alternative: compete on feed quality instead. Better product titles, better images, better availability data, and better product ratings create CTR improvements without margin erosion. A well-optimised feed at full price often outperforms a mediocre feed with a sale annotation - because the relevance signals are stronger and more sustainable.
Next Steps
Before your next sale, calculate the contribution margin at the sale price - not just the discount percentage. If the margin can't sustain your current CPCs, the sale will generate more conversions at a loss. That's not a promotion. That's a donation to Google with extra steps.
Related Reading
More on pricing strategy, feed optimisation, and promotional economics.