Meta Ads UGC Campaign
From competitor research to a ROAS-tracked ad test — in under a day.
A universal Meta Ads funnel — research → ideate → script → cast → produce → compose → launch → measure — with the ppl.studio implementation for each stage. Every step explains what needs to happen, why it matters for the funnel, and how to execute it with our free tools and dashboard features.
Who it's for
DTC brands, performance marketers, and growth teams running paid social on Meta — especially teams with no in-house creative or photographer.
Outcome
5–10 ad variants ready to test — a mix of photos and short-form video — exported at correct Meta Ads Manager specs, with break-even ROAS and creative-fatigue benchmarks set before spend goes live.
Time
~4 hours for 10 ad variants
Steps
12 steps, 55 substeps
Before you start
Have these ready so you don't hit a blocker mid-workflow.
- A product with a public URL (Shopify, Amazon, or your own site).
- A Meta Ads Manager account with the pixel installed (if you plan to launch in Step 12).
- Your product's average order value (AOV), gross margin %, and rough CPM / CTR / CVR benchmarks.
- A ppl.studio account — free tier includes 10 photos; Creator plan ($1.99/week) covers unlimited photos + Animate.
The funnel
Each step is a funnel stage. The top of each step explains what needs to happen in universal marketing terms. The bottom shows how to do it with ppl.studio — with free tools, dashboard features, examples, and gotchas.
How to do it with ppl.studio
ppl.studio's Winning Ads Finder pulls live ads from Meta Ad Library and clusters them into 5 AI-analyzed angles per brand. 10 minutes replaces what used to be a half-day of manual scrolling.
- 1.1
Open the Winning Ads Finder
No login required. Open the tool in a new browser tab so you can reference it while working through the next steps.
- Free toolWinning Ads Finder — 5 AI-analyzed angles + live Meta Ad Library links for any brand or niche.
- 1.2
Enter 1–3 competitor brands
Pick direct competitors in your category — same product type, similar price range. The tool fetches their currently-running ads from Meta Ad Library and clusters the patterns into 5 angles.
Example
For a protein-bar brand: "RX Bar, Barebells, Quest Nutrition." For a skincare brand: "CeraVe, Cetaphil, The Ordinary."
Tip: Don't pick aspirational brands ten sizes up — a Louis Vuitton angle won't translate for a $29 candle. Stay in your tier.
- 1.3
Read the 5 AI-analyzed angles
Each angle comes with its hook pattern (e.g., problem-agitation, social-proof stack), target audience, and emotional trigger. These are patterns, not copy — you'll write your own copy in Step 3.
Tip: If two angles feel identical, the tool has found a pattern that really works in your niche. That's your highest-probability winner.
- 1.4
Click through to the live Meta Ad Library ads
Every angle links to the actual running ad. Open 2–3 ads per angle. Watch the first 3 seconds of each video — that's the hook, and that's where 80% of ad performance is decided.
Tip: Screenshot the three ads that made you stop scrolling. These are your creative reference for Step 7 (photo prompts) and Step 10 (video).
- 1.5
Pick 2 angles to move forward with
More than 2 angles = unfocused data. Two is enough to tell you which emotional lever your audience actually responds to.
Tip: Pick angles from different emotional levers (e.g., one fear-based, one aspiration-based). If both win, your audience is broad. If one dominates, you have your lever.
How to do it with ppl.studio
URL → Ad Concepts does the translation automatically. Paste a product URL, get back three concepts with hooks, body copy, CTAs, and visual direction mapped to the exact product.
- 2.1
Open URL → Ad Concepts
Load the tool and have your product PDP URL ready — the tool pulls the image, price, and description from the page.
- Free toolURL → Ad Concepts — Three ready-to-shoot ad concepts from a product URL — hooks, body copy, CTAs.
- 2.2
Paste your product URL
Shopify, Amazon, Etsy, or your own site all work. The tool fetches the product image, name, and description, then returns three concepts.
Example
https://yourbrand.com/products/signature-candle
Tip: If a custom e-comm build blocks scraping, paste product name and description manually. The hooks will still be useful.
- 2.3
Review the three concepts
Each concept comes with a hook, 2–3 lines of body copy, a CTA, and visual direction ("woman holding product on kitchen counter, morning light"). Pick the one matching the angle you chose in Step 1.
- 2.4
Save the concepts as a reference doc
Copy into a Google Doc, Notion page, or note. You'll reference them for the script in Step 4 and scene prompts in Steps 7–8.
How to do it with ppl.studio
The Hook Generator produces 25 hooks grouped by frame — Problem, Curiosity, Social Proof, POV, Bold Claim. Each frame engages a different part of the brain; spreading across frames gives you the test coverage you need.
- 3.1
Open the Hook Generator
The tool groups 25 hooks by frame. Each frame engages a different psychological lever.
- Free toolHook Generator — 25 hooks grouped by frame — Problem, Curiosity, Social Proof, POV, Bold Claim.
- 3.2
Describe your product in one sentence
Keep it literal. "Vanilla-scented soy candle, 9oz, $29" writes sharper hooks than "Luxury atmosphere for your home."
Example
Instead of "eco-friendly yoga mat," write "5mm cork yoga mat with alignment stripes, $79."
- 3.3
Scan all 25 hooks in one pass
Don't judge yet. Read all 25 fast. Note which ones made you pause — those are candidates. A hook that works on you probably works on your audience.
- 3.4
Shortlist 3 hooks from 3 different frames
Mix frames — don't pick three Social Proof hooks. Spread across Problem, Curiosity, and POV, for example. This tests which emotional lever wins, not which synonym wins.
Tip: Read each hook out loud. If it sounds like copywriting, rewrite it in plain speech.
How to do it with ppl.studio
The UGC Script Generator takes your hook + product and writes the rest in UGC-native voice — not copywriter voice. Run it once per hook.
- 4.1
Open the UGC Script Generator
You'll run it three times — once per hook. Keep all three outputs in the reference doc from Step 2.
- Free toolUGC Script Generator — 30s or 60s UGC script with timestamps, narration, on-screen text, shot list, and B-roll.
- 4.2
Paste your first hook + product description
The tool writes the first line of narration verbatim from your hook, then continues into problem, reveal, proof, and CTA beats.
- 4.3
Pick 30s for fast-decision products, 60s for consideration
30s is default for consumables (food, beauty, candles) — buyers decide fast. 60s is better for higher-consideration purchases (apparel, electronics, skincare routines) where you need to stack proof.
- 4.4
Review the shot list and on-screen text
Every line has a suggested shot type (wide, medium, close-up, detail) and optional on-screen text. The shot list is the skeleton for your storyboard in Step 9.
Tip: If the tool gives you 10 shots for a 30s spot, trim to 5–6. Too many shots feels frantic.
- 4.5
Repeat for your other two hooks
End of step: 3 full scripts. They don't need to be polished — the AI Expert delivers them in voice in Step 10.
Output: 3 scripts × 30s or 60s — timestamped, with shot list and on-screen text.
How to do it with ppl.studio
In ppl.studio, your "UGC creator" is an AI Expert — a persistent persona with a locked face and voice. Generate one from a niche prompt in ~10 minutes; reuse it across all future shoots.
- 5.1
Go to /personas in the dashboard
Click "Create expert" or "Add expert." Generate from a niche prompt, or build from scratch field by field.
- In-appAI Experts — Persistent AI personas — consistent face, voice, backstory, expertise, wardrobe.
- 5.2
Enter your niche + product type
Be specific — concrete niches produce more believable Experts.
Example
Good: "30-something new mom, organic baby-food buyer, values transparency." Vague: "Parents who care about health."
Tip: The face the AI generates first is usually the best — it's tuned to your niche. Only re-roll if something specific is wrong (age off, wrong skin tone for your audience).
- 5.3
Review the generated dossier
The Expert comes with face, backstory, catchphrases, wardrobe, and default voice notes. Read it end-to-end. Edit fields directly if anything doesn't match your audience.
- 5.4
Save the Expert
Give it a memorable name (you'll pick it by name in Workbench). Save to your library.
Tip: For your first brand, one Expert is enough for the whole catalog. Create additional Experts only when serving genuinely different audiences (B2B vs. parents).
- 5.5
Optional: grab the public profile link
Every Expert has a shareable /experts/[slug] page. Hand the URL to a collaborator or freelancer — they see the persona without logging in.
- In-appPublic Expert Profiles — Shareable profile page per Expert — hand the URL to a collaborator.
How to do it with ppl.studio
Drop assets into ppl.studio's Props Library once. They'll appear accurately in every future scene — correct colors, exact label placement, right proportions — without re-describing.
- 6.1
Go to /props
Click "Add props" or "Upload." Upload multiple images per prop — different angles help the AI render accurately.
- In-appProps Library — Upload products once, reuse across every scene with accurate colors and logo placement.
- 6.2
Upload product + packaging + accessories
Start with: the bare product (front angle), the product in packaging, and any accessories that might appear in scenes (lids, scoops, applicators).
Tip: White or transparent backgrounds work best. If you only have lifestyle photos, upload them anyway — the AI extracts the product.
- 6.3
Categorize each prop
Pick "handheld," "large object," or "ambient." Handheld = held by the Expert (candle, bottle). Large object = furniture-scale (car, yoga mat). Ambient = background (plant, laptop).
- 6.4
Name props clearly with SKU
You'll pick props by name in Workbench. Use SKU-level names.
Example
"9oz Vanilla Soy Candle" beats "candle." "Blue Logo Hoodie — Medium" beats "hoodie."
How to do it with ppl.studio
The Photo Prompt Generator writes prompts tuned for image models in UGC-specific vocabulary. You plug in the concept and persona; it outputs an optimized prompt.
- 7.1
Open the Photo Prompt Generator
The tool produces a prompt tuned to the image model — with the right scene, pose, lighting, and composition vocabulary baked in.
- Free toolAI Product Photo Prompt Generator — Optimized Gemini / Nano Banana image prompts. Copy-paste ready.
- 7.2
Pick scene category + persona for each concept
Categories: "kitchen counter," "gym," "outdoor cafe." Persona: match the Expert from Step 5. The tool blends both into an optimized prompt.
- 7.3
Generate 2–3 prompt variants per concept
Vary the scene (morning vs. evening light, kitchen vs. bathroom, close-up vs. wide). More variance = more testing signal in Meta Ads Manager later.
- 7.4
Paste all prompts into your reference doc
Number them (Concept 1 — Scene A, Concept 1 — Scene B, etc.). You'll paste them into Workbench in Step 8 and track winners in Step 12.
How to do it with ppl.studio
Workbench is the production engine. With your Expert and Props already locked in, each prompt becomes a ~60-second render. Use Visual Presets to keep lighting consistent across the whole campaign.
- 8.1
Open Workbench at /ugc
Pick your Expert from the dropdown, then open the Props panel and add the product.
- In-appWorkbench — Combine Expert + Props. Presets or custom prompts, pose + lighting control.
- 8.2
Paste your first prompt
The prompt box sits at the top. Paste a prompt from Step 7 — the Expert and Props are locked in, so the AI composes them into the scene.
- 8.3
Tune pose, lighting, location, and shot type
Workbench has preset controls on each axis. Start with structured presets before free-forming — they're tuned to produce ad-ready output.
- 8.4
Generate 3–5 variants per prompt
Click generate, wait ~60 seconds, repeat. Every render lands in Gallery automatically. Small differences in pose and lighting give you more ad test cells.
Tip: Save the best setting as a Visual Preset — one click reuses the same lighting and composition across all future prompts in the campaign.
- In-appVisual Presets — Reference-image presets — save lighting and composition, reuse across shoots.
- 8.5
Move to your next prompt and repeat
Work through all 6–9 prompts from Step 7. End of step: 30–45 images in Gallery, all tagged to your Expert and product.
Output: 30–45 photos (3 concepts × 2–3 scenes × 3–5 variants).
How to do it with ppl.studio
Storyboards in ppl.studio lets you either drag-and-drop Gallery frames manually or describe the sequence and let AI generate the full storyboard from one prompt.
- 9.1
Open /storyboards and create a new storyboard
Two paths: drag-and-drop frames manually from Gallery, or describe the sequence and let AI generate the storyboard from one prompt.
- In-appStoryboards — Multi-frame sequences for carousels and content series.
- 9.2
Pick your hero frame
Lock the hero (the first frame in the carousel). This is your hook visual — the image that has to survive the scroll test.
Tip: Match the hero to the hook you wrote in Step 3. If the hook is problem-framed ("tired of dry skin?"), the hero should show the problem.
- 9.3
Fill in the supporting frames
2–4 additional frames progressing: problem → reveal → proof → CTA. Each lives on its own in Gallery, so you can swap them freely.
- 9.4
Repeat for each concept
End of step: 3 storyboards total, one per ad concept.
How to do it with ppl.studio
Animate (VEO 3.1) turns a photo + script phrase into a talking-head video in under 2 minutes. Select your highest-variance photos so video budget is spent on variance, not duplicates.
- 10.1
Go to /animate
Select a photo from Gallery. Animate is on the Creator plan.
- In-appAnimate (VEO 3.1) — Photo → short-form talking-head video with captions. Creator plan.
- 10.2
Pick your highest-variance photos
Don't animate every photo. Pick the 3–5 frames that differ most (different hooks, different scenes). Video is more expensive to generate; spend budget on variance.
- 10.3
Paste the script's hook line
Animate speaks the line you paste. Use the first line of each script — that's your hook, and it plays in the first 1.5 seconds of the ad.
- 10.4
Enable burned-in captions
75% of short-form video is watched sound-off. Captions are non-negotiable. Enable before render.
- 10.5
Render and review
~60 seconds per render. Review in Gallery. If voice or mouth feels off, re-render with slightly different script phrasing.
Output: 3–5 videos, 9:16, MP4, 20–40 seconds each.
How to do it with ppl.studio
Gallery supports bulk export across all three ratios with a naming template — filter by Expert and campaign, then grab everything at once.
- 11.1
Go to /gallery
Filter by Expert or date to find this campaign's assets quickly.
- In-appGallery — Every generation lands here. Filter, bulk download, send to campaigns.
- 11.2
Bulk-select by concept
Select all photos + video for one concept. Meta's algorithm tests at the concept level; you'll group them this way in Ads Manager too.
- 11.3
Download in all 3 ratios
Export dropdown — 9:16, 1:1, 16:9. Save into separate folders by ratio. Reels + Stories = 9:16. Feed = 1:1 or 16:9.
- 11.4
Rename with campaign + concept + hook convention
Name like `campaign_concept1_hookA_9x16.mp4`. This is what you'll read in Ads Manager when one variant starts winning.
Example
candle-launch_concept2_problem-hook_9x16.mp4
Output: 9:16, 1:1, 16:9 — MP4 for video, JPG for photos.
How to do it with ppl.studio
Use the ROAS and Creative Fatigue Calculators to set targets before spend goes live, then launch in Meta Ads Manager. The calculators turn business math into specific dates and numbers.
- 12.1
Calculate your break-even ROAS
Before spending anything, plug AOV, margin, CPM, CTR, and CVR into the ROAS calculator. Output tells you the minimum ROAS you need to not lose money — your kill threshold for underperforming variants.
- Free toolBreak-Even ROAS Calculator — AOV, margin, CPM, CTR, CVR → break-even + target ROAS and creative volume needed.
- 12.2
Set up the campaign in Meta Ads Manager
Create a new campaign. Objective: Sales (or Conversions on older campaigns). Pick CBO for simple tests, ABO for more control.
- ExternalMeta Ads Manager — Launch, pixel, measure.
- 12.3
Upload variants as separate ads within one ad set
Put all 3 concepts × variants into a single ad set. Let Meta's algorithm find the winner. Don't fragment into multiple ad sets — that starves the conversion signal.
Tip: Meta needs ~50 conversions per ad set to exit learning. If your budget won't hit that in 7 days, either raise budget or cut variants.
- 12.4
Pick the correct aspect ratio per placement
9:16 for Reels/Stories, 1:1 for Feed. Meta auto-uses whichever matches the placement — uploading both is fine.
- 12.5
Set a fatigue-refresh schedule
Run the Fatigue Calculator with expected spend and audience size. Output tells you when frequency will drive CPA up. Block calendar time for that date to refresh creative.
- Free toolCreative Fatigue Calculator — Fatigue score, days until CPA drift, and a creative-refresh schedule.
- 12.6
Launch and monitor
Launch. Watch at variant level for the first 48 hours. Kill anything 50% under break-even ROAS after 1000+ impressions.
Compare against competitors
These competitors target the same outcome as this workflow — see where ppl.studio wins and where the gaps are.
FAQ
Common questions from first-time runners of this workflow.
How many ad variants should I launch at once?
Meta's algorithm needs at least 50 conversions per ad set to exit the learning phase, so structure tests at the angle/hook level rather than per-image. 3 angles × 3 hooks × 2 formats (photo + video) = 18 variants is a solid first test.
Do I need video, or can I run photos only?
Start with photos — cheaper and faster to iterate. Use Animate on your top photo winners once you've identified which hooks convert, so every second of video budget is spent on proven angles.
Can I do this with 10 free photos?
The free tier gets you to Step 8 — enough to preview one concept end-to-end. For a real ad test, upgrade to Creator ($1.99/week) for unlimited photos and Animate access.
How often should I run this workflow?
Plan on refreshing creative every 7–14 days for active campaigns — the Creative Fatigue Calculator in Step 12 sets the exact cadence. Each refresh reuses the same Expert and Props but should swap hooks and scenes.
Other workflows
Different goal, different funnel.
TikTok + Reels Short-Form Video
Hook-led 9:16 video with a consistent AI creator — blank page to posted in under 2 hours.
A universal short-form funnel — hook → script → cast → prep → produce → compose → animate → export → post — with the ppl.studio implementation for each stage. Run this 3× per week per Expert with different hooks and you have a working content engine.
Open workflow →E-commerce Product Listings
Lifestyle photos and A+ content for Amazon, Shopify, and marketplaces — without a photo shoot.
A universal e-commerce product-photo funnel — prep → cast → plan shots → produce → compose → export → publish — with the ppl.studio implementation for each stage. Turn one product upload into a full PDP, A+, and marketplace image set.
Open workflow →Ready to ship this workflow? Open it in the guided wizard — we'll walk you through every step with your product, your Expert, and your ads.
Use this workflow →