Before you start
- Live Facebook ad account or a competitor account you're auditing
- Access to Facebook Ad Library for reference examples
- Defined audience for the copy (cold prospect / warm retargeting / customer)
- A simple split-test framework so you measure copy variants in isolation
The playbook
9 steps
Lead with the hook, never the brand
The first 3-5 words of the primary text decide whether the user stops scrolling. **Brand-name-first openers consistently lose to hook-first openers** by 20-40% on CTR. 'Acme Corp helps marketing teams...' loses to 'Marketing leaders are firing one tool a quarter...' The hook earns the scroll-stop; the brand is identified later.
# Bad (brand-first): # "Acme Corp helps Shopify brands scale their paid social..." # Good (hook-first): # "Most Shopify brands waste 30% of their Meta budget on..." # Better (hook-first + specific): # "I audited 50 Shopify ad accounts. The same 3 mistakes cost them $1.2M last year."Expected outcome
Every ad's primary text opens with a hook, not a brand mention.
Match copy length to the click-through promise
Short copy (25-90 chars) wins when the visual carries the message and the click is the next obvious step. Long copy (300-1000+ chars) wins when the offer needs context (B2B SaaS, complex services, higher AOV). **Don't default to short or long - match the length to the friction of the conversion**. A $40 product needs less copy than a $4000 service.
Expected outcome
Copy length matches conversion friction; default isn't an arbitrary character count.
Open the headline with a specific number or claim
Numbers and specific claims outperform vague benefit statements. **'$3,200 saved on Meta spend per month'** beats 'Lower your ad costs.' **'47 new customers in 30 days'** beats 'Grow your business.' Specificity signals real proof; vague claims signal generic stock copy.
TipPull the specific numbers from your actual customer data. Made-up numbers get fact-checked by skeptical buyers; real numbers from a real customer hold up to scrutiny and double as case-study fodder.Expected outcome
Headlines include a specific number, percentage, or proof-anchored claim.
Write in second person ('you'), not third person
Facebook ads sell to the individual scrolling, not a market segment. **'You're spending $5k/mo on Meta and not sure if it's working'** beats 'Marketing teams struggle to measure Meta ROI.' Second person creates immediacy; third person creates distance. Distance is the enemy of CTR.
Expected outcome
Primary text uses 'you' / 'your' as the default pronoun.
Place the CTA in the last 1-2 sentences only
Don't bury 'Click here to learn more' in sentence 2 of a 5-sentence ad. The CTA goes in the final sentences - after the hook has earned the read and the body has built the case. Premature CTAs feel pushy; final-sentence CTAs feel earned.
Expected outcome
CTA appears only in the final 1-2 sentences of the primary text.
Use line breaks to make copy scannable
Walls of text die on Meta. **Two-sentence paragraphs maximum.** Line breaks between paragraphs. The first paragraph is the hook (1-2 sentences). Subsequent paragraphs build the case in scannable chunks. The mobile preview is your friend - if it looks like a wall on mobile, it dies on mobile.
# Good structure: # # [Hook - 1-2 sentences] # # [Proof or context - 1-2 sentences] # # [Specific outcome / number - 1 sentence] # # [CTA - 1 sentence]Expected outcome
Copy uses line breaks; no paragraph longer than 2 sentences.
Tailor copy to the audience temperature
**Cold (prospecting)**: hook-heavy, no jargon, no insider language. **Warm (retargeting site visitors)**: assume product awareness, lead with offer. **Hot (cart abandoners, customers)**: assume buying intent, lead with urgency or incentive. Running the same copy across all three temperatures wastes the warm/hot audiences' specific advantages.
Expected outcome
Per-audience-temperature copy variants; not one copy across all stages.
Test copy in isolated experiments, not bundled
Most teams change copy + visual + audience + bid at the same time and have no idea which change moved the metric. **One variable per test.** Same audience, same visual, two copy variants. Run for 7 days. Re-measure. The variant-isolation discipline is what makes copy learnings compound.
Expected outcome
Copy tests change only the copy; all other variables held constant.
Pull copy back into your swipe file when it works
When a copy variant outperforms, save it with full context: ad-set audience, visual paired with, outcome metric, the hook archetype it represents. **Your swipe file is the compounding asset** - month 6 of disciplined collection beats month 1 by 10x because you can pattern-match new tests against the corpus.
Expected outcome
Winning copy filed in a tagged swipe library with audience + visual + outcome metadata.
Shuttergen
Generate 5 copy variants from one hook.
Shuttergen takes your brief and customer-voice inputs and generates Facebook ad copy variants tuned to your audience temperature. Hook-first, specific, scannable - no 'discover the future of' openers.
Pitfalls
What goes wrong
Brand-name-first opener
Opens like 'Acme Corp helps...' lose to hook-first opens by 20-40% on CTR. Brand belongs after the hook, not before.
Vague benefit language
'Grow your business' / 'Boost your ROI' are interchangeable across 10,000 ads. Replace with specific numbers from real customer data.
Wall-of-text copy
Paragraphs over 2 sentences die on mobile. Use line breaks. Scannability is a CTR lever, not a stylistic choice.
Premature CTA
Burying 'Sign up now' in sentence 2 of a 5-sentence ad feels pushy and depresses engagement. CTA in final 1-2 sentences only.
One-copy-fits-all across temperatures
Cold, warm, and hot audiences need different copy. Running the same copy across all three wastes the warm/hot audiences' specific advantages and depresses overall ROAS.
Limits
When this playbook won't work
- Image-heavy creative where the visual carries the entire message and copy is decoration
- Highly regulated categories where copy must be locked to legal-approved language
- Sub-$50/day spend where the algorithm doesn't have signal to optimize against copy variants
- Categories where the creative format dominates copy (carousel-led product listings, dynamic product ads with auto-generated copy)
Why most Facebook ad copy reads identical to every other ad
Generic AI-style copy has saturated the platform. 'Discover the future of <category>' / 'Unlock your potential' / 'Transform your business' - these openers appear in tens of thousands of active ads. The user has been trained to scroll past anything that sounds like an ad, and generic copy signals ad-ness in the first 3 words.
The cure is specificity. Specific numbers, specific scenarios, specific voice. 'I lost $40k in Q1 testing the wrong creative' beats 'Don't waste your ad budget.' The specific opener earns 3 more seconds of attention; the generic opener earns none.
Voice is the under-leveraged dimension. Most brand copy is written in 'corporate brand voice' - calm, polished, generic. The copy that wins on Meta in 2026 is written in a single human voice (founder, expert, customer) with personality and specific phrasing. Voice is the differentiator hardest for competitors to copy.
Internal: best-practices-for-facebook-ads, how-to-use-facebook-ad-library.
Generate 5 copy variants from one hook. Shuttergen takes your brief and customer-voice inputs and generates Facebook ad copy variants tuned to your audience temperature. Hook-first, specific, scannable - no 'discover the future of' openers.
How to actually develop your copy voice
Pull from real customer language. Sales call transcripts, support tickets, review-site reviews, Reddit threads about your category - these are gold mines for the exact phrasing customers use about their problem. Copy written in customer language out-converts copy written in marketer language consistently.
Pick one voice per ad set, not one voice per ad. A founder's voice in one ad, a customer's voice in another, an expert's voice in a third. Each voice has a different angle; collectively they triangulate the offer from multiple directions. Don't mix voices within a single ad - it reads as confused.
Steal sentence structures from your top organic posts. Founders who do well on LinkedIn or Twitter already have a high-performing voice. Those sentence structures translate directly to Facebook ad copy. Repurposing top organic content as ad copy is one of the highest-leverage copy moves available.
Internal: ad-copy-generator, ad-script-generator.
FAQ
Frequently asked
What's the best length for Facebook ad copy?
Should I open Facebook ad copy with the brand name?
How do I write hooks for Facebook ads?
Where should the CTA go in Facebook ad copy?
How many copy variants should I test per ad set?
Does emoji use help Facebook ad copy?
How do I write Facebook ad copy that doesn't sound generic?
Related
Keep reading
Resource
Best practices for facebook ads
Broader Facebook ads best-practices guide.
Resource
Ad copy generator
Generate copy variants from a brief.
Resource
Ad script generator
Generate full video ad scripts.
Resource
How to use facebook ad library
Pull reference copy from the library.
Research
Anatomy Of Good Meta Ad Library
Real audit with copy teardowns.
Generate 5 copy variants from one hook.
Shuttergen takes your brief and customer-voice inputs and generates Facebook ad copy variants tuned to your audience temperature. Hook-first, specific, scannable - no 'discover the future of' openers.