Facebook Ad Examples: What Makes a Good One
6 annotated Facebook ad examples for small businesses, including one ad shown rejected, bland and good, plus the rules, the numbers and the checks that decide whether an ad works.
Most small business accounts I audit have the same ad in them. A nice photo, the business name, a word like quality or trusted, a phone number. It ran for weeks and brought in a handful of leads nobody could reach. It wasn't ugly. It was aimed at nobody.
This guide shows you what a good Facebook ad looks like with 6 annotated examples, including one ad written 3 ways: rejected under Meta's rules, bland, and good. You also get the fill-in template, the policy lines that get ads rejected, benchmark context from a dated study, and the numbers to judge an ad by. It's written for small business owners and the agencies that run their ads. I'm a doctor who runs an ad agency, so health businesses show up, but most examples aren't medical.
New to Facebook ads? Start with the next section. Already running ads? Skip to step 3 for the first example, or step 7 for the rest.
What you have by the end
Not concepts. Things that exist on your machine when you close the tab.
- One ad of yours rewritten from bland to good with the fill-in template
- A check of every line against Meta's personal attributes rule before you publish
- 10 sentences your customers wrote, in a file your AI can read
- Live ads that cover at least 3 awareness stages, not only the ready-to-buy crowd
- A target cost per lead worked out from what a customer is worth, not a benchmark
- 15 ads from one filming session, and a record of which hook won
Start here: what makes a Facebook ad good, in plain English
If you've never run an ad, 4 ideas make the rest of this page easy.
The 5 parts of every Facebook ad
Every Facebook or Instagram ad has the same parts. The hook is the image or the first 3 seconds of video. The primary text sits above it and says who it's for. The headline sits under it and states the offer. The button is one action, like Book Now. The destination is the page or form people land on.
A good ad gives each part one job and makes them agree. A bad ad usually fails at the hook, so nobody reads the rest.
What changed: your ad now picks the audience
You used to pick the audience with interests and ages. Now most accounts run broad and let Meta decide who sees each ad. In December 2024 Meta's engineering team described Andromeda, the system that narrows millions of eligible ads down to the few a person might see. Meta says it was built to handle fast growth in the number of ad creatives.
Ad buyers read that as the creative is the targeting. Jared Robinson's post-Andromeda strategy video (about 186,000 views) and Ben Heath's February 2026 testing video (about 88,000 views) both push varied creative over audience settings (view counts checked 15 September 2026). In practice, the words and the face in your ad decide who it reaches. The one person you write for is the targeting control you have left.
What good means here
A good Facebook ad does 4 things. It stops the right person, not everyone. It speaks to one stage of awareness, from people who don't know they have a problem to people ready to buy. It's specific enough that it couldn't run for another business in another city. And it passes Meta's review.
It's judged on the leads your CRM counts and what they turn into, not on likes, and not on the lead count Meta reports.
The catch
None of this rescues a weak offer. If the price, the service or the first step is wrong, a better hook gets you cheaper clicks from people who still don't buy.
And benchmarks are averages, not targets. The table below is from LocaliQ's 2025 Facebook advertising benchmarks, published 24 October 2025 with WordStream data. It shows leads campaigns only. Use it to spot a number that's far off, then judge your ads against the math in step 9.
| Industry (leads campaigns, LocaliQ 2025) | Average CTR | Average cost per click | Average cost per lead |
|---|---|---|---|
| All industries | 2.59% | $1.92 | $27.66 |
| Real estate | 3.75% | $1.57 | $16.61 |
| Attorneys and legal services | 2.11% | $4.10 | $18.17 |
| Home and home improvement | 1.94% | $2.23 | $41.26 |
| Physicians and surgeons | 3.02% | $2.23 | $47.47 |
| Beauty and personal care | 2.55% | $3.06 | $51.42 |
| Health and fitness | 1.72% | $2.64 | $52.98 |
| Dentists and dental services | 1.05% | $9.78 | $76.71 |
| Term | What it means |
|---|---|
| Hook | The image or first 3 seconds of video. Its only job is to stop the right person |
| Primary text | The words above the image or video |
| Headline | The bold line under the image, usually the offer |
| Button (call to action) | The single action, like Book Now, Get Quote or Sign Up |
| Destination | The page, form or chat people land on after tapping |
| CTR (click-through rate) | Clicks divided by impressions, as a percentage |
| CPC | Cost per click |
| Cost per lead | Spend divided by leads. Count leads in your CRM, not only in Ads Manager |
| Hook rate | 3-second video plays divided by impressions. Meta reports the plays; you do the division |
| Awareness stage | How much the person already knows: unaware, problem aware, solution aware, product aware, most aware |
| Broad targeting | Few or no audience limits, so Meta picks who sees the ad |
| Andromeda | Meta's system that narrows all eligible ads down to the few a person might see |
| Advantage+ creative enhancements | Meta's automatic edits to your ad, like swapping text or adding music |
| Meta Ad Library | Meta's free public search of every active ad, with start dates |
| Personal attributes | Traits like health, age, religion or money trouble that an ad can't say or imply the reader has |
| Frequency | Average number of times each person saw the ad |
| Learning phase | The period after launch or a big edit while Meta's delivery is still unstable |
| Kill line | The cost per lead at which you pause an ad, written before launch |
| Pixel and Conversions API | The code and server connection that send website events back to Meta |
| BAA | Business associate agreement, the HIPAA contract a health business signs with a vendor that handles patient data |
Aren't Facebook ads broken right now?
Everyone online says lead costs jumped this month. Why fix my ad if the platform is the problem?
On 14 September 2026 a r/FacebookAds thread titled "Never seen it this bad" drew dozens of advertisers reporting higher lead costs and lower reach. I can't see from outside what changed inside Meta, and nobody posting there can either. Three things stay in your control:
- Your count. Judge ads on the leads your CRM records and what they turn into, not on the platform's numbers alone.
- Your coverage. If every live ad talks to people ready to buy, costs climb when that small group runs out, whatever the platform does.
- Your offer. A price or first step people don't want looks like a broken platform from inside Ads Manager.
If all 3 check out and costs still jumped, wait for enough leads to read the change before you rebuild anything.
From zero to a good Facebook ad, with 6 annotated examples
1. Get the account ready before you write anything
You need a Facebook Page for the business, an ad account in Meta Ads Manager with a payment method, and a way to count leads outside Meta, like your CRM.
Then set 2 things up before the first ad. First, check Advantage+ creative enhancements on each ad. Meta says some creative enhancements may be on by default, and its help page shows how to turn them off. Several r/FacebookAds posts in early September 2026 reported the toggle not staying off, so check the preview of every ad before it publishes.
Second, name every ad by format, hook, person, offer and date, and set utm_content in the URL to the ad name so your CRM can report by creative.
Why: you can't learn which words won if Meta rewrote them, and you can't compare ads your CRM can't tell apart.
2. Learn the 2 policy lines that get small business ads rejected
Personal attributes. Meta's privacy violations and personal attributes policy (last updated 26 June 2024, checked 15 September 2026) says an ad can't assert or imply that the reader has a personal attribute. That covers health and medical conditions, age, religion, sexual orientation, disability, money trouble and more. The usual trap is "you" plus a condition. Meta's own examples allow "Depression counseling" but reject "Depression getting you down?" and reject "Are you bankrupt?"
Health and wellness. Meta's health and wellness policy (last updated 22 July 2026, checked 15 September 2026) requires ads for weight loss products and cosmetic procedures to target people 18 or older. It bans negative statements that attack someone's appearance or body parts, and close-ups like pinching fat. Before-and-after images for cosmetic procedures are allowed for adults under that policy. My own rule is stricter: only a real, consented, unretouched pair, never a generated one.
If you're a health business, one more line: tracking. No treatment name or body area in any pixel event, URL or Conversions API payload unless you hold a business associate agreement (BAA) with whoever receives it. The HHS bulletin on online tracking technologies is the primary source, but it isn't settled law. In June 2024 a federal court in American Hospital Association v. Becerra vacated the part about public pages, where a tracker links an IP address to a visit about a health condition, and HHS dropped its appeal in August 2024. The rest of the bulletin wasn't vacated. I keep the rule anyway, because a treatment name tied to a person is still the risk; ask your own counsel how it applies.
Why: a rejected ad costs you days, and repeated rejections can put restrictions on the account. Meta reviews every ad, so no wording guarantees approval, but these lines cover the rejections I see most.
3. Your first task: the same ad, 3 ways
Example 1: a physical therapy clinic, written 3 ways. Illustrative example written for this guide. Not a real client ad, and no result is implied.
Rejected: "Is your back pain ruining your mornings? Our physical therapists in [city] will fix it for good." "Your back pain" implies the reader has a health condition, the same pattern as Meta's rejected "Depression getting you down?" And "fix it for good" is a promise nobody can prove.
Bland: "[Clinic name] offers expert physical therapy with state-of-the-art equipment. Conveniently located. Book today!" Nothing breaks a rule. It could run for any clinic in any city, so it stops nobody.
Good: The image is [therapist name] mid-assessment at the clinic, not a stock photo. Primary text: "Back pain that's worst when you first get out of bed is one of the most common things we assess at [clinic name] in [city]. Your first visit is a [45]-minute assessment with [therapist name], a licensed physical therapist. You leave with a written plan and a price, and there's no pressure to book again. First visit: [price]." Headline: "First visit: [price], [45] minutes." Button: Book Now. Destination: a booking page that shows the same price.
Why the good one works: it talks about the condition, not about the reader, so it doesn't imply anyone has it. It names a moment people recognize. A real, named person does the work. The price removes the reason to wait. And the honest limit, no pressure to book again, is the trust beat.
Now do the same with one of your own ads. Paste it into the template below, or give the prompt to Claude.
Why: rewriting one ad you already run shows you the gap faster than writing a new one.
HOOK (the image or first 3 seconds): [the moment, in your customer's words] PRIMARY TEXT: [what you see often, about the thing, not the reader] + [what happens at the first visit or purchase] + [who does it, by name] + [the price or the exact next step] + [one honest limit] HEADLINE: [the offer in 8 words or fewer] BUTTON: [Book Now / Get Quote / Sign Up / Learn More] DESTINATION: [a page that repeats the headline and the price] CHECK: does any line say or imply the reader has a health condition, an age, a religion, money trouble or another personal attribute? Rewrite it about the thing. # prompt for Claude Here is my current Facebook ad: [paste primary text, headline, button, destination]. My business: [what you sell] in [city]. My real proof: [named person, price, any guarantee you offer today]. Rewrite it 3 ways: a version Meta would likely reject under its personal attributes policy, a bland version, and a good version. For each, explain why in one sentence. Use only facts I gave you and leave [brackets] for anything missing. No em dashes.
4. Read what already runs in your market
Open the Meta Ad Library. Search your service plus your city, then 3 or more national brands in your category. Longevity is the winner signal: nobody keeps paying for a loser for months. Note how long each ad has run and log the hook, stage, offer and destination for the 20 longest runners. Borrow structure, never wording.
A connected agent can run this search for you; connecting Claude to your Facebook ads covers the safe setup.
Why: the ads that have run longest in your market are the closest thing to free, pre-tested examples you'll find.
Search the Meta Ad Library for [service] in [city], then 3 or more national brands in my category. For each ad: the hook, format, awareness stage, offer, destination, and days running. Rank by days running and tell me why the top 5 have lasted. Skip influencer partnerships I can't copy. List the stages nobody in my city is serving. Don't copy any phrase longer than 5 words.
5. Write the one person, in their own words
Not homeowners 35 to 55 in [city]. One person. Their AC died in July and the first quote felt like a sales pitch. Write them in a sentence they'd say.
If you can't, open your inbox, reviews and intake forms and copy 10 sentences customers wrote themselves. The ad borrows them word for word. If they sit in your DMs, Instagram DM automation keeps them in one inbox. Paraphrase is where brochure voice comes from. Do this today: paste those 10 sentences into a file your AI reads.
Why: with broad targeting, the words in the ad are what tell Meta who to show it to.
6. Pick one awareness stage per ad
These are Eugene Schwartz's 5 stages, and each ad serves one.
Unaware: they don't think they have a problem. Use a pattern interrupt.
Problem aware: the problem bothers them and they think nothing works. Name it plainly.
Solution aware: they know fixes exist, not yours. Show how yours works.
Product aware: they've seen you and aren't convinced. Proof and honesty.
Most aware: they're ready. The offer, the price, the date.
In the accounts I audit, the usual pattern is a handful of ads, all written for the most aware, the smallest group in the city. Broad delivery finds that group and runs out of it. That's what a plateau often is.
Why: the stage decides what the hook has to say. The examples below are grouped by stage so you can copy the right one.
7. Examples for cold audiences: problem and solution aware
Illustrative example written for this guide. Not a real client ad, and no result is implied. Each applies to all 3 below.
Example 2: a heating and cooling company, problem aware, single image.
Image: a technician holding a written diagnostic sheet in a real customer's driveway, with the text "Repair or replace? Get it in writing."
Primary text: "A new system quote before anyone checks [the capacitor and refrigerant level] is worth a second look. [Company] runs a [price] diagnostic in [city] and tells you in writing whether it's a repair or a replacement. If it's a repair, the diagnostic comes off the bill." Headline: "[Price] diagnostic, answer in writing." Button: Get Quote. Destination: a 3-question form.
Why it works: it opens on a belief the reader already holds, that contractors upsell. The mechanism is specific. The price is visible. There's one action. Change for yours: swap in the check your trade does that others skip, and only promise the credit if you offer it.
Example 3: a dental practice, solution aware, 30-second video.
Hook, spoken by the dentist on camera: "Clear aligners or braces? Here's how I decide." Body: the 3 things the scan shows, in plain words, then one honest admission: "Aligners aren't right for every bite, and I'll tell you if yours isn't." Primary text: "Dr. [name] at [practice] explains how a [price or free] scan visit answers the aligners question in one appointment." Headline: "Aligners or braces: one visit to find out." Button: Book Now.
Why it works: solution-aware people know options exist, so the ad shows how the choice gets made. A named dentist is the proof. It never says "your crooked teeth", which would attack appearance and imply a condition. Change for yours: use the decision your customers struggle with most.
Example 4: a med spa, solution aware, 5-card carousel.
Card 1: "What [treatment] costs at [clinic], before you call." Card 2: the price range and what's included. Card 3: how long it takes and the downtime. Card 4: who does it, by name and license. Card 5: "Book a consult. [Price] comes off the treatment." Primary text: "Prices, downtime and who treats you, on one screen. [Clinic], [city]." Headline: "[Treatment] prices, no phone call." Button: Book Now. Audience: 18 and older.
Why it works: price transparency answers the question people are afraid to ask on the phone. Each card has one job. It meets the health and wellness rule on age and makes no statement about how anyone looks. Change for yours: any service with a price menu works as a carousel. For more versions of one idea, see ad creative variations.
Why: cold audiences need the problem or the mechanism before they care about you.
8. Examples for warm audiences: product and most aware
Illustrative example written for this guide. Not a real client ad, and no result is implied. Each applies to both below.
Example 5: a home cleaning company, product aware, owner on camera.
Hook: "We're not the cheapest cleaning company in [city]. Here's why people pay more." Body: 3 specifics you deliver, like [the same cleaner every visit], [a photo checklist after each clean] and [a free re-clean within 24 hours]. Then: "If price is your only filter, we're probably not the right fit." Headline: "Same cleaner, every visit." Button: Get Quote. Audience: people who visited your site or watched your videos.
Why it works: product-aware people have seen you and have one objection left, usually price. The ad names it first. The specifics are proof, and telling some people not to buy is what makes the rest believe it. Change for yours: every specific has to be true today. If it isn't, don't write it.
Example 6: a fitness studio, most aware, single image with a date.
Image: the real studio floor with the text "Intro week starts [date]." Primary text: "[Studio name] intro week: [3] classes for [price], starting [date]. [Number] spots, because that's how many the room holds." Headline: "[3] classes, [price], starts [date]." Button: Sign Up. Destination: checkout, not the home page.
Why it works: most-aware people need the offer, the date and one step. The limit has a real reason. It sells classes, not weight loss, so it stays clear of body statements. If you do mention weight loss, the health and wellness policy requires 18 and older. Change for yours: only use a deadline or a spot count that's real.
Want these rendered as images or video with AI? Write the brief first, then see AI-generated ads.
Why: warm audiences already know the problem. Repeating it wastes the hook.
9. Work out your number before you touch a budget
Without this, you can't write a kill line (the cost per lead at which you pause an ad). Answer 3 questions: what's a customer worth to you over time, what would you happily pay once to get one, and how many leads does it take to make one customer. Divide what you'd pay by leads per customer.
With made-up example numbers: a $2,000 customer, $400 you'd pay for one, and 1 in 10 leads becoming a customer gives a $40 ceiling. Use your own. Judge every ad against that number on your CRM count.
For context only: LocaliQ's 2025 benchmarks (published 24 October 2025) put the average leads campaign at a 2.59% click-through rate and $27.66 per lead, with industry averages from $16.61 for real estate to $76.71 for dentists. Those are averages from one study, not a target or a guarantee. The trap is capping at a benchmark and calling a profitable campaign broken.
Why: the right cost per lead depends on your margin and your close rate, which no study knows.
python3 - <<'EOF'
customer_value = 2000 # what one customer is worth to you
would_pay = 400 # what you would happily pay once to get one
leads_per_customer = 10 # how many leads it takes to make one
print(f"target cost per lead: ${would_pay/leads_per_customer:.2f}")
print(f"break-even per lead: ${customer_value/leads_per_customer:.2f}")
EOF
# target cost per lead: $40.00
# break-even per lead: $200.00
# No terminal? Do the same division on a calculator.10. Get 15 ads out of one hour, then test one thing at a time
Most advice answers creative volume with hundreds of AI variations. For a local business, my answer is a filming format: 5 hooks x 1 body x 3 endings = 15 ads from one sitting.
Film 5 hooks of 3 to 5 seconds back to back in the same outfit. Film one body of about 50 seconds, under 160 words, that never repeats a hook, because it has to follow all 5. Film 3 endings: book with the location named, a free resource that takes 90 seconds, and a one-word comment trigger, only if the comment-to-DM automation behind it is live. Each body carries one honest admission, like results vary or it isn't for everyone.
Before you write the hooks, choose angles that have won on client accounts my agency runs: named problem area, price transparency, paid first visit, payments as low as, us versus them, mechanism, segment of one, the real named owner or expert, honesty, qualifier hook, city hook. Test every hook once: could it run for any business in any city? If yes, cut it.
Launch with one variable per test at ad level, enhancements off, one primary text and one headline per ad. The top-ranked ad-building videos often do the opposite, which is defensible for ecommerce with big budgets. With a few leads a week you need isolation to know which words won.
Read results in order: hook rate (3-second video plays divided by impressions), cost per lead by ending, cost per customer overall, then after week 2 the best hook, body and ending together. How long you wait depends on conversion volume, not the calendar; Meta's learning phase guidance ties stable delivery to the number of optimization events.
Why: one sitting keeps the person and setting identical, so the hook is the only thing that changes.
Here are [N] hooks for my [service] ad: [paste]. For each: 6 words or fewer? Names the person, moment or mechanism? Challenges something they believe? Could it run for any business in any city? Does it say or imply the reader has a personal attribute? Score it, name what's missing, rewrite it once. Keep my customers' words. No em dashes.
11. Read a plateau as a missing stage
When cost per lead climbs, list every live ad with the stage it serves. All product aware and most aware? The fix is a problem aware or solution aware ad, not more budget.
The rule of thumb I use on client accounts, not a Meta limit: frequency over 2.5 on a 7-day window on cold traffic, with a falling click rate, is fatigue. Put a new hook on the same body, which you already filmed. Frequency alone is never the signal; the Meta ads audit judges it by stage.
No connector? Export the last 30 days at ad level with spend, frequency, CTR, results, cost per result and primary text, and give your AI the file.
The honest limit: once frequency on cold climbs while reach stays flat, the next lever is a new service, person or price shape, not a 15th hook.
Why: more budget on the wrong stage buys the same small group again.
Here are my live ads for the last 30 days with primary text and results: [paste]. Name the awareness stage each ad serves and which stages have no ad. Separate fatigue (my rule of thumb: 7-day frequency over 2.5 on cold, with a falling click rate) from wrong stage (rising cost per lead, flat frequency). I get about [N] leads a week. How long must I wait before this is readable? Recommend the next ad: its stage, the belief it opens on, and 3 hooks.
If this happens, do this
Every one of these has happened to me or to someone I set this up for.
| Failure | Fix |
|---|---|
| Ad rejected for personal attributes | Rewrite every "you" line about the thing, not the reader: "Back pain in the morning" instead of "Is your back pain..." |
| Every ad is written for people ready to buy | Write one problem aware and one solution aware ad before adding budget |
| Still stacking interests | Go broad and put the targeting in the words |
| Kill line copied from a benchmark | Customer value, what you'd pay for one, leads per customer. Write it before launch |
| Hook works for any business in any city | Name the person, the moment or the mechanism, or cut it |
| Meta rewrote your text or added music | Check Advantage+ creative enhancements on each ad and the preview before it publishes |
| Comment-trigger ending with no automation behind it | Build the automation first, or that ending doesn't ship |
| Treatment name in a URL or pixel event (health businesses) | Opaque campaign codes only, unless you have a signed BAA |
| Judged a new ad on day 2 with a few leads a week | The wait scales with conversion volume. State it before launch |
The tools I use for this
| Tool | What it is for here | |
|---|---|---|
| Meta Ad Library | Free. Where you read what already runs, and where longevity tells you what works. | Open |
| Meta Ads Manager | Where the ad is built and tested, one variable at a time, enhancements checked. | Open |
| Claude | Where the ad gets rewritten 3 ways and the hooks get graded. | Open |
| GoHighLevel † | The inbox the customer sentences come from, and the lead count every ad is judged on. | Get it |
What I'd tell you over coffee
- Reels that already did well organically are pre-tested. Add a 5 to 10 second call to action and run them as ads.
- Keep a second Instagram account that follows only your niche. The feed shows you what's being promoted right now.
- File the brief next to the ad. In a few weeks you won't remember why it exists, and neither will the person who replaces you.
- Running ads for clients? Give every client the same brief and the same naming, so one person can audit 10 accounts. AI for marketing agencies shows how I run that across a team.
Questions people ask
What makes a good Facebook ad?
A hook that stops one specific person, text written for one awareness stage, a clear offer, one button, and a page that matches the ad. It has to be specific enough that it couldn't run for another business, and it has to pass Meta's rules on personal attributes. The examples in steps 3, 7 and 8 show each part.
What is a good CTR for Facebook ads?
For context, LocaliQ's 2025 benchmarks (published 24 October 2025) report an average click-through rate of 1.71% for traffic campaigns and 2.59% for leads campaigns, with leads averages from 1.05% for dentists to 3.75% for real estate. Those are one study's averages, not a pass mark. A good CTR is one that brings leads who become customers under your target cost per lead.
What does a good Facebook ad look like?
It looks like it belongs in the feed: a real person or a real place, not a stock photo or a template. Text on the image is short. The first 3 seconds of a video say who it's for. See example 1 in step 3 for the same ad shown rejected, bland and good.
What type of Facebook ad works best?
There isn't one best format. Match it to the job: video of a real, named person for trust and explaining how something works, a single image for a clear offer with a date or price, and a carousel for a price menu or steps. Test the format against the stage, one variable at a time.
How much should I spend on a Facebook ad?
Start from your numbers, not a benchmark: what you'd pay for one customer divided by the leads it takes to get one gives your target cost per lead (step 9). Budget enough to get several leads a week per test, or you can't read the result. Meta's daily budget help page says spend can run up to 25% over the daily budget on some days but no more than 7 times it in a week (checked 15 September 2026).
What is a good Facebook ad frequency?
Meta doesn't publish a limit. My rule of thumb on client accounts is that a 7-day frequency over 2.5 on cold traffic, together with a falling click rate, means fatigue. Frequency on its own isn't the signal. Step 11 shows how to tell fatigue from a missing stage.
What should a Facebook ad for a dentist or chiropractor say?
Talk about the condition or the decision, never about the reader having it. "Morning back stiffness is one of the most common things we assess" passes where "Is your back killing you?" implies a health condition under Meta's personal attributes policy. Then show a named clinician, the first visit and the price, like examples 1 and 3.
The free skill
It makes your AI refuse to write an ad until the brief exists. It asks 5 questions in order, places the person on one awareness stage, writes the ad rejected, bland and good so you can see the difference, checks every line against Meta's personal attributes and health rules, grades every hook, and writes the kill line before launch. Related guides: ad creative variations and Meta ads audit.
---
name: what-makes-an-ad-good
description: Refuses to write a Facebook or Instagram ad until a one-page brief exists. Asks 5 questions in order (the one person, their awareness stage, the desire and the belief the ad opens on, the angle and format, the one variable being tested), writes the ad 3 ways (likely rejected, bland, good) so the difference is visible, checks every line against Meta's personal attributes and health and wellness rules, grades every hook, and writes the kill line before launch. Also diagnoses a plateaued account by the awareness stage each live ad serves. Trigger on "brief my ad", "write my facebook ad", "why is this ad not working", "which stage is my account missing", "grade these hooks".
---
# The Ad Brief
You brief one ad for a small business: a local service, a clinic, a studio, a shop, or an agency's client. You don't write copy, render an image or suggest a budget until the brief exists. If the user asks for an ad first, say the brief comes first and start question 1.
Never invent a fact, price, review, statistic, guarantee or customer story. If a fact is missing, leave a bracket like [price] and say what's missing. Any example ad you write is illustrative. Never present it as a real client ad or imply a result.
## The 5 questions, in order, one at a time
### 1. Who is the one person
Not a demographic. One customer in one moment, in a sentence they'd say out loud ("the first AC quote felt like a sales pitch"). If the user has customer sentences from their inbox, reviews or intake forms, read those first and pick the person from them. Borrow their words verbatim later. Paraphrase is where brochure voice comes from.
### 2. Which awareness stage are they on
Eugene Schwartz's 5 stages. State the stage and what it needs:
- Unaware: doesn't think they have a problem. Needs a pattern interrupt or curiosity.
- Problem aware: the problem bothers them, they think nothing works. Needs the problem named plainly.
- Solution aware: knows fixes exist, not this one. Needs the mechanism.
- Product aware: has seen the business, isn't convinced. Needs proof and honesty.
- Most aware: ready. Needs the offer, the price, the date.
One ad serves one stage. Most small business accounts only have most aware ads. Say so if you see it.
### 3. The desire and the belief
The service is never the desire. Name the one desire under it (confidence, relief, control, time). Then name the belief they already hold that the ad opens on ("contractors upsell", "creams did nothing", "cheap cleaners cancel"). Start where they are and move them one step. Never open with a claim they don't believe.
### 4. Angle, hook, format
Pick the angle from the strongest proof the business has:
- Mechanism: how it works is the story.
- Honesty or named expert: trust is the gap. Publish the limits, say results vary.
- Price transparency: they're afraid to ask on the phone.
- Comparison: they're weighing options.
- Named problem area: they have one thing they want fixed.
- Never a testimonial, before and after, deadline or spot count the business doesn't have.
Write 6 hooks of 6 words or fewer. Each must be specific and pass the anybody's-ad test: if it could run for any business in any city, reject it and say why. Prefer the customer's sentence over yours.
Format: video of a real, named person for trust and mechanism; a single image for an offer with a price or date; a carousel for a price menu or steps. Real staff over models. Enhancements checked off. A static must not look like a template.
### 5. What is being tested
State the one variable this ad isolates, the number that proves it (judged on the CRM lead count, never the platform's alone), the target cost per lead, and the kill line. If the user hasn't given a target, work it out: what they'd pay once for a customer, divided by leads per customer. Benchmarks are context, never the target; if you cite one, name the study and its date. Set the hands-off window from lead volume, not the calendar, and state it.
## Write it 3 ways
Before the final version, show the ad as:
1. Likely rejected: the version that says or implies the reader has a personal attribute ("Is your back pain...", "Are you in debt?"). Name the rule it breaks.
2. Bland: passes every rule, could run for anyone. Name why it stops nobody.
3. Good: about the thing, not the reader; a named moment; a named person; the price or exact next step; one honest limit.
Use this shape for the good one:
```
HOOK: the moment, in the customer's words
PRIMARY TEXT: what you see often + what happens first + who does it + price or next step + one honest limit
HEADLINE: the offer in 8 words or fewer
BUTTON: one action
DESTINATION: a page that repeats the headline and the price
```
## The 2 gates (run on every line before returning)
Anti-slop. 2 failures means rewrite:
- No phrase over 5 words borrowed from any source.
- No brochure voice ("we offer", "state of the art", "conveniently located").
- No banned words: game-changer, unlock, elevate, seamless, holistic, journey, empower, transformative, cutting-edge, revolutionary.
- Zero em dashes.
- No claim without a number, a mechanism or an honest scope.
- The anybody's-ad test.
Compliance, every line:
- Personal attributes (Meta Advertising Standards): never assert or imply the reader has a health or medical condition, age, religion, sexual orientation, disability, financial trouble or similar. "You" plus a condition is the usual failure. Talk about the condition, not the person. Meta reviews every ad, so never promise approval.
- Health and wellness: weight loss products and cosmetic procedures target 18 and older. No statements attacking appearance or body parts, no pinched-fat close-ups.
- Nothing on the ad that isn't on the business's page or in a verified source.
- No cure, treat, guarantee or prevent-illness language. No drug brand names on screen.
- Before and after only if real, consented, unretouched, same lighting, with "individual results vary". Never generated.
- Any monthly payment carries an example, the term, the APR and "subject to eligibility".
- No review-count overlay or star rating unless the count is real and attributable.
- A comment-trigger ending only if the automation behind it is live.
- Health businesses, pixel rule: no treatment name or body area in any pixel event, URL or Conversions API payload without a signed business associate agreement. Opaque campaign codes only. The HHS tracking bulletin was partly vacated by a federal court in June 2024; tell the user to ask their own counsel, and keep the rule anyway.
## Output: the one-page brief
```
PERSON: their sentence
STAGE: one of 5, and what it needs
DESIRE: one
OPENS ON: the belief they already hold
ANGLE: which, and the proof it rests on
HOOKS: 6, each with pass or fail and why
THREE WAYS: rejected (rule broken), bland (why), good (full ad)
FORMAT: placement, native notes, enhancements checked
TEST: the variable, the proving number, the kill line, the hands-off window
MISSING FACTS: brackets the user must fill
```
## Plateau mode
If the user gives you live ads (read-only connection, an export, or pasted primary text and results): name the stage each ad serves and why, and list the stages with no ad. Separate fatigue (a rule of thumb, not a Meta limit: 7-day frequency over 2.5 on cold with a falling click rate, fixed by a new hook on the same body) from wrong stage (fixed by a new ad at the missing stage). Recommend the one ad to write next, its stage, its opening belief and 3 hooks. Never grade an ad whose copy you can't see. Say so instead.
Want the brief written against your offer, with the ads rendered from it?
Inside the AI CEO Lab the Demand Engine module walks this brief on your own offer, then hands it to the ad brain that renders the slate and grades it before anything launches.