UGC · Scripts · TikTok

How to Script a 30-Second UGC Ad That Doesn't Feel Like an Ad

· 7 min read

Most UGC ad scripts read like ads. The viewer detects it within 2 seconds and scrolls. The scripts that convert read like a friend telling you about a thing they bought. They follow a 5-beat structure with specific timing, and they obey a few hard rules about what to leave out.

Here is the structure, beat-by-beat, with timestamps. Use it as a template, then make it yours.

The 5-beat structure

BeatTimingGoal
1. Hook0-2sPattern-interrupt + pre-qualify the viewer
2. Problem2-7sName the pain in the viewer's words
3. Demo7-22sShow the product working — proof, not claim
4. Payoff22-27sState the outcome the viewer cares about
5. Soft CTA27-30sTell them what to do next without pressure

Beat 1: The hook (0-2s)

The hook is what the creator says in the first 1-2 seconds. It decides whether the rest of the ad gets watched. Around 80% of viewers drop off in the first 3 seconds, and the hook is the only variable in your control during that window.

Bad:"Hi, I'm Sarah, and today I want to talk about this amazing product I found."

Good:"If your magnesium pill doesn't actually do anything, stop taking it."

The bad version names the creator and the action (talking about a product). Both signal "ad." The good version uses a direct callout + contrarian formula: it pre-qualifies who should watch (people taking magnesium) and promises a counterclaim (your current pill is useless). The viewer commits to seeing whether the claim holds.

Use our free UGC hook generator if you need 10 variations to test.

Beat 2: The problem (2-7s)

Five seconds to name the viewer's pain in their language. Specificity wins. Vague problems get scrolled. Concrete problems get a nod.

Bad:"A lot of people don't feel their best."

Good:"I was doing two scoops of pre-workout, lying awake until 2am, and waking up exhausted. Every. Single. Day."

Three rules for this beat:

  1. Show, do not summarise."Lying awake until 2am" beats "sleep issues."
  2. Use specific quantities."Two scoops" beats "a lot." Numbers signal the speaker has lived this.
  3. Name the consequence, not just the symptom."Waking up exhausted" is what the viewer actually fears, not the chemistry.

Beat 3: The demo (7-22s)

Fifteen seconds. The longest beat. Show the product doing the thing. Not telling. Showing.

For physical products, this is the unboxing, the application, the before-after, the visible proof. For digital products, the screen recording, the dashboard, the result.

What to cut:

  • Brand history ("founded in 2019 by two friends") — kills momentum
  • Ingredient lists / spec sheets — viewers do not care
  • Comparison to other brands by name — invites lawsuits + dilutes attention
  • Awards / press mentions — read as bragging

What to keep:

  • The visible action of the product working (scoop into water, application on skin, click in app)
  • One concrete outcome the viewer can imagine themselves having
  • A single objection answered, briefly ("and no, it doesn't taste like dirt")

Beat 4: The payoff (22-27s)

Five seconds to state the outcome. Specific, measurable, present-tense. The viewer should be able to picture having it.

Bad:"I feel so much better now."

Good:"I sleep eight hours straight now. I have not crashed at 3pm in three weeks."

The payoff is where AI UGC scripts most often go wrong. The model defaults to generic feel-good ad copy ("changed my life," "could not believe the results") which signals AI-generated to anyone scrolling. Replace every generic outcome with a specific, measurable one. If the script does not have one, the brief is too thin — go back and ask the customer (or the data) what specifically improved.

Beat 5: The soft CTA (27-30s)

Three seconds. No urgency, no caps lock, no deadline. The CTA is permission, not pressure.

Bad:"BUY NOW BEFORE IT'S GONE — LINK IN BIO!"

Good:"Tap the link if you want to try it." Or: "It's in my bio." Or just: "Yeah."

Both TikTok and Meta's 2025-2026 algorithm updates actively suppress aggressive CTAs. Soft CTAs convert better because the viewer feels like they made the decision. Aggressive CTAs trigger the "this is being sold to me" reflex which kills click-through.

What about 60-second ads?

Same structure, longer demo beat. Stretch the demo from 15s to 35-40s. Do NOT add a second hook, second problem, or extra CTAs. The structure is fixed; only the demo scales.

For 15-second ads, compress the demo to 8s and combine the payoff and CTA into 3-4s total. Keep all five beats — viewers can feel when one is missing even if they cannot articulate it.

The 8 rules I live by

  1. Never start with the product name.Start with the viewer's problem or your hook formula.
  2. Never say "guys." It signals influencer ad-mode and adds 0% to retention.
  3. Never use the word "literally" as filler. If something is literally true, just say it. If not, cut.
  4. Never read a feature list. Pick one feature that maps to one outcome and show that working.
  5. Never sound corporate. Read your script aloud. If you would not say it on the phone to a friend, rewrite.
  6. Never end with a question."What do you think?" or "Have you tried it?" deflates the energy at the close.
  7. Never include a price unless it is a wedge."$15 a month" works only if the comparison is "$80 a month" somewhere else. Otherwise the price is a turnoff before the value is established.
  8. Never explain the disclosure."This is sponsored, but I actually love it" is fine on TikTok organic. In an ad, drop the second clause. Trust the rest of the script.

Quick template you can paste into the brief

Hook (0-2s): [hook formula filled in]
Problem (2-7s): [specific pain, with a number or scene]
Demo (7-22s): [the product doing the thing, one shot]
Payoff (22-27s): [specific, measurable outcome]
Soft CTA (27-30s): [permission, not pressure]

For AI UGC, run this as 5 separate prompt fields rather than one paragraph script. The model produces noticeably better output when each beat has its own slot than when it has to invent the structure from a free-form brief.


Need 10 hook options to seed the first beat? UGC Hook Generator is free, no signup. Want to turn the script into a finished ad? Try UGC Vids AI free — first ad on us.

Stop reading. Start shipping.

Generate your first UGC ad in 2 minutes. No credit card. No editor required.

Try the free generator