Upsell copy: how to write an offer customers say yes to
An upsell offer has a few seconds and a handful of words. The customer is about to pay, or has just paid. They will read a headline, glance at a price and pick a button. Most offers that fail donât fail on the product: they fail because the customer couldnât tell, in two seconds, what was on offer and why.
The headline: say why it goes with the order
A generic headline â âSpecial offer!â, âWait!â â tells the customer nothing and sounds like an ad. A good one names the link with what they just chose:
| Instead of | Try |
|---|---|
| âSpecial offer just for you!â | âProtect your new phone from day oneâ |
| âWait! Donât miss this!â | âMost people who buy this lamp add a spare bulbâ |
| âYou may also likeâ | âThe refill for the diffuser you just orderedâ |
Be careful with âmost peopleâ: only write it if your own orders say so.
The price: show it, and show the saving honestly
The customer is deciding about money, so donât make them hunt for the price. If there is a discount, show the old price and the new one, or the amount saved. Never invent a âwasâ price the product was never sold at: it misleads, and in many countries the rules on price reductions forbid it.
The button: say what happens
âAdd for $9â beats âYes!â and âClaim nowâ. The customer knows exactly what the click does and what it costs. After payment it matters even more: accepting charges the card straight away, and the button should leave no doubt about it.
The decline: easy to find, never guilt-tripping
âNo thanks, continue to checkoutâ is fine. âNo, I donât like saving moneyâ is not: it irritates, and customers remember the store that spoke to them that way. Shopifyâs own guidelines for post-purchase offers ask for a decline button that is easy to see, and for wording that never makes the offer feel compulsory.
Urgency: only if it is true
A countdown works when the offer really ends. If the timer starts over on every visit, customers notice, and the trust you lose is worth more than the sale. If you use one, make it real: at zero, the offer should disappear.
Write in your customerâs language
If you sell in several languages, the offer has to follow. A customer on your French storefront who suddenly reads âAdd to orderâ in English hesitates at the exact moment you need a quick yes.
In FlatUpsell
Every text in FlatUpsellâs two offers can be rewritten: the headline, the buttons, the decline link, the body and footer of the post-purchase offer, the urgency banner. You set them per language for the five languages the app speaks, and each customer sees the offer in theirs. The countdown, if you turn it on, really removes the offer when it reaches zero.