---
title: "One-time offer (OTO) script"
summary: "A complete OTO upsell page script in under 200 words. Headline (natural-next-step), 3-bullet stack, price with comparison to just-paid front-end, two clearly visible buttons (yes / no thanks), mirror of front-end's guarantee. Captures 15 to 35% of front-end buyers."
canonical: https://unlocksaas.com/scripts/oto-script
updated: 2026-05-20
publisher: "Unlock SaaS"
author: "Maryan"
license: All rights reserved. Quotation with attribution permitted.
---

# One-time offer (OTO) script

> A complete OTO upsell page script in under 200 words. Headline (natural-next-step), 3-bullet stack, price with comparison to just-paid front-end, two clearly visible buttons (yes / no thanks), mirror of front-end's guarantee. Captures 15 to 35% of front-end buyers.

**Format.** Single-page upsell shown after front-end Stripe success
**Target length.** 150 to 200 words
**When to use.** On every front-end funnel (tripwire, VSL, sales page, Perfect Webinar). The OTO is funnel infrastructure, not a separate strategy. If you have any paid offer with a checkout, you should have at least one OTO step.

## The script, block by block

### Block 1: Headline (1 line)

**Intent.** Name the natural-next-step outcome.

**Say something like.** You just got [front-end deliverable]. Now [natural extension] for $[2–5x front-end price].

**Founder note.** Headline extends the buyer's just-made decision. 'You just got X' acknowledges the decision; 'Now [Y]' extends it. Do not introduce a new sales argument.

### Block 2: Stack (3 bullets)

**Intent.** List 3 deliverables specific to the upgrade.

**Say something like.** Here's what's added:\n• [Extension 1] – [small anchor]\n• [Extension 2] – [small anchor]\n• [Bonus 3] – [small anchor]

**Founder note.** Three bullets max. The buyer already trusts you; don't re-pitch. The stack is shorthand confirmation that the price is fair.

### Block 3: Price + guarantee (1 line)

**Intent.** State the price + mirror the front-end's guarantee.

**Say something like.** $[OTO price]. Same [60-day] guarantee as your [front-end] – refund if [outcome] doesn't happen by [date].

**Founder note.** Guarantee mirroring is mandatory. If the front-end has a 60-day guarantee and the OTO has 'no refunds on upgrades', the buyer's trust collapses and the OTO converts at near-zero.

### Block 4: Buttons (2, both visible)

**Intent.** Yes / no thanks – both buttons clearly visible.

**Say something like.** [Yes button: 'Yes, add this for $X – one-click'] | [No thanks button: 'No thanks, just send me [front-end]']

**Founder note.** Both buttons visible and labelled. Hidden 'no thanks' is adversarial UX that survives short-term but kills long-term trust. The 'yes' button must be one-click (Stripe Setup Intent) – re-entering card info tanks OTO conversion by 40 to 70%.

## Variables to fill in

- `[front-end deliverable]` – What the buyer just paid for. Verbatim from the front-end page.
- `[natural extension]` – The next thing in the same direction. Not a leap to a different cohort.
- `[OTO price]` – 2x to 5x the front-end. Beyond 5x feels like a frame-break.
- `[guarantee event]` – Same trigger event as the front-end. Mirror exactly.

## Common script-level mistakes

- OTO is a different cohort's offer. $1 starter buyer + $497 mastermind OTO = frame break, near-zero conversion.
- OTO has more friction than front-end. Re-entering card details, extra info forms, popup confirmations all cost 10–30% per friction layer.
- OTO is the same product re-priced. Feels like bait-and-switch on the original purchase.
- Hidden 'no thanks' button. Adversarial UX that destroys long-term trust.
- Different guarantee terms than front-end. Buyer's just-built trust collapses.

## Questions founders ask

### Should the OTO be on a separate page or in the checkout?

Separate page after Stripe success. In-checkout order-bumps work for low-priced add-ons ($7–$19 bumps to a $97 core) but underperform separate-page OTOs for higher-priced extensions.

### How long should the OTO page be visible?

Permanent. The phrase 'one-time offer' means the offer is a one-time decision in the buyer's path, not a time-limited offer. Fake countdowns are trust-breaks.

### Should I have one OTO or two?

Start with one. Take rate on a second OTO is 5 to 20% of buyers who took the first. Beyond two, take rates collapse and the funnel feels like a hard sell.

## Related Brunson terms

- [Offer](https://unlocksaas.com/glossary/offer) – What the page asks for and what it gives in return, structured so the perceived value is unambiguously higher than the price.
- [Stack Slide](https://unlocksaas.com/glossary/stack-slide) – The offer reveal pattern that itemizes the deliverables, anchors each to a standalone price, and then presents the total as a discount to that anchor.
- [Value Ladder](https://unlocksaas.com/glossary/value-ladder) – An ordered sequence of offers a customer can move through, each delivering more value than the last at a price proportional to the delivery.

---

Canonical URL: https://unlocksaas.com/scripts/oto-script
Publisher: Unlock SaaS (https://unlocksaas.com)
Contact: maryan@unlocksaas.com