How to write a UGC ad script that actually converts
Learn how to write a UGC ad script for paid ads — PAS structure, CTA placement, and compliance copy that gets approved and drives results.
A brand once sent me a brief that said: "Just be natural, talk about the product, and end with our promo code." I filmed it, delivered it, and the ad spent $4,000 before the brand killed it for a 0.4% CTR.
The script was fine. For organic, it might have even done okay. But for paid ads — where every second costs money and the algorithm decides in milliseconds whether to keep showing your video — "natural and casual" isn't a strategy. A proper UGC ad script is.
This is the thing most creators get wrong: they treat ad scripts like organic scripts with a discount code slapped at the end. They're not the same format, they don't serve the same purpose, and they don't follow the same rules.
Here's how to write one that actually holds up in-feed and converts.
What makes a UGC ad script different from an organic one
The full breakdown lives in our UGC ads: the complete performance creative guide, but the short version is this: organic content earns attention. Paid ads buy it. That changes everything about how you write.
When someone is scrolling their feed and your ad appears, they didn't ask to see it. They have no prior relationship with the brand. You have roughly 1.7 seconds to earn their attention before the thumb moves. That's not a hook — that's a detonation. And everything after that hook needs to justify why they should keep watching instead of scrolling to something they actually chose to see.
Organic UGC is also usually educational, entertaining, or relatable. Ad scripts need to be persuasive — specifically, they need to move someone from unaware to wanting-to-buy in 30 to 60 seconds.
Different job. Different structure.
For a deeper look at why the two formats diverge, UGC videos: ad-ready vs. organic content explained is worth reading before you write your next brief.
The paid-ad UGC script structure that actually works
The framework I use — and the one most performance creative teams are quietly running behind the scenes — is Problem-Agitate-Solve. I've covered the PAS methodology in depth in UGC scripting: the Problem-Agitate-Solve framework, but for paid ads specifically, it needs a few extra layers that organic scripts skip entirely.
Here's the full paid-ad structure:
1. Hook (0–3 seconds) Open on the problem, not the product. "I've wasted so much money on skincare that just... sits on the shelf." Not: "Hi, I'm Sarah and today I'm talking about this amazing moisturizer." The first approach stops the scroll. The second one gets skipped.
Your hook should either call out the exact person you're targeting ("If you're a new mom who hasn't slept in weeks...") or lead with a bold visual/statement that creates instant curiosity. Research from Meta consistently shows front-loaded value — saying the key thing in the first 3 seconds — dramatically improves watch-through rates.
2. Problem (3–8 seconds) Name the pain clearly. Be specific. Not "dealing with stress" but "lying awake at 2am replaying every conversation from the day." Specificity is what makes people think this is about me. Vague pain gets vague interest.
3. Agitate (8–18 seconds) This is where most creators rush. Don't. Spend real time in the problem before you offer the solution. Describe how it affects daily life, what they've already tried that didn't work, why it feels hopeless. You're not being negative — you're building the emotional case that makes the solution feel necessary rather than optional.
4. Solve (18–35 seconds) Introduce the product as the answer to everything you just described. Show it in use. Be specific about the result: "Within three days I was sleeping through the night" beats "it really works." If there's a mechanism — the science or ingredient that makes it work — mention it in one sentence. Nielsen research shows that even brief explanations of why something works increase purchase intent significantly.
5. CTA (35–45 seconds) This is where most ad scripts fall apart.

CTA placement: stop putting it at the very end
"Link in bio" is not a CTA. Neither is "check it out." A strong paid-ad CTA has three things: a specific action, a reason to act now, and friction removal.
Specific action: "Tap the link below to grab yours" is better than "go check it out."
Reason to act now: Limited-time offers, low stock signals, or a bonus for first-time buyers. Not fake urgency — real scarcity or genuine offer windows. Audiences are smart. Manufactured urgency erodes trust.
Friction removal: Answer the objection that's already in their head. "Free shipping, no minimum order" or "cancel anytime" or "they ship to Canada" — whatever the most common purchase blocker is for that product. One sentence. Right before or right after the CTA.
Here's the part brands never tell you: your CTA should actually appear twice in most 45–60 second ad scripts. Once at around the 20–25 second mark (a soft CTA, like "I'll link it below"), and once as the hard close at the end. Viewers who are already sold don't need to sit through another 20 seconds of justification — give them the out early. Viewers who need more convincing will stay for the rest. You're not repeating yourself; you're serving different decision-making speeds.
Compliance copy: the part creators always forget
This is the section nobody talks about until a brand rejects your ad creative or, worse, the platform flags it after it's already running.
Different product categories come with different rules. Health and wellness products often can't make direct outcome claims. "This supplement cured my anxiety" will get your ad rejected. "I noticed I felt calmer after two weeks" is fine. Financial products can't promise specific returns. Beauty products often can't claim medical-grade results unless they have the certifications to back it up.
Before you write a single word of your script, you should know:
- What claims are off-limits for this product category (ask the brand directly — a well-run brand will have a claims guide)
- Whether any disclaimers are required (e.g., "Results not typical," "Individual results may vary") and where they need to appear on screen
- Platform-specific rules — Meta's advertising policies and TikTok's ad guidelines both have detailed restricted-category lists
If you're working under a whitelisting arrangement — where the ad runs from the brand's account using your content — there's even more at stake. The brand's ad account can get flagged, not just the creative. If you're unsure how whitelisting affects your compliance obligations, UGC whitelisting rights: what they are & what to charge explains the full picture.
One practical tip: write your compliance-sensitive claims in a separate section at the bottom of your script doc. Label them clearly. It makes the review process faster for brand legal teams, and it shows you understand the professional side of performance creative — which makes you someone brands want to work with again.
The script format brands actually want to receive
How you deliver a script matters almost as much as what's in it. Brands and media buyers aren't reading scripts for pleasure — they're checking for compliance, flagging timing issues, and briefing editors.
Format it like this:
- Column 1: Timecode (0:00–0:03)
- Column 2: What's on screen / action
- Column 3: Voiceover / spoken words verbatim
- Column 4: Notes (music suggestions, text overlay, CTA button timing)
A Google Doc table or Notion template works perfectly. Don't just paste a wall of spoken words — give the brand visibility into the visual storytelling, not just the audio track. If you need a starting point, the scripting principles in Why UGC content beats polished ads on Meta and TikTok explain what media buyers are specifically looking for when they review UGC creative.
Quick checklist before you submit a UGC ad script:
- Hook lands in the first 3 seconds and calls out the target audience or problem
- PAS structure is intact and the agitate section has at least 8–10 seconds of breathing room
- Soft CTA appears mid-video, hard CTA closes the script
- Compliance-sensitive claims have been checked against the brand's guidelines
- Disclaimers (if required) are noted with on-screen placement instructions
- Script is formatted in a table with timecodes, not a wall of text
A note on script length
Thirty seconds or sixty seconds? The honest answer: test both. But if you can only write one, write 45 seconds. It's long enough to complete a full PAS arc and a double CTA, short enough to maintain watch-through rates on Meta and TikTok where average watch time for ads drops sharply after 15 seconds.
For high-ticket products where the purchase decision needs more justification, go longer. For impulse buys under $50, keep it tight.
Frequently Asked Questions
What is a UGC ad script?
How long should a UGC ad script be?
What's the best structure for a UGC ad script?
How is a UGC ad script different from an organic script?
What compliance copy do I need in a UGC ad script?
Where should the CTA go in a UGC ad script?
Related reading
On this page
