---
title: "Video sales letter (VSL) script"
summary: "A complete VSL script template structured on the Brunson Hook / Story / Offer pattern, with timing markers and founder notes for each block. Designed for indie SaaS offers priced between $27 and $1,997. Records in one session; iterates from a real script, not a blank page."
canonical: https://unlocksaas.com/scripts/vsl
updated: 2026-05-20
publisher: "Unlock SaaS"
author: "Maryan"
license: All rights reserved. Quotation with attribution permitted.
---

# Video sales letter (VSL) script

> A complete VSL script template structured on the Brunson Hook / Story / Offer pattern, with timing markers and founder notes for each block. Designed for indie SaaS offers priced between $27 and $1,997. Records in one session; iterates from a real script, not a blank page.

**Format.** Single-camera founder-led video
**Target length.** 8 to 22 minutes (offers under $100) / 22 to 45 minutes (offers $100–$1,000)
**When to use.** Cold-traffic conversion for offers between $27 and $1,997. Best when the founder is comfortable on camera and the audience is searching the problem (warm-but-not-customer). For higher-ticket offers, use the Perfect Webinar script instead.

## The script, block by block

### 0:00 – 0:30 (Hook)

**Intent.** Name the audience and the outcome in the first 5 seconds.

**Say something like.** If you've [specific situation, e.g. launched a SaaS and got 50 sign-ups and 0 paying customers], this video is for you. In the next [length] minutes, I'm going to show you [specific transformation] using [specific mechanism].

**Founder note.** Audience-first, founder-second. If a stranger can't tell within 5 seconds whether this is for them, the VSL is broken before it starts. Lifts completion 30 to 60% over founder-first openings.

### 0:30 – 4:00 (Founder story)

**Intent.** Build trust through specific dated experience, not credentials.

**Say something like.** Here's how I learned this. [3-paragraph story: where you started, the moment of insight, what changed]. Specific dates, specific numbers, specific outcomes – not generic 'years of experience'.

**Founder note.** Story builds trust; credentials prove competence. The Brunson Epiphany Bridge: take the viewer through the same transformation arc you went through, so the after-state feels achievable.

### 4:00 – 12:00 (Mechanism teach)

**Intent.** Teach the conceptual framework. Not feature list – pattern.

**Say something like.** The reason [problem] happens to most [audience] is [pattern]. Here's the pattern that fixes it: [3-part framework]. Walk through each part with one example each. Don't teach the entire system – teach the framework.

**Founder note.** Teach enough that the viewer understands why your offer works, not enough that they can do it themselves. The teaching builds authority; the offer delivers the implementation.

### 12:00 – 18:00 (Stack the offer)

**Intent.** Build the Stack Slide. Six to twelve deliverables, each anchored.

**Say something like.** Here's what's in [the offer]. [Deliverable 1] – normally $X. [Deliverable 2] – normally $X. [continue for 6–12 items]. Total value $Y. Your price today: $Z, which is [fraction] of the total.

**Founder note.** The Stack is the load-bearing close mechanic. Without it, the price is the only number on the screen and the viewer has nothing to anchor against. Each line item must be a distinct deliverable, not the same product rebranded.

### 18:00 – 20:00 (Risk reversal)

**Intent.** State the guarantee. Specific event, specific window.

**Say something like.** If [specific event, e.g. 'you don't see your first paying customer'] within [specific window, e.g. '60 days'], [specific remedy, e.g. 'full refund, no questions']. Here's why I can offer that: [reason rooted in your data].

**Founder note.** Specific guarantees outconvert generic 'satisfaction guaranteed' by 2 to 5x. The remedy must be tied to a measurable event the buyer can verify themselves, not a vague subjective state.

### 20:00 – 22:00 (Close + CTA)

**Intent.** Tell the viewer exactly what to do, mechanically.

**Say something like.** Here's what to do next. Click the button below this video. Enter your card. You'll have access to [first deliverable] within 90 seconds. If [outcome] doesn't happen by [date], the guarantee kicks in. I'll see you on the inside.

**Founder note.** The close is mechanical, not emotional. The viewer has already decided by minute 18; minute 20–22 is about removing the next-action friction. Be specific about the post-purchase experience.

## Variables to fill in

- `[audience]` – The specific cohort. Not 'founders' – 'indie SaaS founders post-launch'.
- `[transformation]` – The specific outcome. Not 'grow your business' – 'pin your first paying customer'.
- `[price]` – Stated once, at minute 17–18. Confident, no apologising.
- `[guarantee event]` – The measurable trigger – not 'satisfaction', but 'first paying customer by day 60'.

## Common script-level mistakes

- Opening with founder credentials. Viewers bounce in the first 15 seconds when the founder talks about themselves first.
- Skipping the Stack Slide. Without it, the price is unanchored and conversion collapses.
- Hiding the price until the buy button. State the price at minute 17–18; hiding it feels manipulative.
- Going under 8 minutes. Below 8 minutes there's not enough time to build belief for offers above $27.
- Reading the script verbatim. Use the structure; speak in your voice. Verbatim reads feel robotic on camera.

## Questions founders ask

### How long should my VSL be?

8 to 22 minutes for offers under $100. 22 to 45 minutes for offers $100 to $1,000. Beyond $1,000, switch to the Perfect Webinar script (60 to 90 minutes). Shorter than 8 minutes rarely builds enough belief; longer than 45 loses cold traffic.

### Do I need professional video equipment?

No. A modern smartphone, decent lighting, and a quiet room out-converts a poorly-scripted studio production. Script and pacing matter 10x more than production quality for VSL conversion.

### Should I record once and iterate, or get it perfect first?

Record version 1 in one session. Ship it. Measure where viewers drop off (the retention curve is your script's diagnostic). Re-record only the blocks where the curve breaks. Most founders rewrite forever and ship nothing.

## Related Brunson terms

- [Hook](https://unlocksaas.com/glossary/hook) – The promise plus polarity move a page makes in the first three seconds, before the visitor decides whether to keep reading.
- [Story](https://unlocksaas.com/glossary/story) – The belief stack between the hook and the close – the sequence of small recognitions that turns curiosity into trust.
- [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.

---

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