UGC Scripts: 10 Templates You Can Steal (With Timings)
The paradox of UGC scripts: the content has to sound unscripted, but unscripted content mostly rambles. The resolution is that you script the structure and improvise the words. Give a creator (or yourself) a beat sheet with timings and the point of each beat — then let the actual sentences come out slightly wrong, because slightly wrong is what real speech sounds like.
Below are ten templates with timings. Use them as beat sheets, not as lines to read. For the strategy around them, see the UGC ads playbook.
The rules that make scripts sound real
- Write at a 5th-grade reading level. Complex sentence structure is the loudest tell that something was written.
- Keep the stumbles. One restart, one 'um,' one moment of finding the word. Fluency reads as performance.
- Include a hedge. A caveat, a limitation, an initial doubt. Unqualified enthusiasm reads as paid; qualified enthusiasm reads as true.
- Be specific with numbers. '$400 in unbilled hours' beats 'saves you money.' Odd numbers beat round ones.
- Never say the brand name more than twice. Repetition is an advertising tic and people hear it as one.
- End soft. 'At least try the free tier' outperforms 'sign up now' in short form, consistently.
Template 1: The 15-second app ad
- 0–3s — reaction hook. Real reaction clip. Caption: 'Wait, it does this automatically?'
- 3–8s — the wow moment. Hard cut to screen recording of your single most surprising feature, working. Voiceover: 'I just paste the link and it does the rest.'
- 8–13s — one supporting capability. 'And it syncs to everything I already use.'
- 13–15s — soft CTA. App name on screen. 'It's free to try.'
Template 2: The 30-second testimonial
- 0–3s — the before state, specific. 'I was spending every Sunday on invoices.'
- 3–10s — discovery and doubt. 'Someone recommended this. I assumed it was another subscription trap.'
- 10–22s — the turn, with a number. 'First month it caught $400 in hours I hadn't billed.'
- 22–27s — the hedge. 'The setup took me maybe twenty minutes, which was annoying.'
- 27–30s — soft recommendation. 'If you invoice anyone, just try the free tier.'
Template 3: The problem-agitate-solve skit
- 0–3s — the frustration, performed. Staring at a spreadsheet at 11pm. No dialogue needed.
- 3–6s — escalation caption. 'every. single. month.'
- 6–12s — the pivot. A text from a friend, a discovery moment. 'wait what is this'
- 12–18s — relief plus demo insert. The same task, done in seconds.
- 18–20s — one line close. 'I'm never going back.'
Template 4: The skeptic's conversion
- 0–3s — hostile open. Arms crossed. 'I genuinely wanted this to fail.'
- 3–8s — why. 'Everyone kept recommending it, which made me want to try it less.'
- 8–18s — the test. 'So I gave it one week and tried to break it.'
- 18–25s — the concession. 'It didn't break. It did the thing.'
- 25–28s — grudging close. 'Fine. It's good. I'm annoyed about it.'
Template 5: The direct comparison
- 0–3s — the setup. 'I paid for both so you don't have to.'
- 3–12s — option A. What it does well, honestly. Credibility comes from being fair here.
- 12–22s — option B. The difference that matters, shown not claimed.
- 22–28s — the verdict with a condition. 'If you need X, get the other one. For everything else, this.'
Template 6: The unboxing / first-run
- 0–3s — mid-action open. Already opening. No 'hey guys, look what came.'
- 3–10s — the reveal with a genuine reaction. Whatever you actually said, keep it.
- 10–20s — first use, in real time. Fumbling is good. Fumbling is proof.
- 20–25s — first impression, hedged. 'The packaging is nicer than it needed to be, honestly.'
Template 7: The founder demo
- 0–3s — origin hook. 'I built this because I hated doing X.'
- 3–12s — the problem you had. Specific, personal, dated. 'For two years I was doing this manually every Friday.'
- 12–22s — what you built, shown. Screen recording while you talk.
- 22–28s — the honest ask. 'It's early. Tell me what's broken.'
Template 8: The comment reply
- 0–2s — the question on screen. A real comment, screenshotted.
- 2–5s — restate it. 'Someone asked whether it works for teams.'
- 5–18s — answer, showing rather than telling. Demo the exact thing they asked about.
- 18–22s — invite more. 'Ask me anything else, I'll make another one.'
Template 9: The 'still using it' follow-up
- 0–3s — the durability hook. 'Three months later. Do I still use it?'
- 3–10s — honest usage report. 'Daily, but not for what I expected.'
- 10–20s — the surprise. The feature that turned out to matter, demoed.
- 20–25s — the qualified verdict. 'Would I pay again? Yes. Would I pay double? No.'
Template 10: The niche-specific reframe
- 0–3s — name the audience. 'If you're a freelance designer, this one's for you.'
- 3–8s — their specific pain. Named precisely enough that they feel seen.
- 8–18s — the same demo, framed for them. Identical footage, different narration.
- 18–22s — close in their language. Speak their vocabulary, not yours.
How to brief a creator with these
- Send the beat sheet, not a script. Timings and the point of each beat. Say explicitly: 'use your own words.'
- Give them the hedge. Tell them a caveat is wanted — most creators assume you want pure praise and deliver something less believable as a result.
- Specify what must be shown, not what must be said. Visual requirements are non-negotiable; phrasing isn't.
- Ask for two takes with different energy. Cheap insurance, and the second take is usually looser and better.
- Request raw files. You'll want to re-cut and re-hook this footage later, and edits-only delivery blocks that.
Frequently asked questions
How long should a UGC script be?
Match the format: 15–20 seconds for cold-traffic app and product ads, 25–35 seconds for testimonials aimed at warmer audiences. Word count follows roughly 2–2.5 spoken words per second, so a 30-second script is about 65–75 words.
Should UGC be fully scripted?
Script the structure, improvise the words. A beat sheet with timings keeps the ad on message while letting delivery stay natural. Fully scripted, word-perfect delivery is the most common reason UGC reads as an ad.
How do I make a UGC script sound authentic?
Write at a 5th-grade reading level, keep one stumble or restart in the take, include a hedge or limitation, use specific odd numbers rather than round ones, and mention the brand name no more than twice.
What's the most important part of a UGC script?
The first three seconds. If the hook doesn't stop the scroll, the rest of the script is never heard. Write the hook last if it helps, but treat it as the part that gets the most iteration.
Can I reuse the same script for different creators?
Yes, and you should — the same beat sheet delivered by different people produces genuinely different performance, which makes the creator itself a testable variable. Just don't send identical wording, or the ads will feel like a campaign rather than like people.