Skip to content

Writing and producing the VSL

VSL script: how to write a video sales letter, with a fill-in template

A VSL script is the spoken argument behind a video sales letter: what the viewer hears, in what order, and why they keep listening. This guide walks through the whole process, from research to table read, and gives you a fill-in template for every beat.

By the RevvyScales teamUpdated 14 min read

On this page
  1. What is a VSL script?
  2. Step 1: Research before you write a word
  3. Step 2: Choose one big idea and one mechanism
  4. The VSL script structure, beat by beat
  5. How long should a VSL script be? Word count to runtime
  6. How to write a VSL script for the ear
  7. How to script for retention
  8. A fill-in VSL script template
  9. Compliance checks before you record
  10. Table-read the script, then test several leads
  11. Common VSL script mistakes
  12. Your VSL script checklist
  13. Frequently asked questions

A VSL script is the spoken argument of a video sales letter: every word the viewer hears, in the order that moves them from "who is this?" to "where do I click?". To write one, research first, choose one big idea and one mechanism, draft the beats from hook to close, write for the ear, time it at about 150 words per minute, table-read it and test several leads.

The whole job at a glance, with what each step leaves you with:

Writing a VSL script, from research to test

  1. ResearchThe buyer's words, objections and awareness, on one page
  2. One big idea, one mechanismA big idea you can say in one sentence
  3. Draft the beatsEleven beats, from hook to close
  4. Write for the earRead it aloud and fix every stumble
  5. Time itWord count ÷ your presenter's pace
  6. Table-read itTo two or three people who match your buyer
  7. Test several leadsThree leads on the same body

What is a VSL script?

A VSL script is the written version of everything the presenter says (or the slides show) in a video sales letter, plus notes on what appears on screen. It's a sales letter rebuilt for listening. A reader can skim a sales page and jump to the price. A viewer can't: they get your argument one sentence at a time, in your order, and they leave the moment a sentence stops earning the next one.

That changes how you write. VSL copywriting needs a faster opening than a page, more repetition, simpler sentences and planned moments that reset attention.

Step 1: Research before you write a word

Most weak VSLs are research problems that look like writing problems. Generic copy usually means the writer doesn't know the buyer's exact words, their failed attempts or the claims they've already heard. Spend more time here than feels comfortable.

Collect the customer's language

Gather the phrases buyers use to describe the problem, the solutions they've tried and what they want instead. Good sources: reviews of competing products (the two- and three-star ones explain what disappointed people), support tickets, sales-call recordings, forum threads and short customer surveys. Paste the phrases verbatim into one document. When viewers hear their own words, they assume you understand the rest.

List every objection

Write down every reason someone might not buy: price, time, "I've tried this before", "it won't work for someone like me", doubts about the presenter, fear of a subscription trap. Rank them by how often they come up. Each serious objection needs a planned answer somewhere in the script: in the proof, the offer, the guarantee or the FAQ after the pitch.

Diagnose awareness and sophistication

Decide how much your viewer already knows. Cold traffic from a broad video ad is often problem-aware at best; a retargeted viewer may know your product by name. The five levels of awareness tell you how to open: offer-first for the most aware, story- or problem-first for the least. Then check how many similar promises your market has heard. If every competitor makes your claim, you need a new mechanism, not a bigger promise.

Fill in a one-page brief

Before drafting, fill in this brief. If a line stays empty, you're not ready to write.

The one-page brief, line by line

0 of 9 done

The brief is also what makes writing a VSL with AI workable: a model given real research produces a draft worth editing, while a model given only a product name produces filler.

Step 2: Choose one big idea and one mechanism

The big idea is the single concept that frames the whole VSL, the thing a viewer would repeat to a friend. The mechanism is the specific reason the problem persists and the reason your solution works. A script with no big idea feels like a list of benefits. A script with three big ideas feels like three ads stitched together.

Test both before drafting. You should be able to say the big idea in one sentence a 12-year-old would follow, and the mechanism should explain why the viewer's past attempts failed, with every link in it true and provable. The full methods are in big idea copywriting and how to find a unique mechanism.

Here's an example for Second Chorus, a fictional song-first guitar course for adults who quit as teenagers. We'll use it throughout this guide.

  • Big idea: "You didn't fail at guitar. You were taught in the wrong order."
  • Problem mechanism: Traditional lessons teach the parts before the whole (notes, scales, chords, then songs), and adults run out of motivation before the payoff.
  • Solution mechanism: Start with a song you love and learn the technique inside it, so every practice session ends with music.

