The offer is set. The customer is already yours. The card is on file. At the post-purchase moment, almost every variable is fixed, which means the words on the offer are the one lever you still control. Post-purchase offers convert at 5–15%, roughly 5–10x a pre-purchase upsell (cartylabs, 2026), and the copy decides where in that range you land.
This is the tutorial for writing that copy: the five lines every post-purchase offer needs, and how to write each one so it reads as a helpful next step instead of a pitch. It sits inside the Invisible Second Sale™ framework, which is where the whole post-purchase system lives.
I run Skuology and build Upsellr. This comes from 80+ Shopify projects and over $100M in combined eCommerce revenue.
Key Takeaways
- After checkout the offer and the audience are fixed, so the copy is the lever you actually control.
- A post-purchase offer is five lines: headline, framing sentence, value line, button, decline link.
- Name the product and the benefit in the headline; skip generic interruptions like "Wait!"
- Button copy should be specific and first-person: "Add this to my order" beats "Yes."
- Use the real reason it's one-time (the order hasn't shipped), never a fake countdown.
Why the copy is the lever you control
By the time the offer appears, the hard decisions are behind the customer. You already chose what to offer and who sees it. What you can still change, test, and improve is how the offer is worded. That makes copy the highest-impact thing left in the flow, because it's the only part still moving.
It also means copy carries the whole tone. The same offer can read as a thoughtful suggestion or a pushy upsell depending entirely on the words. Get the wording right and the offer feels like the store helping; get it wrong and you trigger the resistance the post-purchase moment had removed.
So the goal of every line below is the same: make the offer read as the obvious next step for someone who just bought, not as a new sales pitch aimed at a stranger.
The five lines of a post-purchase offer
Strip a post-purchase offer down and it's five pieces of copy, in order:
| Line | Job | Weak version | Stronger version |
|---|---|---|---|
| Headline | Name the thing and the benefit | "Wait! Special offer just for you" | "Add the refill and never run out" |
| Framing sentence | Tie it to the purchase | "You might also like…" | "Since you bought the starter kit…" |
| Value line | Give the honest why-now | "Limited time only!" | "Add it now and it ships in the same box" |
| Button | Describe the action | "Confirm" | "Add this to my order" |
| Decline link | Let them say no cleanly | "No, I don't want to save" | "No thanks, complete my order" |
Each line has one job. Most weak post-purchase offers fail because one line is doing the wrong job, usually the headline trying to manufacture urgency instead of naming the product. Write each line to its own job and the offer reads clean.
The headline: name the product and the benefit
The headline's job is recognition, not persuasion. The buyer should understand what the offer is in one glance. "Wait! Special offer" tells them nothing and signals a sales tactic. "Add the refill and never run out" names the product and the benefit in the same breath, so it reads as a recommendation.
The test is simple: could the customer tell a friend what you offered them from the headline alone? If yes, it's specific enough. If the headline could sit on top of any offer in any store, it's too generic to convert.
Skip the interruption words. "Wait," "Hold on," and "Don't go" all frame the offer as something that has to grab the buyer before they escape. The post-purchase buyer isn't escaping. They just bought. Talk to them like a customer, not a bounce risk.
The framing sentence: tie it to what they bought
One short sentence connects the offer to the purchase. "Since you bought the starter kit, the refill keeps it going" does more work than any persuasion, because it makes the offer feel like a continuation of the decision the customer already made. The offer rides their commitment instead of asking for a new one.
This is where relevance gets stated out loud. Even when the product logic is obvious, naming the connection in the copy makes it land. "Since you bought X" is a reliable template: it anchors the offer to a decision the buyer feels good about and reframes the upsell as the natural next item.
Keep it to one sentence. The framing sentence sets up the offer; it isn't the place to re-sell the benefit or stack reasons. One clean link between purchase and offer is enough.
The value line: an honest why-now
Most stores reach for a countdown timer here. Don't. The post-purchase moment already has a real, honest reason the offer is one-time, and it beats any fake urgency: the order hasn't shipped yet. "Add it now and it ships in the same box" is true, specific, and useful, and it gives the buyer a genuine reason to decide now instead of later.
Honest urgency works because it survives scrutiny. A customer who notices a fake countdown reset feels manipulated at the exact moment their trust is highest, and that costs more than the offer is worth. A real reason ("same box," "before it ships," "added to this order") never backfires.
If there's no honest why-now for your offer, drop the value line entirely. A relevant offer with no urgency still converts. A pushy offer with fake urgency erodes the trust that makes the next purchase possible.
Button microcopy: specific and first-person
The button is copy too, and it's the most-tested two words in the whole offer. "Confirm" and "Yes" make the buyer translate the word into an action. "Add this to my order" describes the action for them and quietly reminds them the order is already in motion, card on file, one tap away.
First-person framing ("my order," "add to my box") reads as the customer's own choice rather than the store's instruction. It's a small shift that keeps the offer feeling like a decision the buyer is making, not one being made for them.
The mechanics behind that one tap, the stored card and the no-second-checkout flow, are covered in the one-click upsells guide. The copy point here is narrow: the button should name the result, in the buyer's voice.
The decline link: honest and small
Every post-purchase offer needs a clean way to say no, and the words on it matter more than they look. "No thanks, complete my order" lets the buyer decline and move on without friction. Confirm-shaming copy like "No, I don't want to save money" wins the occasional guilt click and loses something far more valuable: the goodwill of a customer who just trusted you with a purchase.
The decline link is a trust signal. A store confident in its offer makes saying no easy. A store that guilts the buyer into staying signals the opposite, and the buyer feels it. The occasional extra conversion from shame copy is not worth the repeat purchases it quietly costs.
Keep it small, keep it honest, and keep it free of pressure. The customer who declines cleanly today is still a happy customer, and happy customers come back. That's the whole point of keeping the second sale invisible.
Post-purchase upsell copy: FAQ
What makes post-purchase upsell copy different from regular ad copy?
The buyer has already paid, so the copy isn't selling a stranger, it's nudging a customer. It has to read as a helpful next step, not a fresh pitch. That means less persuasion, more relevance: name what they bought, tie the offer to it, and keep the ask small and honest.
What should the post-purchase offer headline say?
Name the specific product and the concrete benefit, not a generic interruption like "Wait! Special offer." A headline like "Add the refill and never run out" tells the buyer exactly what it is and why it helps. Specificity reads as a recommendation; vague urgency reads as a sales tactic.
How do I write the button text on a post-purchase upsell?
Use specific, first-person action copy that describes the result: "Add this to my order" beats "Yes" or "Confirm." It tells the buyer exactly what happens on tap, and the order framing reminds them the card is already on file. Vague buttons create a pause, and a pause is where doubt enters.
Should I use urgency and countdown timers in post-purchase copy?
Use the real reason it's one-time, not a fake one. The order hasn't shipped yet, so adding to it now avoids a second shipment. That's honest and specific. Fake countdown timers and "last chance" pressure trigger reactance at the exact moment trust is highest, and they cost more than they earn.
How should the decline link be worded?
Make it small, honest, and free of guilt: "No thanks, complete my order." Never use confirm-shaming like "No, I don't want to save money." Guilt copy wins the occasional click and loses the trust you just earned. A clean decline keeps the post-purchase experience positive, which protects repeat purchases.
What to do next
No copy guarantees a lift. The right words help a relevant offer convert and keep a good customer happy; they can't rescue an offer that doesn't fit. Get the offer right first (what to offer, and in what order), then write the five lines to match.
The words are the lever; the framework is the system. The Invisible Second Sale™ covers the full architecture, and buildmyupsell.com deploys a one-click offer via Upsellr in 48 hours. To design the post-purchase system and its copy for your store, book a call.

