FrameNotion

How to Script a 30-Second Video Ad: A Step-by-Step Guide

A step-by-step framework for scripting a 30-second video ad, with a second-by-second beat breakdown and a full copy-paste script example.

FrameNotion Team9 min read

If you want to know how to script a 30-second video ad, the short answer is: break the 30 seconds into timed beats (hook, problem, benefit, proof, offer, call to action), write to a word count that matches your voiceover pace, and test the script on mute before you ever film or render it. The rest of this guide shows you exactly how to do that, beat by beat, with a copy-paste template.

Why a 30-Second Script Is Different From a 15- or 60-Second One

Thirty seconds is long enough to tell a small story, but short enough that every line has to earn its place. A 15-second script barely has room for a hook and a benefit. A 60-second script can afford a slower build. Thirty seconds sits in the middle: you get space for a real problem-solution arc, one proof point, and a clear offer, but no room for a second hook attempt or a rambling intro.

As a starting point to test, plan for about 2.3 to 2.6 spoken words per second of voiceover, which lands most 30-second scripts around 70 to 80 words. That is a rule of thumb, not a hard rule - read your draft aloud with a timer before you lock it, because pacing, pauses for visual beats, and accents all change the real number.

The 30-Second Script Framework: A Second-by-Second Breakdown

Use this as your skeleton, then fill in the lines for your own product. The example below is for an invented product, a travel pillow brand, so you can see how each beat sounds in practice.

TimeBeatGoalExample line
0:00-0:03HookStop the scroll with a specific claim or problem, not a brand intro"Your travel pillow is making your neck pain worse."
0:03-0:08ProblemMake the pain concrete and relatable in one or two lines"Standard pillows push your head forward, so you land stiffer than when you left."
0:08-0:16Solution / benefitIntroduce the product and lead with the single biggest benefit"This one locks your neck in a neutral position, so you actually arrive rested."
0:16-0:23ProofGive one specific, checkable detail - a material, a test, a use case"Memory foam that keeps its shape after months of use, built for long-haul flights."
0:23-0:27OfferGive a reason to act now, not eventually"Right now it ships with a free eye mask."
0:27-0:30Call to actionTell them exactly what to do, in plain words"Tap shop now before the bundle sells out."

Notice that the hook never mentions the brand name. Brand names rarely stop a scroll; specific problems and bold claims do. If you want a deeper framework just for the opening three seconds, see how to write a hook for a product video ad.

How to Script a 30-Second Video Ad, Step by Step

Here is the actual writing process, in order. Skipping steps is what leads to scripts that sound fine on paper but fall apart once they're read aloud against a 30-second clock.

  1. Pick one angle, not three. A 30-second script only has room for one problem and one benefit to land clearly. If you're torn between angles, write two separate scripts instead of cramming both into one.
  2. Write three hook options before you write anything else. Draft the opening line as a bold claim, a question, and a "before" statement, then pick the strongest one once you read all three aloud.
  3. Write the beats in order, one sentence per beat. Hook, problem, benefit, proof, offer, CTA. If a sentence is doing two jobs at once, split it or cut it.
  4. Add a visual direction next to every line. A script that only has words is half a script. Note what's on screen for each line - product in hand, a close-up, a before/after, an on-screen stat card - so whoever shoots or generates the ad knows the pairing.
  5. Read it aloud with a stopwatch. If you're over 30 seconds, cut from the problem and proof beats first - they usually have the most padding. Protect the hook and the CTA; those two rarely shrink well.
  6. Write for sound off. Every key line needs to work as an on-screen caption on its own, because a meaningful share of viewers will never turn the sound on. For a full approach to this, read how to write a script for a sound off video ad.
  7. Finish with one clear CTA, not three. Pick a single action - shop now, get 20% off, download the app - and repeat the same wording in the voiceover and the end-card caption.

Sample 30-Second Script You Can Copy

Here is a full script for an invented product, a phone stand with a built-in wireless charger, following the framework above. Swap in your own product details.

TimeVoiceover lineOn-screen visual
0:00-0:03"Stop buying a new phone cable every month."Close-up of a tangled charging cable, quick cut
0:03-0:08"Loose cables fray, chargers fall off your desk, and your phone slides around while you're on a call."Phone slipping off a flat charger on a desk
0:08-0:16"This stand holds your phone at the perfect angle and charges it wirelessly, no cable at all."Product shot: phone placed on stand, charging light turns on
0:16-0:23"It's built with fast-charge coils and a non-slip base, so it stays put even on a standing desk."Side angle showing the base, then a desk shake test
0:23-0:27"This week it comes with a free travel case."Product plus travel case shown together
0:27-0:30"Tap shop now and charge it right."End card: product, price, CTA button