The VSL script structure, beat by beat

Every long-form VSL is some arrangement of the same beats. The order below is the classic sequence for cold, problem-aware traffic; for warmer traffic, shorten the early beats and reach the offer sooner. The shares are illustrative for a 20-minute VSL of about 3,000 words. Your research, price and traffic decide the real proportions. Here is how the words divide:

The beats of a 20-minute VSL script, by words

Illustrative shares of about 3,000 words for cold, problem-aware traffic, with each beat's job. Highlighted: the six beats before the offer starts

1. Hook and leadEarn the next minute; name the viewer; open a loop300 words · 10%
2. Problem and agitationShow you understand the problem and its cost300 words · 10%
3. StoryIntroduce a credible guide and the turning point450 words · 15%
4. Discovery and mechanismExplain why past attempts failed and what works450 words · 15%
5. ProofMake the mechanism believable375 words · 12.5%
6. Product revealName the product and show daily use225 words · 7.5%
7. Offer stackEverything included: bundles, bonuses225 words · 7.5%
8. Price justification and revealReal reference points, then the price150 words · 5%
9. GuaranteeRemove the risk in exact terms75 words · 2.5%
10. Close and CTAThe choice and the exact next step150 words · 5%
11. FAQ and second closeAnswer what still stops people300 words · 10%

Notice where the offer starts: around word 2,100, about 70% of the way through. Everything before that point persuades; everything after it sells. That boundary is your pitch, and you'll need its timestamp later.

How long should a VSL script be? Word count to runtime

Plan runtime from word count. The National Center for Voice and Speech puts the average speaking rate for American English at about 150 words per minute (NCVS). Plan with 150, treat 140 to 160 as the typical range, then time your actual presenter.

Script lengthAt 140 wpmAt 150 wpmAt 160 wpm
750 words5:215:004:41
1,500 words10:4310:009:23
3,000 words21:2620:0018:45
4,500 words32:0930:0028:08

A worked example: your offer starts at word 2,100 of a 3,000-word script. At 150 words per minute the pitch lands at 14:00. If your presenter reads at 140, it lands at 15:00; at 160, at 13:08. Add a 40-second demonstration with no narration and everything after it shifts again. That's why you take the pitch timestamp from the finished edit, never from the script. The second the offer appears is the second your buy button should appear (when to show the buy button).

Put in your own word count and your presenter's pace. To find the pitch second, enter the word where your offer starts:

Calculator

VSL length calculator

How long a script runs when read aloud, and how many words a target length takes.

Runtime of the script20 minat 150 words a minute
Words for the target length
3,000
Words to add (+) or cut (−)
0

Set the pace to your presenter’s: read one page of the script aloud, count its words and divide by the minutes it took. Pauses, demonstrations and on-screen proof add time the word count doesn’t show.

How long the script should be in the first place depends on price, awareness and traffic temperature, a decision covered in how long a VSL should be. While drafting, use one rule: if a section could go without the viewer missing it, cut it.

How to write a VSL script for the ear

A listener can't reread. Sentences that work on a page (long, nested, full of qualifiers) collapse when spoken. Write the way your presenter talks, then read it aloud and fix every place you stumble.

  • One idea per sentence. If a sentence has a comma, an "and" and a "which", split it.
  • Short sentences, varied. A run of short lines builds pace. A longer one gives the ear a rest.
  • Contractions and spoken signposts. "Here's the thing." "Now." "So." "Which means." They tell the ear where the argument is going.
  • Repeat the key phrase. On a page, repeating your big idea three times looks lazy. In audio, it's how listeners keep their place.
  • Numbers the way people say them. "About two weeks" beats "approximately 14 days". Spell out anything the presenter could misread.
  • No parenthetical asides. The ear can't see parentheses. Turn the aside into its own sentence or cut it.
  • Marked pauses. Put a line break where the presenter should breathe and bold the word they should stress.

Here is one line, before and after:

One line, rewritten for the ear

Written for the eyeBefore

  • "Our proprietary curriculum, refined over years of teaching adult learners, prioritizes repertoire acquisition over technical foundations, which supports more consistent practice."

Written for the earAfter

  • "Here's what's different. You learn songs first. Real songs. The technique comes along inside them. So every practice ends with music, and that's what brings you back tomorrow."

