A UGC script is the written plan behind a piece of creator-style video: the opening line, the beats that follow, and the single ask at the end. Most guides treat writing one as a copywriting exercise and hand you a list of hook formulas. That is why the formulas rarely help. The reason a UGC script stalls is almost never that the writer cannot write. It is that the writer is choosing what the video is about and writing the lines of it in the same sitting, and those two jobs fight each other. This template separates them, in that order, and gives you a fixed skeleton to fill once the deciding is done. If you are still choosing how to get the video made at all, that decision sits in UGC agency vs in-house vs AI.
The short version
The blank page in front of a UGC script is not a writing problem, it is a deciding problem. Creators and brand teams stall because they are choosing the angle and writing the lines in the same sitting, and those are two different jobs with two different fixes. The template that works runs in one direction: pick one named customer problem, generate five to eight one-line hook angles against it without writing any script, choose the sharpest, then fill a fixed five-beat skeleton of hook, recognition, demo, proof, and ask. Route each angle to the talent that carries it best before anyone writes, because a claim-sensitive angle and a high-volume test angle do not want the same face. Then measure the hook separately from the body. HubSpot reports that videos under sixty seconds average about sixteen seconds of watch time, so on a thirty-second script the back half is seen by a minority and every beat has to earn its position.
The pattern shows up clearly the moment you ask working creators about it. In an r/UGCcreators thread on writing hooks and scripts, a poster described his wife, a full-time UGC creator of over a year who is confident on camera and strong on delivery, spending more time staring at a blank page, cycling between an AI chat window, a swipe file and her old scripts, than she spent actually shooting. The most useful reply in the thread did not offer a formula. It named the real fault line: separate the ideation session from the writing session, because trying to come up with the hook concept and write the script at the same time is where most of the time disappears. The commenter closed with the line that reframes the whole task, that most creators are not slow at writing, they are slow at deciding which direction to go, and that is a different problem with a different fix.
How do you right your hooks/ scripts?
That is the thesis of this template. Everything below is built to make the deciding cheap and fast, so that by the time you are writing lines you are only writing lines.
What is the one-directional flow of a UGC script?
Before any of the beats, understand the shape. A UGC script has one source and several dependents. The source is the angle: one specific, named customer problem, expressed the way a customer would say it out loud. Every other decision in the script hangs off that angle and none of them make sense without it. Choose the angle first and the rest of the script becomes a series of small, obvious calls. Choose it last, or never, and you will rewrite the hook eleven times because you are secretly still deciding what the video is about.
This is why hook-formula lists disappoint. A list of twenty hook templates is a list of twenty ways to phrase something you have not chosen yet. The template is not the bottleneck. The angle is.
It is worth being precise about why the stakes here are higher than they look. Video is no longer a channel you can be casually bad at. Wyzowl's video marketing survey of 266 respondents, fielded in late 2025, puts 91% of businesses using video as a marketing tool and 85% of people saying a video has convinced them to buy something. When effectively everyone is producing video, the differentiator stops being whether you make it and becomes whether the first three seconds of it are about anything. That is a scripting problem, and specifically an angle problem.
How much runtime does a UGC script actually get?
Before writing a single line, internalise how little runtime you actually get. HubSpot's video marketing statistics report that videos under sixty seconds average roughly sixteen seconds of watch time. Read that against a thirty-second script and the implication is uncomfortable: the average viewer leaves around the halfway mark. Anything you place at second twenty-two is seen by a minority of the people who started.
Sprout Social's video marketing data sharpens it further with two findings that should change how you write. The first is that 74% of Facebook videos are watched without sound, which means your hook has to work as text and image before it works as a spoken line. The second is that average watch time on LinkedIn sits between 13 and 15 seconds, so a B2B script that saves its point for the end is writing for an audience that has already gone.
Two rules fall directly out of this. Front-load the proof rather than saving it for a reveal, because a reveal at second twenty-four is a reveal to almost nobody. And caption the hook, not just the body, since the line that has to stop the scroll is the line most likely to be read rather than heard.
The Wyzowl survey adds a useful counterweight before you overcorrect into six-second clips: 71% of respondents believe videos between thirty seconds and two minutes are most effective. Wistia's guidance on choosing a marketing video length lands in the same place, that the right runtime is set by the job the video has to do rather than by a universal number. The point is not that shorter always wins. It is that length is a budget, and every beat has to justify the seconds it spends.
Operator noteSixteen seconds is the average watch on sub-60s video, so second 22 reaches a minority., HubSpot video marketing statistics
Step 1: Pick one angle, and write it as a sentence a customer would say
An angle is not a feature and it is not an audience. It is a single friction, stated in the customer's own words, that your product removes. "Faster onboarding" is not an angle. "I signed up on a Tuesday and still had not invited my team by Friday" is an angle, because it is specific enough to be either true or false about a real person.
Sourcing angles is a research job, not a creative one, and it is the part most teams skip. Three places return real language fast.
The first is your own support and sales transcripts, which are full of customers describing their problem in sentences you would never have written. This is the cheapest angle source you own and the most underused, because it does not feel like creative work.
The second is the communities where your buyers complain for free. Reddit is the highest-yield version of this, since people describe problems there in the exact register a UGC hook needs, which is why a well-run Reddit marketing motion doubles as an angle mine. If your product is B2B software, the mechanics of turning those threads into creative are laid out in our Reddit UGC pipeline for B2B SaaS.
The third is the ad libraries, and one creator in that same thread gave the sharpest version of the tactic: look at what competitors are running in the Meta ads library, and treat an ad that has been live for six or more months as evidence that something in it is working. The same read is available on the TikTok Creative Center, which surfaces top-performing ads by industry and region. That is not permission to copy the ad. It is a signal about which angle the market has already validated, and the difference matters both legally and creatively.
Write down five angles. Not one. You will use them all, and the fifth is often the one that works, because the first four tend to be the ones your team already agreed on internally.
Step 2: Generate hook angles without writing a script
This is the step that fixes the blank page, and it works because it has exactly one rule: in this session you may not write a script. You are only allowed to write one-line concepts against the angle you fixed in step one. The session ends with a list of openings and nothing else, no lines, no beats, no polish, because the moment you start writing sentences you are back to doing both jobs at once.
Give yourself fifteen to twenty minutes per angle and produce five to eight opening concepts. Not polished lines, concepts. "Open on the problem nobody admits to." "Start mid-sentence, as though something already went wrong." "Open on the outcome and work backwards." The commenter who suggested this framing was explicit that the blank page stops being intimidating once you already know the angle before you start writing, and that matches what our own production process does: our UGC videos service begins with a hook bank per angle, not a script, precisely because the bank is what makes everything downstream cheap.
Three families cover most of what works, and it helps to consciously write across all three rather than producing eight variations of the same instinct.
Three angle families, and the hook each one produces
| Angle family | What it opens on | Best fit | Example opening line |
|---|---|---|---|
| Problem | The friction the viewer already has | Cold audiences who do not know the category | I gave up on this three times before it stuck |
| Outcome | Life on the other side of the fix | Warm audiences comparing options | This is what my Sunday looks like now |
| Identity | Who this is and is not for | Narrow niches with a strong in-group | If you reopen the same tab nine times a day |
Another creator in the thread described a complementary method worth stealing: record hook concepts as voice notes while walking or commuting rather than at a desk, on the theory that not staring at a screen produces angles you would not reach while trying to be creative on purpose. The same commenter recommended keeping a running swipe file of hooks that made you personally stop scrolling, not hooks from competitors you admire. Real reactions beat frameworks, and after a few weeks the patterns in your own file tell you which emotional triggers you actually respond to, which are usually the ones your audience responds to as well.
The output of this step is a hook bank: a growing list of one-line openings tagged by angle. It is an asset, not a document you throw away after the shoot. Every future script for that product starts from the bank rather than from zero, which is the entire point, and it is the same compounding logic behind any serious content distribution operation.
If you want to see what a mature bank looks like before you build your own, the paid-social strategist Dara Denney has published hers as a sorted taxonomy rather than a list of lines, which is exactly the shape a bank should take. She groups openings by the mechanic that does the work, investment hooks, founder hooks, trigger-word hooks, and walks each one against ads she has run.
I tested over 1000 ads. Here are the hooks ACTUALLY making MONEY
Dara Denney walks a hook bank built from over a thousand tested ads, sorted by hook type rather than by product.
Step 3: Fill the five-beat skeleton
Only now do you write. A UGC script that converts is not freeform, it is five beats in a fixed order, and each beat has one job. Fill them one at a time, in isolation, rather than writing the script top to bottom in one pass.
The five-beat UGC script skeleton
| Beat | Runtime | The job of this beat | The failure mode |
|---|---|---|---|
| Hook | 0 to 3 seconds | Stop the scroll and name the tension | Brand name first, or a slow visual build |
| Recognition | 3 to 8 seconds | Make the viewer feel specifically described | Generic pain that fits any product |
| Demo | 8 to 20 seconds | Show the product doing the one thing | Feature tour instead of one clear action |
| Proof | 20 to 28 seconds | Give one concrete, checkable reason to believe | Adjectives standing in for evidence |
| Ask | Final 3 to 5 seconds | One instruction, one destination | Two asks, or a link nobody can act on |
The fixed-skeleton idea is not a FORKOFF invention and it is worth watching someone else arrive at it independently. Fraser Cottrell, who has produced over ten thousand hours of ads for direct-to-consumer brands, walks through the scriptwriting structure his team fills for every Meta ad they make, and the interesting part is how little of the video is about wording. Most of it is about what each section of the script is for.
How to Write Winning Meta Ad Scripts ($450M Spent)
Fraser Cottrell breaks down the fixed script structure his team fills for DTC ads across 10,000 hours of production.
The hook beat fails most often for a reason that has nothing to do with the words. It fails because it opens on the brand. A logo, a product shot on a clean background, or a person saying the company name in the first second all read as advertising, and the viewer's decision to leave is made before your first sentence lands. Open on the tension.
The recognition beat is the one most scripts skip entirely, and skipping it is why so many UGC ads feel generic. Its job is to make the viewer feel specifically described rather than broadly targeted. A creator in the thread put the mechanic well: find a story to tell, hyper-specific rather than general, on the logic that the audience you are trying to reach has at least twenty niche problems each and your job is to find the overlap. Generic pain that would fit any product in your category is a wasted five seconds.
Demo fails when it becomes a feature tour. A thirty-second video has room for the product doing exactly one thing, done clearly enough that a viewer who has never seen it understands what happened. Every additional feature you squeeze in costs you the clarity of the first. If you are demonstrating software, show the single action that removes the friction named in the recognition beat, and nothing else.
Proof fails when adjectives stand in for evidence. "It is so much faster" is not proof. "I ran the same import twice, one took the afternoon and one took nine minutes" is proof, because it is checkable. This is the same standard we hold across FORKOFF's clipping network, where a distribution claim is only worth stating if it can be examined: the clipping network has processed more than 5B views, and that figure is useful precisely because it is auditable rather than asserted. Hold your creative to the standard you would hold a vendor to.
The ask beat has one rule and it is unforgiving. One instruction, one destination. A script that ends with "check the link, and follow for more" has just split the only moment of intent the viewer will give you. This matters more than it used to, because reach and engagement have decoupled. Socialinsider's social media benchmarks, built on 70 million posts analysed from January 2024 through December 2025, found Instagram engagement rate falling to 0.48% in 2025, down 4% year on year. Their Instagram benchmark breakdown puts average views per post up 29% across the same window. More people are seeing content and a smaller share of them are acting on it, which means the ask has to be unambiguous to survive the gap.
Operator noteTwo asks in the last five seconds is the same as none. One instruction, one destination.
Step 4: Route the angle before anyone writes the lines
Here is the step almost no script guide includes, and it is the one that changes the economics rather than the prose. Different angles want different talent, and deciding which talent carries an angle before anyone writes a line changes what gets written. A script destined for a cheap volume test and a script destined for a real creator on a scaling budget are two different documents, even when they open on the same hook.
Routing an angle to talent before the script is written
| If the angle is | Route it to | Because | Write the script to |
|---|---|---|---|
| An unproven framing you want to test | The cheapest source that produces volume | You are buying answers, not assets | Isolate one variable |
| Claim-sensitive or trust-heavy | A real creator | The claim rides on the face making it | Support the claim with checkable proof |
| A proven winner you are scaling | A real creator, freshly shot | Repetition fatigue hits generated faces faster | Survive a hundred thousand views |
| A format or length variation | Whichever produced the winner | You are changing packaging, not message | Keep the hook, change the frame |
An angle that carries a sensitive or trust-heavy claim wants a real creator, because the claim rides on the face making it. An angle you are still testing, where you genuinely do not know if the framing lands, wants the cheapest talent that can produce volume. Those are different scripts even when the words are similar, because a testing script is written to isolate one variable and a scaling script is written to be watched a hundred thousand times without wearing out.
Field evidence for the sequencing is unusually clean. A Meta buyer posting in r/FacebookAds in July 2026, running roughly $30,000 to $50,000 a month across accounts, took one of his better-performing UGC scripts and produced two versions of it: one with a real creator and one AI-generated, same hook, same structure, same product shots. He ran both in the same campaign and ad set with identical targeting and landing page for three weeks. These are his self-reported numbers from a single test, not a controlled study, and worth reading as one operator's result rather than a benchmark.
In week one the AI version came in about 6% lower on cost per acquisition, which he did not expect. In week two the real creator pulled ahead by about 12%. In week three the AI version's cost per acquisition rose by close to 40% while the real creator version held, which he attributed to the AI version burning through the audience faster, possibly because viewers began recognising the face or because the delivery lacked the micro-variation a real person brings.
I A/B tested real-model UGC against an AI-generated version of the same script. The CPA difference was way smaller than I expected, but there's a catch.
His conclusion is the routing rule stated from the other end: use the cheap version as the testing layer to find which hook and angle converts, then produce that specific winner with a real creator. In the same write-up he puts the fall in his creative testing budget at roughly 60% while his hit rate on winning creatives went up. The lesson for scripting is that the testing script and the scaling script are different documents even when they share a hook, and knowing which one you are writing changes how much you invest in the body.
clayne
@0xclayn
EARLY-STAGE STARTUPS STOPPED HIRING REAL PEOPLE FOR THEIR ADS, AND MOST USERS NEVER NOTICED New apps live or die on one thing early on: ads that look like a real person casually reviewing the product, not a company selling it. That style is called UGC, user-generated content,
The market context around this is moving quickly. As one widely-read post on X put it in July 2026, early-stage startups have largely stopped hiring real people for their ads and most users never noticed, because what the format actually rewards is an ad that reads like a real person casually reviewing a product rather than a company selling one. That is a statement about register, not about production budget, and register is a script decision before it is a casting decision. Our current read on where generated talent holds up and where it does not is kept at AI UGC benchmarks, and the production mechanics are in AI UGC videos and AI UGC for DTC brands.
Step 5: Write the brief, not just the script
A script handed to a creator with no brief gets read like a teleprompter, and it sounds like one. The brief is what lets a creator deliver the beats in their own voice, which is the entire reason you hired a person instead of generating a video.
A workable brief carries five things: the angle in one sentence, the chosen hook as a starting point rather than a mandate, the one product action the demo must show, the specific proof point and what makes it checkable, and the single ask. Everything else is guidance. Explicitly tell the creator they may rephrase the hook in their own words, because a hook that sounds borrowed dies in the first second regardless of how well it tested on paper.
One creator in the thread described the balance well: use AI to research the audience and understand what catches their attention, but never let it produce the actual hooks or scripts, and always chase the sources back so you understand the audience at a human level. She put two to three hours a month into that research and treated it as the input that made everything else work. That split, machine for research and human for judgment, is the same one we apply to creator selection in influencer marketing and KOL marketing, where the data narrows the field and a person makes the call.
I use AI to help me research the audiences I am trying to hit and tell me what catches their attention, and then I tailor my content to match it. I never let AI do the work for me though, or come up with the actual ideas, hooks or scripts.
If you are commissioning rather than filming, the brief is also the artifact that determines whether you get what you paid for, and the selection criteria for who receives it are at how to choose a UGC agency. The budget question that usually arrives alongside it is answered at how much a UGC video costs.
Step 6: Measure the hook separately from the body
Most UGC ads do not fail as scripts. They fail in the first three seconds, and the remaining twenty-five never get a vote. If you report only on the final conversion number you cannot tell the difference between a bad angle, a bad hook on a good angle, and a good hook attached to a body that loses people at the demo. Three different failures, three different fixes, one undifferentiated number.
Split the read. Look at how many people are still watching at three seconds to judge the hook. Look at the drop between three seconds and the end to judge the body. A hook with strong early retention and a collapse at the demo is a body problem and you should keep the hook. A hook that never gets anyone past three seconds is not a script problem at all, it is an angle problem, and rewriting the lines will not fix it.
Given the sixteen-second average watch time on sub-sixty-second video, add a third checkpoint at roughly the halfway mark of your runtime. If the drop clusters there rather than at the end, your demo beat is running long and the proof is arriving after the audience has left.
Operator noteRetention at 3s judges the hook. The 3s-to-end drop judges the body. Never one number.
This is also how a hook bank compounds. Every test tells you something about the angle family, not just the individual line, and after twenty tests you know which of the three families your audience responds to, which is worth more than any single winning script. Our broader creator engagement baselines live at the creator engagement benchmark and the wider category numbers at influencer marketing statistics.
What does a working script pipeline look like at volume?
At small volume, one person can hold this in their head. At real volume it becomes a system, and the pieces are the same ones this template names: an angle list refreshed from real customer language, a hook bank that grows rather than resets, a fixed skeleton so writing is filling rather than inventing, a routing decision made before writing, and a measurement split that tells you which part failed.
The scale this is capable of is not theoretical. A DTC creative strategist posted in July 2026 that he had produced twenty-five UGC video ad scripts with accompanying creative briefs for a nine-figure ecommerce brand. The first of those ads to go live, launched by accident before the brand intended to start, did 266 purchases at a $61 cost. One data point from one operator, and not a result anyone should plan around, but it points at the right thing: the deliverable that produced it was a batch of scripts and briefs, not a single clever line.
Stefan Georgi
@StefanGeorgi
Did some creative strategy work for a 9 figure eCom brand over the past month. Made them 25 UGC Video Ad Scripts with the creative briefs too. They accidentally launched the first of those ads yesterday (they weren't planning on launching yet) and it did 266 purchases at a $61
Sprout Social's social media video data finds 53% of influencers prefer to create in the 15 to 30 second band, with another 50% comfortable in the 31 to 60 second range, and that is a useful production constraint here. If you are briefing at volume, writing to a runtime creators already like working in reduces revision cycles, and revision cycles are where volume operations actually die.
How do you adapt the skeleton for each platform?
The five beats do not change across platforms, and that is the useful part. What changes is how much runtime each beat gets, and getting that allocation wrong is a common reason a script that worked on one surface dies on another. Treat the platform cut as a budgeting exercise applied to a skeleton you have already filled, never as three separate writing jobs.
On TikTok and Reels, where Sprout Social's data shows the majority of users interacting with video under sixty seconds, the recognition beat can run longer because the audience arrived expecting a story. You have room to earn the demo. Socialinsider's TikTok benchmarks are the reference to check your own retention against before deciding the pacing is wrong. The hook still has to survive without sound, but it can breathe.
On Facebook, the 74% silent-viewing figure is the governing constraint. Write the hook as an on-screen line first and a spoken line second, and make sure the demo beat is legible as pure visual sequence. If someone watched your Facebook cut with the audio off and could not tell what the product did, the script has failed regardless of how good the writing is.
On LinkedIn, with average watch time between 13 and 15 seconds, the skeleton compresses hard. Realistically you get hook, one recognition line, a demo, and an ask. The proof beat has to merge into the demo rather than following it, which usually means demonstrating the checkable claim rather than stating it afterwards. A LinkedIn cut of a thirty-second script is not the same script trimmed, it is a rewrite with three beats instead of five.
The practical move is to write the full five-beat version first, then derive the platform cuts from it. Deriving downward is fast because the deciding is already done. Writing three separate scripts from scratch reintroduces exactly the problem this template exists to remove. Wistia's State of Video report is a useful sanity check on where your own runtimes sit against the wider corpus before you commit a house length.
The five mistakes that cost the most time
The first is writing the hook before choosing the angle, which is the blank-page problem described at the top and the cause of most rewriting. It is also the hardest to notice from the inside, because it feels like writer's block rather than an unmade decision.
The second is producing eight hooks that are all the same family. Eight problem-led openings is one hook tested eight times. Force yourself across problem, outcome and identity, and count them before you shoot.
The third is treating the script as the deliverable. The deliverable is the angle plus the hook bank plus the brief. The script is the least reusable artifact in the set and the one everyone spends their time on.
The fourth is saving the proof for the end. On a thirty-second video where the average watch time is around sixteen seconds, a closing proof point is a proof point most viewers never receive.
The fifth is scaling a winner without changing anything about it. The r/FacebookAds test above is the clearest available warning: the version that won in week one was not the version that survived week three, and nothing about the words changed. Creative fatigue is not a scripting failure, but the answer to it is a scripting decision, which is to keep the angle and re-shoot the hook rather than retiring the whole concept.
Where FORKOFF fits
We run UGC Videos as production, not as a template library. The process starts where this guide starts, with a hook bank per angle and a routing decision on whether a real creator or AI talent carries each angle better, then produces the video and cuts winning concepts into further hook, format and length variations. Where the same footage logic applies to long-form assets we route it through video production, and launch-specific work sits with product launch video.
Engagements are scoped per brand rather than sold from a rate card. If you are working out what a video budget should look like more generally, we broke that down in what a launch video costs in 2026, and the wider agency field is compared at best influencer marketing agency.
If you take one operational change from this guide, make it the calendar change rather than the template change. Put the angle-and-hook session in a different block from the writing session, ideally on a different day, and give the first one a hard stop. The output of session one is a list of one-line concepts and nothing else. The output of session two is filled beats. Teams that make that single split usually report the same thing the creators in that Reddit thread reported, which is that the writing was never the slow part.
The second change worth making is to stop deleting things. Angles, hook concepts that lost, briefs from campaigns that ended: keep all of it in one place per product. A hook that failed against a cold audience often works against a warm one, and a losing angle from six months ago frequently becomes the winner after a product change. The teams that produce good UGC at volume are rarely more creative than the ones that do not. They are just starting from a bank instead of a blank page.
The short version of the whole template: decide, then write. Almost everything that feels like a writing problem in UGC is a deciding problem wearing a writing problem's clothes.









