UGC Script Template for Ecommerce Ads (Free, 2026)

The general-purpose 30-second product UGC script — hook, demonstration, CTA — with timings, on-screen text, and a note on why each beat earns the next one.

Quick Answer

A standard ecommerce UGC script runs 30 seconds across three beats: a 0-3s hook naming the objection the product answers, a 3-22s body demonstrating the product resolving that exact objection on camera, and a 22-30s CTA. Each beat exists to earn the next three seconds, not to describe the product.

This is the general-purpose product script — the one to start from when the category does not impose its own constraints. Every other template on this site is a variation of it.

The organizing idea is that a UGC ad is not a description, it is a sequence of small bargains. The hook buys three seconds. The demonstration has to justify those three seconds well enough to buy nineteen more. The CTA only works if the previous twenty-two actually delivered. Scripts fail when a beat describes the product instead of earning the next one.

The most common structural mistake is a hook that states a benefit and a body that restates the same benefit more slowly. The hook should name an objection or a friction; the body should resolve it visibly. If the body is not answering the exact thing the hook raised, the viewer has no reason to still be there at second ten.

The ecommerce UGC script

30 seconds · 84 spoken words · copy it, swap the product, keep the structure.

Hook 0.0-3.0s

“I have bought four of these and every one of them broke in the same place.”

On-screen text: four of them. same spot.

Visual: Creator holding up a visibly broken previous version, thumb resting on the failure point. Handheld, natural light.

Why this beat converts: Names the objection the category has earned rather than a benefit the product claims. Leading with the failure of competitors is the strongest opening available in ecommerce because it is the thing the viewer has already privately concluded. The physical prop does more work than any adjective could.

Body 3.0-22.0s

“This one is reinforced right where the others gave out — you can feel the difference in the seam. I have had it eight months, same daily use, and it has not moved. It is about six dollars more than the ones I kept replacing, which I worked out means I have already spent less.”

On-screen text: 8 months, daily use

Visual: Close-up on the reinforced seam, thumb pressing it. Then the product in genuine daily use — not styled, not on a white background.

Why this beat converts: Resolves the exact objection the hook raised, at the exact physical point the hook indicated. The price is raised by the creator before the viewer can raise it, and reframed as total cost rather than unit cost — pre-empting the objection is far stronger than answering it after the fact. Eight months of use is the credibility anchor.

CTA 22.0-30.0s

“Linked below. Get the one with the reinforced seam, not the older version.”

On-screen text: link below

Visual: Product held casually at chest height, then a short beat of the creator using it again as the video ends.

Why this beat converts: A specific, useful instruction rather than a generic close. Telling the viewer which variant to buy reads as advice rather than as a sale, and it reduces the wrong-SKU returns that quietly wreck ecommerce UGC economics. Ending on use rather than on the product held to camera keeps the register native.

Adapting this to your product

Generate a Custom Script Free

Frequently Asked Questions

What is a good UGC script structure?
Three beats over 30 seconds: a 0-3s hook naming an objection or friction, a 3-22s body resolving that exact objection visibly on camera, and a 22-30s CTA. Each beat exists to earn the next one — a beat that only describes the product breaks the sequence.
How long should a UGC script be?
About 30 seconds, which is roughly 85 spoken words at natural delivery pace, for a standard product ad. That is long enough to demonstrate a resolution and short enough to hold completion rate on every major short-form surface.
What is the most common UGC script mistake?
A hook that states a benefit followed by a body that restates the same benefit more slowly. The hook should raise an objection; the body should resolve it. When the body is not answering the thing the hook raised, viewers drop around second ten.
Should the creator mention the price?
Yes, and before the viewer thinks of it. Raising the price yourself and reframing it as total cost over time is far stronger than leaving it to be discovered on the landing page — pre-empting an objection beats answering it afterward.

Turn this script into a finished video

Generate the creator, the scenes, and the render with Sora 2, Veo 3.1, Kling 3.0, or Seedance 2.0. Need hooks first? See the viral hook formula library.

Get Started

Script templates for other niches