How to script for retention

Retention is decided in the script long before the edit. Four techniques do most of the work.

Open loops, closed on schedule. Promise a specific payoff and deliver it later: "In a minute, I'll show you the chord change that trips up returning players. First..." Every loop you open must close. A loop that never pays off feels like a trick, and viewers who feel tricked leave or ask for refunds.

A re-hook at every transition. The seams between beats are where viewers leave: story to mechanism, mechanism to proof, proof to product. Open each new beat with one line that gives a fresh reason to keep watching.

Pattern interrupts written into the script. Note visual changes where attention is likely to sag: [CUT TO DEMO], [ON SCREEN: "Songs first, technique inside"], [DIAGRAM]. The changes then land on meaning instead of on a timer, and your editor knows what each one is for. More in VSL editing.

No throat-clearing. Cut "Hi, I'm...", "Before we start..." and the credentials paragraph from the opening. Credentials belong in the story, after the viewer cares who's talking.

Here is where those seams fall in the 20-minute example, on an illustrative retention graph:

Where a script loses viewers: the seams between beats

Illustrative retention curve for the 20-minute example: share of viewers still watching

0%25%50%75%100%0:004:008:0012:0016:0020:00Pitch65%55%45%

Minutes into the video

Show the numbers
Minutes into the videoStill watching
0:00100%
0:3086%
1:0080%
1:3077%
2:0075%
2:3073%
3:0072%
3:3071%
4:0070%
4:3069%
5:0068%
5:3067%
6:0067%
6:3066%
7:0065%
7:3058%
8:0057%
8:3056%
9:0056%
9:3055%
10:0055%
10:3048%
11:0047%
11:3046%
12:0046%
12:3045%
13:0039%
13:3038%
14:0038%
14:3037%
15:0037%
15:3036%
16:0036%
16:3035%
17:0035%
17:3034%
18:0034%
18:3034%
19:0033%
19:3033%
20:0033%
The dots mark the seams from story to mechanism (7:00), mechanism to proof (10:00) and proof to product (12:30), timed from the beat budget above. Past the opening, those are where this curve drops hardest.

After launch, the retention graph shows where the script lost people. Find the three steepest drops, read the script at those timestamps and rewrite the weakest line first. RevvyScales draws that chart second by second with the pitch marked, so each drop maps straight to a line of script.

A fill-in VSL script template

Fill each bracket from your brief, then rewrite the lines until they sound like your presenter. Each beat ends with an example from the fictional Second Chorus course.

The template, part 1: the six beats before the offer

1. Hook and lead

Job: make the right viewer feel singled out and promise something worth the next minute. If the page autoplays muted, the first line must also work as on-screen text.

"If you [specific situation, in the viewer's words], [surprising truth or promise in one sentence]."
"In the next [N] minutes, I'll show you [what they'll learn] and [why it's different from what they've tried]."

Example: "If you quit guitar as a teenager and still glance at that old case in the closet, here's what nobody told you back then: you probably didn't lack talent. You were taught in the wrong order. In the next few minutes, I'll show you the order that works for adults." For 24 more ways to open, see these VSL hook examples.

2. Problem and agitation

Job: describe the problem more precisely than the viewer could, then make its cost concrete. Agitate with specifics, not fear.

"You've probably tried [failed attempt 1] and [failed attempt 2]."
"Each time, [what happened, in their words]."
"The worst part isn't [surface problem]. It's [deeper cost: identity, time, relationships]."

Example: "Maybe you bought a beginner book or tried a few free video lessons. Two weeks of scales later, the guitar went back in the corner. The worst part isn't the money. It's the quiet story you started telling yourself: I'm just not musical."

3. Story

Job: introduce the guide and the turning point, so the discovery feels earned. Every biographical detail must be true for the person speaking; cut anything that doesn't lead to the discovery.

"I know, because [presenter's real experience with this problem]."
"I tried [what they tried], and [why it failed]."
"Then [the turning point: who, what, when]."

Example: "I know, because I taught guitar the traditional way for years. Adults signed up, practiced hard for a month and disappeared. I blamed their schedules. Then a student asked if we could skip the exercises and learn one song she loved."

4. Discovery and mechanism

Job: shift belief from "I've tried everything" to "I haven't tried this". Explain why the old way fails, then why the new way works, in plain words.

