10 UGC Ad Script Templates for Apps (Hook → Problem → Demo → CTA)
Sergei Kurapov
Founder, AppVids
Updated July 2026.
A UGC ad script template is a fill-in-the-blank structure for a 15–30 second creator-style video ad: you replace the bracketed lines with your app's specifics and get a shootable script in minutes. Below are 10 original templates — each with when to use it, a filled example for a specific app category, and second-by-second timing notes — all running on the same spine: hook → problem → demo → CTA.
What makes a good UGC ad script?
A good UGC script sounds like a person talking, not copy being read. It makes one promise, shows the app doing one thing, and asks for one action — with the payoff up front. In TikTok's creative tips research, over 63% of the videos with the highest click-through rate highlight their key message or product within the first 3 seconds, and 33% of the highest view-through-rate auction ads "break the fourth wall" by speaking straight into the camera. Every template below does both.
All 10 templates sit on the standard UGC ad anatomy from our full UGC ads playbook. The timing map for the two most common cut lengths:
| Beat | 15s cut | 30s cut | The beat's only job |
|---|---|---|---|
| Hook | 0–2s | 0–3s | Stop the scroll; name the viewer or the problem |
| Problem | 2–5s | 3–8s | Make the pain specific enough to feel personal |
| Demo / solution | 5–11s | 8–20s | Show the app doing exactly one thing on screen |
| Proof | folded into demo | 20–25s | One specific, believable result |
| CTA | 11–15s | 25–30s | One action, stated plainly |
The hook decides a disproportionate share of the outcome — we break hook formulas down separately in our guide to TikTok hooks for app-install ads.
How do you use these templates?
Pick two or three templates that match your funnel stage, fill the blanks with concrete specifics, and write 3–5 hook variations per script before you produce anything. Four rules apply everywhere: specifics beat adjectives ("I found $180 of forgotten subscriptions" outperforms "it saved me money"); write for the ear and read every script aloud once; respect the rule-of-thumb budget of 2.5 spoken words per second; and change one variable per test — one script with five hooks tells you something, five scripts with five hooks tells you nothing.
One disclaimer: the filled examples below are fictional scripts for imaginary apps. They show the level of specificity to aim for — any number in your real ad must be true for your product.
What are the 10 UGC script templates?
The 10 frameworks cover the full funnel, from cold-audience pattern breaks to retargeting formats:
| # | Template | Best for |
|---|---|---|
| 1 | Classic Direct Response | Any stage; the default |
| 2 | POV | Cold audiences, low production |
| 3 | 3-Reasons-Why | Retargeting, feature-rich apps |
| 4 | Skeptic-Convert | Skeptical or burned categories |
| 5 | Day-in-the-Life | Habit and routine apps |
| 6 | Comparison | Apps replacing an old workflow |
| 7 | Tutorial / How-I | Search-adjacent, clear workflows |
| 8 | Reaction-to-Stat | Problem-aware cold audiences |
| 9 | Storytime | Watch time, emotional categories |
| 10 | Founder's Cut | Indie apps, authenticity plays |
1. Classic Direct Response (Hook → Problem → Solution → Proof → CTA)
Use it when: you need a default — the complete five-beat anatomy in its purest form, effective at every funnel stage.
Template:
- Hook (0–3s): "[Blunt statement of the painful result the viewer is living with.]"
- Problem (3–8s): "I used to [specific behavior], and [consequence]."
- Solution/demo (8–18s): "Then I got [app]. It [core mechanism] — watch." (screen recording)
- Proof (18–24s): "In [timeframe], I [specific, modest, measurable outcome]."
- CTA (24–30s): "If you [audience identifier], try [app] — [free tier / trial]."
Filled example — budgeting app (~28s):
"I had no idea where $400 of my paycheck went every month. I tracked nothing — opening my bank app gave me anxiety, so I just didn't. Then I got [App]. It pulls in every transaction automatically and sorts it for you — this is my actual dashboard. Two months in, I found three subscriptions I'd forgotten about and put $180 back in my pocket. If your money just evaporates every month, try it — the basic version is free."
Timing note: the proof beat at 18–24s is what separates this from an ad read. Keep the number specific and small enough to be believable.
2. POV
Use it when: you want cheap, native-feeling cold-audience ads — the premise lives in an on-screen text overlay, so the footage stays simple and the payoff visual.
Template:
- On-screen text (0–3s): "POV: [relatable situation where your app is about to pay off]"
- Setup (3–10s): show the situation; one spoken line of reaction.
- App moment (10–20s): "[what you open the app to do]" (screen recording)
- CTA (20–25s): "[casual one-liner + app name]"
Filled example — language learning app (~24s):
On-screen: "POV: your in-laws speak Spanish and you have 3 months to stop nodding along." — "So I've been doing ten minutes a night on [App]. It makes you speak out loud, which I hated — and that's exactly the part that works. Three weeks in, I survived an entire dinner. Download it before your next family thing."
Timing note: the POV overlay must be fully readable within the first second — it is the hook. Keep it under 12 words.
3. 3-Reasons-Why
Use it when: the viewer already knows your app exists — retargeting, or crowded categories. The list structure holds attention because viewers wait for the next item.
Template:
- Hook (0–3s): "Three reasons I [changed behavior] with [app] — number three surprised me."
- Reason 1 (3–10s): "[headline benefit + one-line demo]"
- Reason 2 (10–17s): "[second benefit]"
- Reason 3 (17–24s): "[strongest, most unexpected benefit]"
- CTA (24–30s): "[one action]"
Filled example — meal planning app (~28s):
"Three reasons I stopped ordering takeout on weeknights — number three is the real one. One: [App] plans my whole week of dinners in about thirty seconds, based on what I actually like. Two: it turns the plan into a single grocery list, sorted by aisle. Three — the big one — it uses what's already in my fridge first, so I finally stopped throwing food away. Free to start; link's in my bio."
Timing note: tease the strongest reason in the hook and save it for last. That promise buys you the middle 20 seconds.
4. Skeptic-Convert
Use it when: your category has trust problems. Opening with the viewer's own objection disarms "this won't work for me" before it forms.
Template:
- Hook (0–3s): "I fully expected [app category] to be [scam / placebo / waste of money]."
- Skepticism (3–9s): "[why you didn't believe — name the past failures]"
- Turn (9–15s): "[what made you try it + the first surprise]"
- Demo/proof (15–24s): "[the mechanism that's actually different]"
- CTA (24–30s): "[hedged, honest CTA]"
Filled example — sleep app (~29s):
"I thought sleep apps were placebo with a subscription fee. I'd tried two before — rain sounds, and a graph telling me I slept badly. Thanks. But a friend wouldn't shut up about [App], so I gave it a week. The difference is it changes something: a wind-down routine that starts 45 minutes before bed and cuts my scrolling off automatically. I'm not saying it's magic. I'm saying I stopped seeing 1 a.m. on Tuesdays. Free trial's there if you're as skeptical as I was."
Timing note: don't resolve the skepticism before 9–10 seconds — the unresolved tension is what holds the viewer through the middle.
5. Day-in-the-Life
Use it when: your app is used repeatedly through the day — fitness, habits, productivity. The format shows the real product promise: integration into a routine.
Template:
- Hook (0–3s): "Come with me — [identity] who [uses app for outcome]."
- Scene 1 (3–10s): "[morning moment + what the app did]"
- Scene 2 (10–18s): "[midday moment + app on screen]"
- Scene 3 (18–25s): "[evening moment + small payoff]"
- CTA (25–30s): "[audience callout + app name]"
Filled example — fitness app (~29s):
"Day in my life training for absolutely nothing — I just want to feel good. 6:45: [App] already built today's workout from how sore I said I was yesterday. Lunch: twenty-minute session, it counts my reps through the camera so I'm not babysitting a timer. 9 p.m.: it says tomorrow's a rest day, and honestly? Obeyed. If you keep quitting fitness plans, get one that adapts instead of guilt-tripping you. Link below."
Timing note: three scenes maximum in 30 seconds, and the app must visibly do something in each — a day-in-the-life without app moments is a vlog, not an ad.
6. Comparison
Use it when: your users currently solve the problem with a default tool or manual workflow. Compare against "my old way" rather than naming a competitor — it's fairer and safer, and viewers recognize their own routine in it.
Template:
- Hook (0–3s): "I did [task] the old way and with [app] — watch."
- Side A (3–10s): "[old workflow, friction counted out loud]"
- Side B (10–18s): "[same task in the app, timed]"
- Verdict (18–24s): "[side-by-side result]"
- CTA (24–30s): "[invite the viewer to judge]"
Filled example — photo editing app (~27s):
"Same photo, edited twice — my usual way versus [App]. My way: eleven minutes of masking the sky, fixing skin tones, then exporting at the wrong size anyway. [App]: I tapped enhance, dragged one slider, done in forty seconds. Here they are side by side — I genuinely can't tell which one took eleven minutes. It's free to download. Judge for yourself."
Timing note: the side-by-side reveal is the payoff. Hold it until 18–20s or you kill the reason to keep watching.
7. Tutorial / How-I
Use it when: your app has a clear, repeatable workflow and your audience searches for the outcome. "How I" beats "how to" in UGC — a person sharing, not a brand lecturing.
Template:
- Hook (0–3s): "How I actually [outcome] — full setup in [n] seconds."
- Step 1 (3–10s): "[first action in the app, on screen]"
- Step 2 (10–16s): "[second action]"
- Step 3 (16–22s): "[third action + the why]"
- Result + CTA (22–30s): "[current status + app name + one instruction]"
Filled example — habit tracker (~29s):
"How I finally made a habit stick after five failed January attempts — full setup, twenty seconds. Step one: in [App], I picked one habit. Reading ten minutes. That's it. Step two: I anchored it to my coffee, so the reminder fires when I'm actually free — not at some random 9 a.m. Step three: I set the streak to allow one skip a week, so a single bad day can't nuke my motivation. Sixty-two days and counting. Start with one habit. Seriously."
Timing note: if the hook promises "twenty seconds," the steps must fit in twenty seconds — viewers notice.
8. Reaction-to-Stat
Use it when: your audience is problem-aware but not solution-aware. A striking statistic does the hooking for you; your reaction makes it personal.
Template:
- Hook (0–3s): "This stat genuinely upset me: [real stat + named source]." (show the source on screen)
- Reaction (3–8s): "[do the math on yourself]"
- Pivot (8–18s): "So I set up [app] — it [mechanism]."
- Proof (18–25s): "[your own before/after number]"
- CTA (25–30s): "[tell the viewer to check their own number]"
Filled example — screen time app (~28s):
"This number ruined my morning: [insert a real daily-screen-time figure from a named study — show the article on screen]. I did the math on mine, and it's basically a part-time job of scrolling. So I set up [App]: it locks my problem apps on a schedule and makes me do a ten-second breathing exercise to unlock them — and 90% of the time I don't bother. My screen time is down four hours this week. Download it and check your own number first. That's the scary part."
Timing note: the stat is deliberately left blank: use a real figure from a named study and show the source on screen. Invented statistics get ads rejected, and comment sections show no mercy.
9. Storytime
Use it when: you can afford 30+ seconds and your app fits an emotional arc — Storytime is the strongest watch-time format here, if the story is good.
Template:
- Hook (0–3s): "Storytime: [one-line summary that promises the whole arc]."
- Setup (3–10s): "[the stakes and the starting point]"
- Struggle (10–18s): "[the failure that makes it real]"
- App enters (18–25s): "[how the app changed the approach]"
- Resolution + CTA (25–35s): "[payoff + one action]"
Filled example — running app (~33s):
"Storytime: I signed up for a half marathon out of spite. My brother said I wouldn't last a 5K. I hadn't run since high school, and week one proved him right — I quit three runs in. Then I stopped improvising and let [App] build the plan. It started me on run-walk intervals that felt almost too easy, and adjusted every week based on how my last runs actually went. Thirteen weeks later I crossed the line at 2:19 — and yes, I sent him the photo. If you've got a race and no plan: [App]. Spite optional."
Timing note: the app should not appear before roughly 15s — the narrative earns the pitch, and leading with the product collapses this into template #1.
10. Founder's Cut
Use it when: you're an indie developer or small team and authenticity is your edge. "I built this" also never risks a fake-testimonial problem — you're not posing as a customer.
Template:
- Hook (0–3s): "I built [app] because [personal frustration]."
- Why (3–10s): "[the insight everyone else's app gets wrong]"
- Demo (10–20s): "[your app's answer, shown on your own screen]"
- Honest limitation (20–25s): "Fair warning — [who this is not for]."
- CTA (25–30s): "[price/model stated plainly + one action]"
Filled example — to-do app (~29s):
"I built [App] because every to-do list I tried assumed I'd finish the list. Nobody finishes the list. So mine works differently: every morning it asks you to pick three things — everything else stays hidden until tomorrow. Here's my actual today: three things, two done. Fair warning — if you want subtasks of subtasks of subtasks, this isn't your app. If you want to stop feeling behind, it's a one-time [price], no subscription. Link below."
Timing note: the honest limitation at 20–25s is the trust move — cut it and you've recorded a pitch, not a founder's cut.
FAQ: UGC ad script templates
How long should a UGC ad script be?
Fifteen to thirty seconds for app-install ads — at a conversational ~2.5 words per second, that's about 40 words for a 15-second cut and 60–80 for 30 seconds. Write the 30-second version first, then cut to 15 by deleting the proof beat and compressing the problem into the hook. A script that needs more than 35 seconds usually contains two ads.
Can I use these templates with AI avatars?
Yes — all 10 work as AI UGC scripts. Write word-for-word for avatars (the script is the whole performance); send human creators a beat sheet so they phrase it in their own voice. One legal caveat: an AI avatar must never deliver fake customer-testimonial claims as though it were a real user; the FTC's testimonial rule explicitly covers AI-generated fakes. Our guide to AI UGC ads explains the format, and our AI ad disclosure rules breakdown covers the platform-by-platform labeling requirements.
How many script variations should I test?
A reasonable heuristic — not a benchmark — is 2–3 templates per concept and 3–5 hooks per template, so roughly 6–15 videos per testing cycle. Most creatives lose; the economics of producing enough variations to find winners is the math we walk through in AI UGC vs. real UGC creators.
Do these scripts work on Instagram Reels and YouTube Shorts too?
Yes — the beats and word budgets carry over to any vertical creator-style feed. Two adjustments: front-load even harder on Reels and Shorts, where swipe decisions feel faster, and always burn in captions for sound-off viewing.
Liftable summary: UGC app ad scripts follow one spine — hook (0–3s) → problem → app demo → proof → CTA — and TikTok's research says over 63% of the highest-CTR videos deliver the key message inside the first 3 seconds. The 10 frameworks: Classic Direct Response, POV, 3-Reasons-Why, Skeptic-Convert, Day-in-the-Life, Comparison, Tutorial/How-I, Reaction-to-Stat, Storytime, Founder's Cut. Keep scripts to 60–80 words per 30 seconds, test 3–5 hooks per script, and only script claims your app can back up.
Where to go next: hooks are the highest-leverage line in every template, so pair this post with our breakdown of TikTok hooks for app-install ads, and see the complete UGC ads playbook for how scripts fit into briefing, testing, and scaling. If you'd rather hand scripts off and get back ready-to-run videos, that's what we do at AppVids — AI UGC video ads for mobile apps, delivered within 48 hours, from EUR 249 for a 10-video pack. (Disclosure: AppVids is our product.)
Sergei Kurapov
Founder, AppVids
Sergei runs AppVids, a studio that produces AI-generated UGC-style video ads for mobile app teams. Based in Madrid, he works hands-on with app founders on creative testing and paid acquisition.
Want UGC ads like this for your app?
One-time video packs with AI scripting, native avatars, and proven hooks — delivered in 48 hours.
See pricing