04 // VIDEO AD SCRIPTS (UGC STYLE)
Video is where most affiliates blow their budget.
You can have the perfect offer, perfect landing page, perfect audience. And if your video script sounds like AI, your CPMs are 2-3x what they should be. Facebook knows. Users know. Everyone knows.
Here's how to fix it.
The Anatomy of High-Performing UGC Scripts
UGC converts because it doesn't look like an ad. That's the whole game. The moment someone's brain registers "this is an ad," engagement drops and your CPM climbs.
Four types of authenticity drive UGC performance:
1. Visual authenticity. iPhone quality, not production. Bad lighting, casual setting, no makeup. The viewer's brain reads "real person" instead of "brand."
2. Verbal authenticity. Hesitation, filler words, self-corrections. The way people actually talk when they're sharing something real with a friend.
3. Emotional authenticity. Real frustration, real hope, real skepticism. Not the polished, focus-grouped version. The messy version.
4. Informational authenticity. Specific details that only someone with real experience would know. Not "I struggled with weight" but "I lost the same 20 pounds four different times doing keto, Whole30, and whatever that carnivore thing was."
Your script controls #2, #3, and #4. Visual is on your creative team or UGC actor. But if the script is wrong, no amount of good filming saves it.
The structure that works:
Hook (5-10s) > Problem (10-15s) > Solution (10-15s) > Proof (5-10s) > CTA (5s)
Not:
Generic question > Features list > "Click now!"
Every section has a job. Hook stops the scroll. Problem builds identification. Solution creates the "aha." Proof makes it believable. CTA converts without being pushy.
Miss any one of those and the whole thing falls apart.
Hook Formulas That Don't Sound Like AI
The hook is everything. You have 3 seconds before the thumb keeps scrolling. If your hook sounds like every other ad, you're dead.
Here are four formulas that consistently beat generic openers.
Formula 1: Controversial/Surprising Statement
"I need to tell you something about [product/topic] that's gonna
piss off [industry/group]."
Why it works: Creates an enemy. Implies insider knowledge. The viewer wants to know the secret.
GLP-1 example:
"I need to tell you something about GLP-1 that's gonna piss off
every diet company in America."
Formula 2: Confessional Opening
"Okay so... I wasn't gonna talk about this but [reason for sharing]."
Why it works: Feels reluctant, not salesy. Viewers lean in because it sounds like a real confession, not a pitch.
GLP-1 example:
"Okay so... my doctor just told me something about weight loss that
made me feel like an idiot for the last six years."
Formula 3: Pattern Interrupt
"Everyone told me [common advice]. Turns out they were completely wrong."
Why it works: Challenges a belief the viewer holds. Creates cognitive tension that demands resolution.
GLP-1 example:
"Everyone says 'calories in, calories out.' That's technically true
and also completely useless. Here's why."
Formula 4: Skeptic Conversion
"I know how this sounds. I thought the same thing. But here's what
changed my mind."
Why it works: Meets the viewer where they are (skeptical). Acknowledges their objection before they can raise it.
GLP-1 example:
"I know how sketchy this sounds. Ozempic for weight loss? But my
doctor convinced me and honestly I wish I'd done it sooner."
What All Good Hooks Have in Common
- Specific. Not "are you struggling" but a concrete statement about a concrete thing.
- Conflict. An enemy, a mistake, a wrong belief, a secret. Tension drives attention.
- Awareness. They acknowledge what the viewer already knows or feels. No talking down.
- Curiosity gap. They open a loop the viewer needs to close. What's the thing about GLP-1? Why were they wrong? What did the doctor say?
What to Kill
If your hook starts with any of these, scrap it and start over:
- "Are you struggling with...?"
- "What if I told you..."
- "Let me tell you about..."
- "Tired of [problem]?"
- "Do you want to [desired outcome]?"
These are scroll-past hooks. Every AI ad and every bad human ad starts this way. Your viewer has seen them a thousand times this week.
Authenticity Triggers: The Deep Dive
Section 03 introduced the markers. Here's how to use them specifically for video scripts, with examples for each.
1. Hesitation Words
What they are: "Okay so...", "I mean...", "Honestly...", "Look..."
Where to use them: Script openings and before vulnerable statements.
Script example:
"Okay so... I wasn't gonna share this because it feels kinda personal,
but I think you need to hear it."
Why it matters for video: When an actor reads a script with hesitation built in, it sounds like they're thinking on camera. Not reading. That's the difference between a UGC ad that works and one that feels rehearsed.
2. Filler Words (Use Sparingly)
What they are: "like", "you know", "kinda", "sorta"
Where to use them: Mid-sentence, in casual moments. Not everywhere.
Script example:
"And I'm like... wait, is this actually the same thing as Ozempic?
Because it sounds too good."
The rule: One or two per script. More than that sounds like you're trying too hard to sound casual. Less is more.
3. Self-Corrections
What they are: "Actually, let me back up...", "Wait, that's not quite right...", "I should clarify..."
Where to use them: After making a strong claim. Adds credibility because it looks like the person cares about accuracy.
Script example:
"I lost 30 pounds in... actually, let me be more specific. 28 pounds
in 11 weeks. I don't wanna exaggerate because this is real."
Why it works: AI never corrects itself mid-script. Humans do. This is one of the strongest authenticity signals you can use.
4. Self-Deprecation
What they are: "I felt like an idiot", "embarrassing to admit", "I was naive"
Where to use them: When sharing past failures. This is your relatability engine.
Script example:
"I spent six years on every diet you can name. Keto, Whole30, paleo,
carnivore. And I'm not gonna lie, I felt like an idiot losing the
same 20 pounds four different times."
Why it works: Vulnerability builds trust faster than any claim. When someone admits they were wrong or felt stupid, you believe them. AI never does this unless you prompt for it.
5. Specificity
What it is: Replacing every vague word with a concrete number or name.
| Vague (AI default) | Specific (prompted) | |---------------------|---------------------| | "a lot of weight" | "30 pounds" | | "for a long time" | "for six years" | | "tried many diets" | "keto, Whole30, Weight Watchers, carnivore" | | "lost weight multiple times" | "lost the same 20 pounds four different times" | | "talked to a professional" | "my actual doctor, not some Instagram guru" | | "recently" | "11 weeks ago" |
The rule: If a word is vague, it's probably an AI default. Replace it.
6. Conversational Asides
What they are: Parenthetical comments that clarify, add humor, or anticipate objections.
Script example:
"Then my doctor, like my actual doctor, not some Instagram influencer,
told me about semaglutide."
Why it works: It sounds like the person is talking to a friend and adding context in real time. It's the verbal equivalent of leaning in and lowering your voice.
7. Acknowledge Awareness
What it is: Referencing what the audience already knows instead of explaining from scratch.
Script example:
"And I was like... wait, is this the Ozempic thing? Yeah. It is."
Why it works: Your audience has heard of Ozempic. They've seen the headlines. If your script explains GLP-1 from scratch like they've never heard of it, it sounds condescending. Acknowledging what they already know builds respect.
8. Imperfect Grammar
What it is: Writing the way people actually speak, not the way they write essays.
| Written (AI default) | Spoken (prompted) | |----------------------|-------------------| | "I am going to share" | "I'm gonna share" | | "I would have done it" | "I would've done it" | | "kind of" | "kinda" | | "going to" | "gonna" | | "want to" | "wanna" |
The rule: Read it out loud. If it sounds like a news anchor, rewrite it. If it sounds like your friend at brunch, you're close.
Fear-Based Messaging Without Compliance Violations
This is where most affiliates either play it too safe or get their accounts shut down. There's a middle ground. Here's how to find it.
The balance:
| Can't Do | Can Do | |----------|--------| | Guarantee outcomes | Share personal experience | | Make medical claims | Explain biological mechanism | | Create panic | Highlight consequences of inaction | | Promise specific results | Describe how it felt differently | | Diagnose conditions | Reference what a doctor said |
Too aggressive (compliance risk):
"If you don't start GLP-1 now, you'll never lose the weight. Your
metabolism is destroyed and you're going to get diabetes."
This makes medical claims ("metabolism is destroyed"), guarantees an outcome ("you'll never lose the weight"), and diagnoses ("going to get diabetes"). Any compliance team would flag this immediately.
Too vanilla (doesn't convert):
"GLP-1 medications may help with weight management when combined with
diet and exercise. Results may vary. Consult your healthcare provider."
This is technically compliant and completely useless as ad copy. Nobody is stopping their scroll for a pharmaceutical disclaimer.
The sweet spot:
"I spent six years losing and regaining the same 20 pounds. Every
cycle made it harder. My doctor told me that's not a discipline
problem, that's a biology problem. And biology problems need biology
solutions, not willpower."
Why this works:
- "I spent six years" = personal experience, not a medical claim
- "Every cycle made it harder" = implies urgency without panic
- "My doctor told me" = authority source, not your claim
- "Biology problem" = reframes without diagnosing
- "Biology solutions, not willpower" = positions GLP-1 as logical next step without naming it
The key: frame everything as personal experience or something a doctor said. Never as a fact you're asserting. This gives you room to be persuasive while staying on the right side of compliance.
Full GLP-1 Case Study: Campaign Brief to Final Script
This is the complete walkthrough. Campaign brief, full prompt, output, and detailed analysis of why every element works.
The Campaign Brief
OFFER: SlimRx telehealth GLP-1 (semaglutide) program
PAYOUT: $150 CPA
TARGET: 35-55, HHI $75k+, previous dieters, multiple failed attempts
GEO: US only
COMPLIANCE:
- No guarantee of weight loss
- No specific weight loss claims ("lose 30 pounds in 30 days")
- No medical claims (can't say "cures" anything)
- Can share personal results
- Can explain mechanism generally
CREATIVE DIRECTION:
- UGC style, iPhone quality
- 30-second format
- Confessional tone
- Female testimonial (higher trust for health)
CURRENT CONTROLS:
- Before/after images (not working on FB anymore)
- Generic "are you struggling" hooks (played out)
- Need fresh angle that passes review
The Complete Prompt
You are a direct response copywriter specializing in compliant UGC
video ads for regulated health offers. You write authentic testimonial
scripts that convert while staying within platform guidelines.
Write a 30-second video ad script for SlimRx GLP-1 telehealth program.
Context:
- Product: Telehealth consultation + semaglutide prescription
- Mechanism: GLP-1 receptor agonist (appetite regulation)
- Delivery: At-home injections, weekly
- Price point: $300-400/month (not mentioned in ad)
Audience:
- Age: 35-55
- Income: $75k+
- Psychographic: Tried multiple diets, frustrated with yo-yo cycles
- Awareness level: Heard about Ozempic, may be skeptical
Compliance:
Cannot say: Guaranteed weight loss amounts, medical claims
(treats/cures anything), before/after numbers as promises
Can say: Personal experience, general mechanism explanation,
how it feels different than diets
Format:
- Hook (5-7s): Controversial statement about dieting + GLP-1
- Problem (10-12s): Specific past failures with emotional beat
- Solution (8-10s): Mechanism explanation, why it's different
- Proof (5-7s): Personal result, how it feels
- CTA (3-5s): Soft close, link mention
Authenticity markers:
- Hesitation opening ("Okay so..." or "I mean...")
- Self-deprecating moment (feeling stupid/naive about past diets)
- Specific numbers (years trying, pounds lost/regained, exact diet names)
- Conversational aside (parenthetical clarification)
- Acknowledge "Ozempic" connection directly
- Casual grammar throughout (gonna, wanna, kinda, contractions)
Avoid:
- "Game-changing" / "life-changing"
- "Are you struggling with..."
- "Transform your life" / "real results"
- Perfect grammar (use contractions, gonna/wanna)
- Generic encouragement
- Hard CTA
The Output
HOOK (5s):
"Okay so... I need to tell you something about GLP-1 that's probably
gonna piss off every diet company in America."
PROBLEM (12s):
"I spent six years doing keto, Whole30, Weight Watchers, all of it.
I lost the same 20 pounds four different times. And I'm not gonna
lie, I felt like an idiot. Like, what's wrong with me that I can't
just keep it off?"
SOLUTION (10s):
"Then my doctor, my actual doctor, not some Instagram influencer,
told me about semaglutide. And I was like... wait, is this the
Ozempic thing? Yeah. It is. Here's what nobody tells you. The reason
every other diet failed wasn't discipline. It was biology. GLP-1
regulates your hunger hormones. Not through willpower. Through actual
biological signaling."
PROOF (6s):
"I'm down 28 pounds in 11 weeks and I'm not white-knuckling anything.
I'm just... not as hungry. Which sounds simple but it changes
everything."
CTA (4s):
"Link in bio if you wanna know more. This isn't for everyone but if
you're tired of losing the same weight over and over, you should
probably know this exists."
Why Every Element Works
| Script Element | Technique | What It Does | |----------------|-----------|-------------| | "Okay so..." | Hesitation opener | Sounds like real conversation starting, not a scripted ad | | "gonna piss off every diet company" | Controversial hook | Creates enemy, implies insider knowledge, stops the scroll | | "six years doing keto, Whole30, Weight Watchers" | Specific names | Audience recognizes their own story in these details | | "lost the same 20 pounds four different times" | Specific failure | The most relatable sentence for chronic dieters | | "I felt like an idiot" | Self-deprecation | Vulnerability that AI never produces unless prompted | | "what's wrong with me" | Internal dialogue | Emotional authenticity, the viewer has thought this exact thing | | "my actual doctor, not some Instagram influencer" | Conversational aside | Authority + humor in one line | | "wait, is this the Ozempic thing? Yeah. It is." | Acknowledge awareness | Respects intelligence, doesn't explain what they already know | | "wasn't discipline. It was biology." | Reframe | Removes shame, creates hope through understanding | | "28 pounds in 11 weeks" | Self-corrected specificity | More believable than a round number | | "I'm just... not as hungry" | Understated result | 10x more believable than "transformed my life" | | "This isn't for everyone" | Qualifier | Counter-intuitive but increases credibility massively | | "you should probably know this exists" | Soft CTA | Information framing, not sales pressure |
Before/After Comparison
BEFORE (Generic AI):
"Are you tired of yo-yo dieting?
GLP-1 medications like semaglutide are changing the weight loss game.
Thousands of people are achieving their goals with this breakthrough
treatment.
It works by regulating your appetite and helping you feel full longer.
No more cravings. No more struggling. Just real, sustainable results.
Click the link to see if you qualify and start your transformation
today!"
AFTER (Prompted for Authenticity):
[The script above]
What changed:
| Element | Before | After | |---------|--------|-------| | Hook | Cliche question | Controversial statement | | Problem | "Yo-yo dieting" (generic) | Six years, four diets, four failures (specific) | | Credibility | "Thousands of people" | "My actual doctor" | | Mechanism | Feature list ("regulating appetite") | Personal reframe ("biology, not discipline") | | Results | "Real, sustainable results" | "I'm just not as hungry" | | CTA | "Start your transformation today!" | "You should probably know this exists" | | AI tells | 6+ cliches | Zero |
Same model. Same offer. Different prompt. Completely different output.
Template Prompts for Video Scripts
Copy these. Customize the bracketed sections. Use them today.
Template 1: 15-Second Hook Test
Use this when you need to test multiple hooks fast before committing to full scripts.
You are a copywriter testing video ad hooks for [offer type].
Write 5 different 15-second hooks for:
- Offer: [product name + mechanism]
- Audience: [age, situation, pain point]
- Tone: [confessional / aggressive / educational / skeptic-convert]
Each hook should:
- Use a different pattern (one of each: controversial, confessional,
pattern-interrupt, skeptic-conversion, insider-knowledge)
- Include at least one specific detail (number, name, timeline)
- Create a curiosity gap (don't reveal the solution yet)
- Sound like a real person talking, not a script
Avoid: [list of cliches specific to your vertical]
Template 2: 30-Second Full Script
The workhorse template. This is what you'll use most.
You are a direct response copywriter specializing in UGC video ads
for [vertical].
Write a 30-second script for:
Offer: [product + mechanism + price point if relevant]
Audience: [demographics + psychographics + awareness level]
Compliance: Cannot say [X, Y, Z]. Can say [A, B, C].
Format as:
- Hook (5-7s): [specific type of hook you want]
- Problem (10-12s): [specific pain points to hit]
- Solution (8-10s): [mechanism explanation, differentiation]
- Proof (5s): [type of proof: personal result, authority, etc]
- CTA (3-5s): [soft/hard, specific action]
Include these authenticity markers:
- Hesitation opening
- Self-deprecating moment
- Specific numbers (at least 3)
- One conversational aside
- Acknowledge what the audience already knows
- Casual grammar (contractions, gonna/wanna)
Avoid these AI tells:
- [cliches specific to your vertical]
- Perfect grammar
- Generic encouragement
- Hard CTA
Template 3: 60-Second Testimonial Style
For longer formats where you need a complete story arc.
You are a UGC scriptwriter creating a 60-second testimonial video
for [vertical].
Write a first-person testimonial script for:
Offer: [product + mechanism]
Audience: [demographics + psychographics]
Compliance: Cannot say [X]. Can say [Y].
Structure:
- Cold open (3-5s): Mid-thought statement that hooks immediately
- Backstory (15s): Specific timeline of struggle (names, numbers, emotions)
- Rock bottom moment (10s): The specific moment they knew something
had to change
- Discovery (10s): How they found the solution (doctor, friend, article)
- Experience (10s): What using it actually feels like day-to-day
- Result (7s): Specific outcome with honest framing
- CTA (5s): Soft recommendation, self-selecting language
Voice direction:
- Sounds like telling a friend over coffee, not presenting to camera
- Include at least 2 self-corrections or hesitations
- Use specific numbers for every claim
- Reference at least one thing the audience has tried and failed at
- End with qualifier ("this isn't for everyone")
Avoid:
- Opening with a question
- "Journey" or "transformation" language
- Listing features
- Medical claims
- Pushy CTA
Template 4: Iteration/Refinement
Don't regenerate. Use this after your first output to fix specific sections.
The [section] needs work. It's [too generic / too polished / missing
emotion / not specific enough / too long / too aggressive].
Rewrite only the [section] to:
- [specific improvement 1]
- [specific improvement 2]
- [specific improvement 3]
Keep everything else identical. Do not change the [hook/problem/
solution/proof/CTA].
Common Mistakes and Fixes
Quick reference for when your scripts aren't landing.
| Mistake | Why It Fails | Fix | |---------|-------------|-----| | "Are you struggling with..." | Everyone uses this. Instant scroll. | Controversial or confessional hook instead. | | Perfect grammar throughout | Sounds scripted. Brain reads "ad." | Contractions, gonna/wanna, casual grammar. | | No specific details | Generic = unbelievable. AI default. | Names, numbers, timelines in every section. | | Textbook mechanism explanation | Boring. Loses attention at solution section. | Explain through personal experience and feeling. | | "Life-changing results" | AI cliche. Zero credibility. | Understate: "I'm just less hungry." | | "Click now!" / "Buy today!" | Pushy. Triggers ad-avoidance. | "Link in bio if you want details." | | No awareness acknowledgment | Talks down to audience. | Reference what they already know ("the Ozempic thing"). | | Same hook pattern every time | Audience fatigues. CPM climbs. | Rotate between all four hook formulas. | | Too long for format | Viewer drops off. Completion rate tanks. | Stick to time allocations. Cut ruthlessly. | | Script sounds the same as last week | Creative fatigue. | Change hook formula, change emotion, change proof type. |
Video scripts are your highest-leverage creative. Get these right and your CPMs drop, your CTR goes up, and your CPA improves across the board.
Use these templates. Test hooks first. Iterate on what works. Kill what doesn't.
Next up: advertorials.