"The reason [common solutions] don't work is [problem mechanism]."
"What actually [produces the result] is [solution mechanism], because [plain-English explanation]."
"You can see it for yourself: [demonstration or analogy]."

Example: "Traditional lessons teach the parts before the whole: notes, scales, chords, then songs. Adults run out of steam before the payoff. Start with a song you love, learn the technique inside it, and every practice ends with music."

5. Proof

Job: make the mechanism believable with evidence that matches the claim: a demonstration, data you can show, credentials, and real customer stories used with permission.

"Don't take my word for it. [Demonstration, evidence or third-party source]."
"[Real customer, with permission] was [relatable situation]. [Their specific experience.]"
"Here's what that does and doesn't show: [honest limit, including what's typical]."

Example: "Watch this. [Student name, with permission] hadn't touched a guitar in [real number] years. This is her first lesson, unedited: two chords, the opening of a song she loves. Most students take [your real typical range] to get here, and that's fine."

6. Product reveal

Job: name the product and show what using it looks like on an ordinary day.

"That's why I created [product]: [one-sentence description]."
"Here's how it works: [step 1], [step 2], [step 3]."
"On a typical day, you [what using it looks like, in minutes and moments]."

Example: "That's why I built Second Chorus, a song-first guitar course for adults. Pick a song, follow a 15-minute lesson, and play along with a slowed-down backing track until you're ready for full speed."

From the offer stack on, the script sells. The last five beats, from the offer to the second close:

The template, part 2: from the offer to the second close

7. Offer stack

Job: list exactly what the buyer gets, most valuable first, with each bonus answering a specific objection. Building the stack itself is covered in how to build a VSL offer.

"When you join today, you get [core product], so you can [main outcome]."
"You also get [bonus 1], so [objection it removes]."
"And [bonus 2 or bundle option], because [reason it matters]."

Example: "You also get the chord cards, so you never have to pause a lesson to look up a shape, and the 15-minute practice plans, so a busy week doesn't end your streak."

8. Price justification and reveal

Job: frame the price against real reference points, then say it plainly. Never invent a "regular price" the product was never sold at, and use per-day math only when the usage assumption is realistic.

"[Real alternative] costs [real price]. [Second real alternative] costs [real price]."
"[Product] is [price], [one time or per period]."
"That works out to [per-day or per-use cost]."

Example: "Weekly private lessons near you might cost [real local price] a month. Second Chorus is [price], once, including every song we add."

9. Guarantee

Job: take the risk off the buyer, in exact terms.

"Try [product] for [N] days. If [condition, if any], [how to ask], and you'll get [exactly what back]."
"[What they keep, if anything.]"

Example: "Try it for 30 days. If you're not enjoying it, email us and we'll refund every cent."

10. Close and CTA

Job: restate the choice and say exactly what to tap and what happens next.

"You can keep [the path that hasn't worked], or try [the new way] for [N] days with no risk."
"Tap the button below this video. You'll go to a secure checkout, and [what happens after: email, login, shipping]."

Example: "Tap the button below the video. Your login arrives by email a few minutes after checkout."

11. FAQ and second close

Job: answer the remaining objections for people still watching, then restate the offer.

"Here are the questions people ask most. [Question about time or fit]? [Answer]."
"[Question about tech, shipping or billing]? [Answer]."
"So if you're still here: [restate offer and guarantee]. Tap the button below."

Example: "Do I need a new guitar? No. Any guitar that stays in tune will do."

Compliance checks before you record

A claim that would get a print ad pulled doesn't become safe because someone says it out loud. Before recording, make a claims list: every express and implied claim in the script, with the evidence you hold for each. The FTC's position is that advertising must be truthful and not misleading, and that you need proof before the ad runs, including for claims made by implication (FTC advertising FAQs).

  • Health claims need competent and reliable scientific evidence, per the FTC's Health Products Compliance Guidance (December 2022). Don't imply the product treats or cures a disease.
  • Testimonials must be real, and if a result isn't what buyers generally get, disclose what they can expect (Endorsement Guides, 16 CFR Part 255, revised in 2023). The FTC's Consumer Reviews and Testimonials rule, in effect since October 21, 2024, prohibits testimonials from people who don't exist, including AI-generated ones, or who never used the product.
  • Earnings claims for business and money offers need the same substantiation, and atypical results can't be presented as typical.
  • Prices and deadlines must be real: no "regular price" you never charged, no countdown that resets.
  • Subscription terms must be stated clearly before you collect payment details.