This script runs about 75 words of voiceover, which fits comfortably inside 30 seconds once you account for the pauses between beats. Notice the offer and CTA both appear in the final seven seconds - that's intentional. An offer with no CTA next to it tends to get forgotten by the time the video ends.

Common Mistakes That Break a 30-Second Script

Most weak 30-second scripts fail for one of these reasons, usually more than one at once.

  • Writing the hook last. The opening line is the hardest part and the most important - write it first, or at least draft several versions before anything else.
  • Opening with the brand name or a generic greeting instead of a problem or claim. The first three seconds have one job: earn the next three seconds.
  • Cramming too many benefits into one script. Pick the single strongest benefit and let proof support it, rather than listing four features nobody will remember.
  • No visual notes next to the words. A script that's just a paragraph of voiceover leaves too much guesswork for whoever produces the video.
  • Ignoring sound-off viewers. If the captions alone don't tell the story, the script isn't finished yet.
  • Burying the CTA at the very last second with no earlier mention of the offer, so there's no time for it to register.

Matching the Script to the Platform and Length

A 30-second script for a TikTok feed should read more like a fast, casual voice than a polished ad. The same script running as a Meta ad or YouTube Shorts ad can afford a slightly more produced tone, since viewer expectations differ by platform. If you're deciding between a shorter cut and a full 30 seconds, it helps to compare structures - see how to structure a fifteen-second video ad and how long should a TikTok ad script be for guidance on when 30 seconds is the right length versus when shorter performs better for your goal.

If you're producing scripts regularly for multiple products, it's worth building a repeatable brief so each new script starts from the same checklist instead of a blank page - see how to build a video ad brief template.

Turning the Script Into a Finished Ad Faster

Writing the script is half the work; turning it into a finished 9:16 video with voiceover, music, and captions is the other half, and it's usually where a good script gets stuck in a queue waiting for editing time. This is the gap FrameNotion is built to close. Paste a product page or website link into FrameNotion, and FrameNotion AI reads the page, writes a custom 30-second script following a hook-problem-benefit-proof-offer-CTA structure, and renders it as a finished 1080x1920 MP4 with an AI voiceover, a beat-matched music track, and word-by-word captions - built to work with sound on or off. A finished ad takes about 10 to 20 minutes, and the first one is free with no card required.

You can also upload a logo, up to six product images, and notes like a promo code before it generates the ad, and once it's done you can request text and color changes without starting over. See examples of finished ads, check how it works, or compare plans and pricing if you're scripting and producing ads at volume. FrameNotion doesn't publish ads to ad platforms or report on performance - it's focused on getting from a link to a finished, on-brand 30-second video fast.

A Quick Pre-Render Checklist

  • Does the hook avoid the brand name and lead with a problem, claim, or question?
  • Is there exactly one problem and one core benefit in the script, not three?
  • Does the script land between roughly 70 and 80 words, and does it fit 30 seconds read aloud?
  • Can someone understand the full story from captions alone, with the sound off?
  • Does the offer appear before the CTA, with enough time for both to register?
  • Is there a visual note next to every line, not just a block of voiceover text?

FAQ

Frequently asked questions

Should a 30-second script sound like a conversation or a sales pitch?+

Lean conversational. A script that reads like a friend explaining a problem tends to hold attention better than one that sounds like a formal pitch, especially on platforms like TikTok and Reels. Keep the sales language concentrated in the offer and CTA lines, and keep the hook and problem beats plain and direct.

Can one 30-second script work across TikTok, Reels, and YouTube Shorts?+

The core beats - hook, problem, benefit, proof, offer, CTA - transfer across platforms with minor tone adjustments. What usually needs to change is the delivery style and pacing, not the structure. Test the same script's performance separately on each platform rather than assuming one version fits all.

Do I need a separate script for sound-on and sound-off viewers?+

You don't need two full scripts, but every key line in your one script should work as a standalone caption. Write the voiceover first, then check each line in isolation as on-screen text - if it doesn't make sense without audio, revise it before moving on.

How many hook versions should I test for the same 30-second script?+

Two or three hook variants against the same body script is a reasonable starting point. Change only the first three seconds between versions so you can isolate whether the hook, rather than the rest of the script, is driving the difference in results.

What's the biggest difference between scripting a 30-second ad and a 60-second ad?+

A 60-second script can afford a slower setup and a second proof point. A 30-second script has to commit to one problem and one benefit immediately, because there isn't enough runtime to recover from a slow start or a second idea competing for attention.

Try it on your product.

Paste a link — FrameNotion writes a custom 30-second ad.