Learning how to write a script for a 30-second ad comes down to one skill: making every second earn the next one. Thirty seconds is long enough to build a real argument — hook, problem, benefit, proof, offer, call to action — but short enough that one slow sentence can lose the viewer for good. This guide walks through the exact structure, a step-by-step writing process, a full example script, and the mistakes that quietly waste the most time in a 30-second ad.
What Makes a 30-Second Ad Script Different
A 30-second ad script sits in an awkward middle ground. It's too short for a full brand story and too long to survive on a single joke or visual gag the way a 6-second bumper can. The job of the script is to carry one clear argument from curiosity to action without a dead middle section where attention drifts.
Compare it to a 15-second script, which barely has room for more than a hook and an offer. A 30-second script has space to actually show the product solving a problem, add a proof beat, and still land a clean call to action. That extra room is useful, but it also means there's more ways to waste it — a rambling intro, a demo that runs too long, or a call to action that gets squeezed into the last two seconds. If you're also writing shorter formats, it's worth reading how to structure a script for a 15-second ad side by side with this one, since the discipline of the short version will make your 30-second script tighter too.
The Anatomy of a 30-Second Ad Script
Before writing any lines, block out the timing. Treat the numbers below as a starting point to test, not a rule carved in stone — adjust based on how fast your product's story actually unfolds.
| Section | Approx. time | What it needs to do |
|---|---|---|
| Hook | 0–3 seconds | Stop the scroll with a claim, question, or visual surprise tied to the viewer's problem |
| Problem | 3–8 seconds | Name the frustration in the viewer's own words so they feel understood |
| Benefit / demo | 8–20 seconds | Show the product solving the problem — in use, not just described |
| Proof | 20–25 seconds | A reason to believe: a result, a guarantee, a specific detail that removes doubt |
| Offer + CTA | 25–30 seconds | State what to do next and make it feel easy and low-risk |
Notice the benefit and demo section takes up nearly half the script. That's intentional — it's the part that actually has to earn the sale, while the hook's only job is to buy a few more seconds of attention.
How to Write a Script for a 30-Second Ad, Step by Step
Here is a practical process you can run for any product, whether it's a physical item, a digital tool, or a service.
- Pick one viewer, not everyone. Write for the person most likely to buy today, not the broadest possible audience. A script that tries to speak to everyone usually ends up speaking clearly to no one.
- Write the hook last — but think about it first. Draft a rough version now to anchor the script, then come back after the rest is written and rewrite it sharper. By then you'll know exactly what claim the rest of the script can actually back up.
- Write the problem in plain, specific language. Avoid vague pain points like 'struggling with your routine.' Use the kind of sentence the viewer would actually say to a friend.
- Show, don't summarize, the benefit. Instead of 'it's fast and easy,' script a visual beat: the product being opened, used, or compared in a way that makes the benefit obvious without narration doing all the work.
- Add one proof beat, not five. A single specific detail — a guarantee, a before/after, a close-up of a result — carries more weight than a list of features read quickly.
- End with one offer and one action. Pick the single most compelling offer and the single clearest next step. Two calls to action in the last five seconds usually means neither lands.
- Read it aloud with a timer. Spoken pace reveals problems that silent reading hides — sentences that look short on paper can run long when actually spoken.
- Cut by removing lines, not words. If the script runs over 30 seconds, look for a whole beat to drop rather than trimming every sentence down by a few words, which usually makes the pacing feel rushed instead of tight.
If you're writing for cold audiences who have never heard of the product before, the problem and hook beats carry even more weight — it's worth reading how to write a video ad script for cold traffic before finalizing the opening ten seconds.
A Full 30-Second Script Example
Here's a worked example for a generic product — a weighted neck pillow — broken into the same five beats, with rough timing noted.
- Hook (0–3s): "If you wake up with a stiff neck every single morning, watch this."
- Problem (3–8s): "Regular pillows either sink flat by 2am or push your neck out of line. You end up rotating pillows all night instead of sleeping."
- Benefit / demo (8–20s): Visual of the pillow being placed, slight weight shown in hand, then a side shot of someone sleeping with neck properly supported. Voiceover: "This one's weighted and contoured to hold your neck in one position all night, so you're not fighting your pillow at 3am."
- Proof (20–25s): "Backed by a 60-night trial — if your mornings don't feel different, send it back."
- Offer + CTA (25–30s): "Right now it ships with a free cooling cover. Tap below to grab yours before the bundle sells out."
Notice the problem beat uses a specific, almost petty detail — rotating pillows at night — instead of a generic claim like 'poor sleep quality.' That specificity is what makes a viewer think 'that's literally me' instead of scrolling past.
Common Mistakes That Waste Your 30 Seconds
These show up constantly in first-draft scripts, and all of them are easy to fix once you know to look for them.
- Front-loading brand name instead of the hook — viewers don't care who you are until they care what problem you solve.
- Writing the demo as narration only, with no visual plan — a script with no shot direction forces the editor to guess, and guessing rarely matches the pacing you wrote for.
- Burying the offer in the middle instead of the end, so the viewer forgets it by the time the call to action appears.
- Using one hook for every audience — a script aimed at skeptics and a script aimed at impulse buyers should open differently, even if the middle stays the same. For a deeper look at this, see how to write multiple hooks for one ad script.
- Writing only for sound-on — scripting dialogue that makes no sense without audio means the ad fails the moment someone scrolls past with the volume off. It's worth checking how to write a script for a sound off video ad so the on-screen text and visuals carry the message on their own.
Tools and Templates to Speed This Up
Once the five-beat structure feels natural, the slow part of writing a 30-second ad script usually isn't the words — it's the back-and-forth of turning that script into a finished video: finding footage, timing a voiceover, syncing captions, cutting versions for different platforms. This is where a tool like FrameNotion fits in. You paste in a product or website link, and FrameNotion AI reads the page and writes a custom 30-second script from scratch — hook, problem, benefit, proof, offer, call to action — then turns it into a finished vertical video with an AI voiceover, music, sound effects and word-by-word captions, built to work on mute too.
You can still steer the result: upload a logo, up to six product images, and notes like a promo code or specific offer, and the on-screen copy can be written in any of 18 languages. Once the ad is rendered, text and colors can be edited through a change request without starting a new ad, and A/B hook variants are available on the Pro and Agency plans if you want to test different openings against the same body script. A finished ad typically takes about 10 to 20 minutes, and the first one is free with no card required. You can see the format in action on the examples page or read through how FrameNotion works on the features page before trying it.
If you want to compare a full worked breakdown of 30-second ad timing against a different framing, the guide on how to script a 30-second video ad walks through a slightly different lens on the same structure — useful if you want a second set of examples before writing your own.
Putting It Together
A good 30-second ad script isn't longer than a 15-second one just for the sake of it — the extra time should go entirely toward making the problem more specific, the demo more visual, and the proof more concrete. Write the five beats, time them out loud, and cut whole sentences rather than shaving words when you run over. Do that consistently and the script will do most of the selling before the call to action even shows up on screen.
If you want to skip the blank page entirely and go from product link to a finished vertical ad script and video in one pass, check FrameNotion's pricing page to see which plan fits how many ads you need to test each month.
Frequently asked questions
How many words fit in a 30-second ad script?+
As a starting point to test, a spoken voiceover usually fits somewhere around 65 to 85 words for 30 seconds, depending on pacing and pauses for visuals. Read the script aloud with a timer rather than relying on a fixed word count, since pacing varies a lot between a punchy hook and a slower proof beat.
Should I write the script for sound-on or sound-off first?+
Write for sound-off first. Make sure the hook, problem, and offer are all understandable from on-screen text and visuals alone, then layer in voiceover, music and sound effects. That way the ad still works for viewers who watch with the volume down, which is common enough to design for by default.
Do I need a different script for TikTok, Reels and YouTube Shorts?+
The core five-beat script usually transfers across platforms, since the viewing behavior is similar. What often needs adjusting is pacing and tone — a slightly rougher, faster hook can work well on TikTok, while Reels and Shorts audiences can tolerate a slightly more polished opening. Test both if you have the time.
How do I know if my 30-second script is too long?+
Read it aloud at a natural, unhurried pace and time it. If it consistently runs over 32 to 35 seconds, look for an entire beat to cut — usually the demo section running long or an extra sentence in the proof beat — rather than trimming a few words from each line.
Can one script work for both cold and warm audiences?+
The middle of the script — demo and proof — can often stay the same, but the hook and problem beats usually need to change. Cold audiences need the problem spelled out clearly since they haven't heard of the product, while warm audiences can skip straight to a sharper, more specific hook.