This isn't legal advice. The VSL compliance guide has a fuller checklist, and high-risk claims deserve review by a qualified lawyer.

Table-read the script, then test several leads

Read the full script aloud at the presenter's pace with a stopwatch running, and mark every stumble, every sentence you'd skip as a viewer and every claim you hesitate over. Then read it (don't hand it over) to two or three people who match your buyer, and ask them to repeat the big idea and the mechanism in their own words. If they can't, the script isn't clear yet.

Then write more than one lead. The first two minutes decide whether anyone hears the rest, and the lead is the cheapest part to rewrite: keep the body, swap the opening.

  1. Write three leads on the same body, each from a different angle, such as a problem lead, a mechanism lead and a story lead.
  2. Produce them as three complete VSL versions and note each version's pitch second, because leads of different lengths shift it.
  3. Split traffic evenly and keep each visitor on one version for the whole test.
  4. Judge in order: retention at 30 and 60 seconds, then pitch reach (visitors who reach the pitch ÷ all unique visitors), then revenue per visitor. A lead that holds people early but loses them before the pitch hasn't won.

In RevvyScales, you'd put the three versions in one folder: traffic is split by weight per new visitor, each visitor stays on the version they first saw, and analytics break the results down by version (folders and A/B splits).

Common VSL script mistakes

MistakeWhy it hurtsFix
Credentials before the hookViewers leave before the promiseOpen on the hook; move credentials into the story
A mechanism that ignores past failuresThe viewer still thinks "I've tried this"Pair a problem mechanism with a solution mechanism
Features at the product revealFeatures don't picture a dayShow what using it looks like
An invented "regular price"Misleads buyers; refund and legal riskAnchor on real alternatives and real prices
Open loops that never closeFeels like a trickTrack every loop and close it on schedule
No FAQ after the pitchLate objections go unansweredAdd a FAQ and a second close

Your VSL script checklist

Run through these before you record; your ticks are saved in this browser:

Before you record

0 of 8 done

Frequently asked questions

How many words is a 20-minute VSL script?

At a typical speaking pace of about 150 words per minute, a 20-minute VSL is roughly 3,000 words. Presenters vary, so plan with a range of 140 to 160 words per minute, which gives about 2,800 to 3,200 words, and time a read-through with your actual presenter. Demonstrations, pauses and b-roll without narration add time, so set the pitch timing from the finished edit.

Should a VSL script be written in the first person?

Usually, yes. A VSL is typically one voice speaking to one viewer, so I and you sound natural and build trust. Use we when a company or team presents. Whatever you choose, stay consistent, and make sure every first-person story is true for the person delivering it, because a presenter reading someone else's biography as their own misleads viewers.

Can one VSL script template work for any niche?

The beats transfer across niches because they follow how people decide: attention, problem, belief, proof, offer, risk, action. What changes is the proportion. A low-priced product for warm traffic may move from hook to offer in a few minutes, while a high-ticket program for cold traffic needs more story and proof. Fill the template from your own research, then cut what your buyer doesn't need.

What is the difference between a VSL script and a video ad script?

An ad script is short and has one job: earn the click from someone who wasn't looking for you. A VSL script does the selling after the click, so it can run many minutes and carries the full argument, from problem and mechanism to proof, offer, guarantee and close. The two must match. If the ad promises something the VSL doesn't open with, viewers feel switched and leave early.

Should the price be in the VSL script or only on the page?

Put it in both and make them match. Saying the price in the video lets you frame it with real reference points and the guarantee before the viewer judges the number on its own. The page should show the same bundles and prices at the same moment, which is why many VSL pages reveal the offer block at the second the price is spoken. Any mismatch between video and page costs trust.

Sources

  1. Voice qualities tutorial (speaking rate) — National Center for Voice and Speech
  2. Advertising FAQ's: A Guide for Small Business — FTC
  3. Health Products Compliance Guidance (December 2022) — FTC
  4. Guides Concerning the Use of Endorsements and Testimonials in Advertising, 16 CFR Part 255 — eCFR
  5. FTC announces final rule banning fake reviews and testimonials (August 14, 2024) — FTC
  6. Consumer Reviews and Testimonials Rule: Questions and Answers — FTC