Your buyer just hit "complete purchase," and the thank-you page loads next, built or not. An upsell trades them up to a bigger version of what they just bought, a cross-sell hands them something different but related, and a downsell catches the ones who say no with a cheaper option instead of losing the sale.
An upsell is a bigger, higher-priced version of what someone just bought, shown right after checkout. A cross-sell is a different but related product that pairs with the purchase. A downsell is a cheaper, reduced version of the upsell, shown only to buyers who said no, so you capture revenue instead of losing the sale.
Most operators build the upsell and stop, since it's the obvious move and the easiest to set up. But the three offers run on different psychology and show up at different moments: an upsell rides the momentum of a "yes" that just happened, a cross-sell rides relevance to a separate need, and a downsell rides the fact that a "no" to $97 isn't a "no" to $27, it's a "no" to that price right then. Get the sequencing wrong and any of the three just adds friction between the buyer and their receipt instead of adding revenue.
The difference is the direction of the offer relative to what someone just bought: up, sideways, or down.
All three exist because checkout is the highest-intent moment you'll get with that buyer. They already trust you enough to pay once. What happens in the next minute or two decides whether that trust turns into more revenue per customer or gets left sitting on the table.
An upsell is a higher-priced offer shown immediately after purchase, giving the buyer more of the same outcome they just paid for.
It's not a new problem, it's the same problem solved bigger, faster, or more completely. The mechanic: the buyer pays for the core offer, hits the confirmation flow, and before the thank-you page loads they see one more decision, a single "add this for $X more" choice, with their card already on file so accepting takes one click.
Worked example: your core offer is a $47 pack of AI prompt templates for product descriptions. The upsell is a $97 "done-for-you" version, the same templates pre-built for their specific niche, plus a short walkthrough video. Same outcome (better product descriptions, faster), more of it, less work required from the buyer.
This is different from an order bump, which lives on the checkout page itself, before payment, usually priced low enough to be an impulse add. If that line is blurry in your funnel, order bump vs upsell draws it clearly, since mixing the two up is the most common reason operators put the wrong offer in the wrong slot.
Upsells work best when the price jump makes sense on its face. Going from $47 to $97 reads as a believable next step. Going from $47 to $497 usually doesn't, not on a page with one button and thirty seconds of the buyer's attention.
A cross-sell is a genuinely different product, related to what they just bought, offered to the same buyer, either alongside the upsell decision or in a follow-up email days later.
The test for whether something qualifies as a cross-sell instead of random noise: would the buyer nod and think "yeah, that makes sense to buy together," or would they think "why are you showing me this?"
Worked example: the buyer just bought your $47 AI prompt pack for product descriptions. A good cross-sell is a $27 template that tracks and organizes the descriptions once they're generated, since anyone using AI output at scale needs somewhere to manage it. A weak cross-sell is a $67 course on Facebook ads: technically a related "grow your store" topic, but not what's on their mind ninety seconds after buying a prompt pack.
Cross-sells ask more of the buyer than upsells do: recognizing a second problem exists, then judging whether your product solves it, are extra steps an upsell skips entirely. That's why cross-sells often land better a few days out, in an email, once the buyer has used the first product and the adjacent problem is real, not hypothetical.
If you're building a full product lineup instead of a single post-purchase page, how to build a value ladder shows where cross-sells fit as the sideways moves in a bigger stack.
A downsell is a cheaper, reduced version of the upsell you just declined, shown once, right after the "no."
The logic: someone who said no to $97 didn't say no to your offer, they said no to that offer at that price, in that moment. A downsell tests whether price, not the product, was the actual objection.
Worked example: they declined the $97 done-for-you upgrade. The downsell isn't a random $27 product, it's the same upgrade with something removed to justify a lower price, say $47 for the customized templates without the walkthrough video. Same core offer, fewer components, lower price. That's what makes it a downsell instead of a second, unrelated upsell.
Downsells work because they cost almost nothing to show (one more page in a sequence you've already built) and they catch revenue that would otherwise be zero. But they only work once. A second or third downsell stops recovering a sale and starts training buyers to keep saying no until the price hits the floor.
For a closer look at what this actually looks like across different offer types, downsell offer examples breaks the mechanics down page by page.
Upsell first, downsell only if they decline it, cross-sell last, either folded into the confirmation page or sent as a follow-up email a few days out. Each offer should only reach the people it actually applies to.
Here's the branch, using the $47 prompt pack example:
Checkout (core offer purchased, $47)
-> UPSELL PAGE: "Add the done-for-you upgrade for $97 more?"
- Yes -> confirmation page -> cross-sell email in 2 to 4 days
- No -> DOWNSELL PAGE: "Just the templates, no video, for $47 more?"
- Yes -> confirmation page -> cross-sell email in 2 to 4 days
- No -> confirmation page -> cross-sell email in 2 to 4 days
Notice the downsell only lives on one branch, someone who said yes to the $97 upsell never sees it, there's nothing left to recover. The cross-sell stays off the immediate sequence on purpose: by the time a buyer reaches the downsell page, they've already made two pricing decisions in under two minutes. A third one on the same page loses people who'd buy the cross-sell fine, just not right then.
For the full page-by-page version of this sequence, including where an order bump fits before checkout even starts, the upsell, downsell, and OTO sequence guide maps the whole thing.
Price the upsell as a clear step up from the core offer, the downsell at roughly half the upsell, and the cross-sell close to, or below, the core offer's own price point. None of these are laws, they're starting points that match how the buyer is actually thinking at each step.
Upsell pricing. The buyer just decided your core offer is worth its price, so the upsell should feel like a logical next tier, not a different category. A range worth testing: 1.5 to 3 times the core offer. Below that, it barely moves average order value. Above it, you're asking for a second full buying decision, a much harder sell forty-five seconds after the first one.
Downsell pricing. Price it in proportion to what got removed. Cutting the price by roughly 40 to 50 percent while removing the highest-cost-to-deliver piece (a call, a video, done-for-you work) keeps the math sound: you're not discounting the full upsell, you're selling a genuinely smaller thing.
Cross-sell pricing. Because it's asking the buyer to recognize a second, separate problem, keep the price at or below the core offer. A cross-sell priced higher than what they already bought is asking a stranger-level question ("do I even need this?") at a premium price, a hard combination to sell.
If you're deciding between showing two price points or three, price anchoring and charm pricing covers how the number itself, not just the tier, changes what looks like the obvious choice.
Lead with the reason the offer makes sense given what they just bought, not with urgency or a fake discount. The buyer already paid you. They don't need to be sold on you, they need to be shown why this specific next step earns one more decision.
Give the page exactly one job. Strip the navigation, strip unrelated links, strip anything that isn't "yes" or "no thanks." Every extra option on an upsell or downsell page is a way for the buyer to leave without deciding either way.
Open with the connection, not the pitch. "Since you just grabbed [CORE OFFER], here's the fastest way to [SPECIFIC RESULT]" does more work than a generic headline about savings or bonuses. It tells the buyer why the page exists before they've decided whether to keep reading.
Use reason-why bullets, not feature bullets. Instead of "20 additional templates," write "20 additional templates so you're not starting from a blank page for your next 5 launches," tying the feature to the exact outcome they already told you they want.
Make the decline a real option, not a trap. "No thanks, take me to my order" reads very differently than a shame-based link buried in gray six-point text. The shame version gets clicks out of irritation, and an irritated buyer is more likely to second-guess the purchase they already made.
On the downsell specifically, name the objection. You already know the buyer said no to a price, not to the offer, so a line like "same upgrade, just the templates without the walkthrough" answers the unspoken "what's different this time" before they have to ask.
Build the upsell first. It captures the most revenue for the least funnel complexity: one page, shown to every buyer, no branching logic required.
The downsell is the second build, not because it earns less attention, but because it only makes sense once the upsell exists to decline. Adding it later is a small lift, one more page, shown only on the branch you already have data on.
The cross-sell comes last, and it's often the first one operators skip, which is usually fine. It has the smallest per-buyer impact of the three and the most setup: a second product, a real reason it's relevant, and either another page or a separate email sequence. Build it once the first two are live and converting.
One more reason to prioritize in this order: if you're running paid traffic, the upsell (and to a lesser extent the downsell) is what turns a break-even front end into one that funds its own ad spend. That's the mechanism behind a self-liquidating offer: the post-purchase sequence is often doing more of that work than the front-end price ever could on its own.
The fastest way to get all three drafted is to hand an AI model your core offer once and force it to reason through all three relationships in the same pass, so the upsell, downsell, and cross-sell stay logically connected instead of reading like three separate ideas bolted together.
You are a direct-response offer strategist for a digital products business. Here is my core offer: - Product: [PRODUCT NAME AND ONE-LINE DESCRIPTION] - Price: [PRICE] - Who buys it: [CUSTOMER DESCRIPTION] - The transformation it delivers: [SPECIFIC OUTCOME] Build three post-purchase offers from this core offer: 1. UPSELL (shown immediately after checkout): a bigger, faster, or more complete version of the SAME outcome, priced between [PRICE RANGE, e.g. 1.5x to 3x the core offer]. Give me the offer name, one sentence on exactly what's added versus the core offer, and 3 reason-why bullets for saying yes right now, tied to the specific outcome above, not generic bonuses. 2. DOWNSELL (shown only if the upsell is declined): the SAME upsell, with one or two components removed to land around [40 to 50] percent of the upsell price. Give me the offer name, exactly what got cut and why that justifies the lower price, and one line that acknowledges they already said no without being pushy about it. 3. CROSS-SELL (shown after the upsell/downsell decision, or in a follow-up email [X] days later): a genuinely DIFFERENT product solving an adjacent problem for the same buyer, not a variation of the core offer. Give me the offer name, the specific adjacent problem it solves, why someone who just bought [CORE OFFER] would recognize that problem, and the price. Rules: no fake urgency, no countdown-timer language, no discount percentage as the main argument. Every reason-why has to trace back to the specific outcome the buyer already paid for.
Fill in your own numbers and run it, then read the three outputs against each other instead of on their own. The upsell and downsell should read like they're describing the same product at two different sizes. The cross-sell should read like a different product entirely.
None of these three offers fix a core offer that doesn't convert on its own. If the front-end product isn't closing sales, an upsell page just adds a second unconvincing pitch, and a downsell just teaches buyers your prices are negotiable. Fix the core offer before you build any of this.
The cross-sell is the one most likely to underperform relative to the effort of building it, especially early on. With one digital product, there's nothing to cross-sell yet, and forcing a loosely related affiliate link into that slot usually reads as exactly what it is: filler. Skipping it entirely until you have a second product you'd stand behind at full price is a completely fine call.
Downsells have a ceiling. One works because it recovers a real price objection. A second or third downsell in the same sequence stops recovering revenue and starts training buyers to hold out, since now they know the real move is saying no twice. Cap it at one and let the rest of the recovery happen in email, where you're not competing against your own discount ladder.
And at low volume, the math might not justify the build time yet. Three or four sales a week doesn't generate enough upsell attempts to learn anything from a page you spent a weekend on. Pre-traction, that time is usually better spent on the core offer. Come back to this once enough buyers are moving through checkout to actually test against.
No. An order bump is a single checkbox on the checkout page itself, added to the same transaction before the buyer pays, usually priced low enough to be an impulse add. A cross-sell is a separate decision, often on its own page or in a follow-up email, judged on relevance to the core offer rather than on being cheap and frictionless. Order bump vs upsell covers exactly where that line sits.
Technically yes, but at that point it's not really a downsell, it's just a second, cheaper offer. "Downsell" describes the position in the sequence, after a decline, not the offer itself. If you're only ever going to show one post-purchase offer, price and frame it as an upsell and skip the semantics.
There's no single number worth chasing: take rate depends on the price gap, how directly the upsell extends the core offer, and how warm the traffic was. The more useful benchmark is your own funnel over time: track your upsell's take rate against itself as you change price, headline, and reason-why copy, and let the trend tell you which direction to move.
A cheaper version of the same upsell, not a different product. The buyer already evaluated and rejected one specific offer at one specific price, they haven't rejected your business. Swapping in an unrelated product forces them to start the evaluation over from zero, the exact friction a downsell exists to avoid.
No. With a single product, you can still build an upsell (a bigger or done-for-you version of that same product) and a downsell (a stripped version of that upsell), but a cross-sell needs a second product to exist at all. Build the upsell and downsell now, and add the cross-sell once you've built something else worth offering.
You've got the definitions and the sequencing. The next step is building the pages in order. Start with the upsell, downsell, and OTO sequence guide to lay out the full flow, then use how to build a value ladder to decide where the cross-sell fits once you've got a second product ready to slot in.
Inside the Asset Academy community we build the copy, funnels, and offers together, with the prompts and the feedback. $96/mo, or save with annual.
Join the community →We build you an automated, revenue-ready business end to end. Limited spots, by application.
See If You Qualify →