Fourteen phases, five files, one folder per offer. This is how ads get researched, written, rendered, graded and launched inside my agency, and the prompt that gets you your first five.
Every ad I run for a clinic goes through the same folder in the same order. Not because I like process. Because the version without it was a pile of PNGs and a guess.
Here is the mistake I made for years. Start in the ad. Open a canvas, write a headline, argue about colours. The ad is phase six of fourteen. Everything before it decides whether it works.
The agent version of this is not a magic prompt. It is a brain: the rules of the category, the sixty one statics that already won, the sixteen angles with a source, the copy families, the compliance lines, and a grade. The model reads that, then makes ads. Without it you get brochure copy with a stock photo.
Four laws sit on top and never move. Nothing on an image that is not on the client's page or in a verified source. Every static follows the skeleton. Copy passes the anti-slop gate and the compliance gate. AI people must read human, or they do not ship.
Open Ads Manager, write something, boost it. No research trail, no launch document, the client sees a pile of images.
Five files in one folder: research, remix pack, copy, launch doc, workout plan. Nothing launches without all five and a CEO signature.
The brain does the reading and the first drafts. Every asset graded on ten points before the slate is picked. Winners multiplied by area, price shape and person before anything new is invented.
Open Ads Manager and write an ad.
Read what already runs, steal the architecture, write inside a proven skeleton, grade before you launch, multiply the winner.
| Role | Talks to you | Job |
|---|---|---|
| Research | Phases 0 to 3 | Fact sheet, Ad Library sweep, remix pack, forty angles |
| Make | Phases 4 to 8 | Strategy, copy, render, grade, sizes |
| Launch | Phases 9 to 13 | Benchmark, launch doc, client approval, paused build, weeks one to four |
Offer page, booking page, prices marked live or unapproved, portraits of the clinicians, logo, ad account and pixel ids, budget band. Build the client fact sheet before anything else. An unapproved price never appears on an ad.
In this order: your category's rules, your best organic posts, an Ad Library sweep of the offer plus the metro then the national chains, your last ninety days of account history ranked by cost per lead, and ten sentences in the customer's own words from reviews, intake forms or your inbox. Longevity is the winner signal. Research is reading what runs, not brainstorming.
Six to ten ads. For each: the architecture we steal and what we change. Borrow structure, never wording. Any phrase over five words matching the source fails the gate later.
Forty plus angles in six to eight groups, each scored for stopping the scroll and for booking. The patient is the hero and the headline is her sentence. One desire per ad. Open on a belief she already holds. The provider appears as a hand, a handpiece or a name line, with one credential ad per set.
Awareness level to objective to framework to format. A twelve cell matrix for wave one: four groups, three ads each. The skeleton for this offer: local strip, procedure in display type, one price shape, four compliant bullets, annotated treatment zone, CTA pill, address bar.
Families: mechanism, named area, comparison and safety, physician plus transparent price, curiosity list. Hook in the first 125 characters, headline under 40. Zero em dashes. Any financing figure carries example, term and APR. Run the anti-slop gate: stolen wording, brochure voice, contrast cliché, banned words, unearned claims, the anybody's-ad test. Two failures is a rewrite.
Render six to eight per batch with exact on-image strings in the prompt, real staff via identity lock when a portrait exists, review on a contact sheet, at most one refinement per image. If it looks AI, it does not ship.
Every asset on ten points: scroll stop 3, two second clarity 2, belief bridge 2, booking pull 1.5, visual 1, compliance 0.5. Tier A at 8.5 launches as is. B between 7 and 8.4 after the listed fix. C is benched.
Feed 4:5 and story 9:16 for every static, story centred in the safe zone, never auto cropped. One review page for the client with every ad as an in-feed mockup and an approve or changes button. Ask for three things: the slate, the claims, the budget.
A fresh sweep of what is live against ours, ranked fixes. A launch document with ten fixed sections and a CEO approval line. Build everything paused, UTMs on every ad, optimization on the real conversion, enhancements off. Activate on the explicit go.
Written before launch, not during. Week zero to four decision rules with a target cost per lead and a kill line. Nothing gets improvised at 9pm on a Tuesday.
Each phase has a done-when. If you have not hit it, do not start the next one. Every failure I have seen came from skipping ahead.
Paste these as written. They are short on purpose, because the long ones drift.
Act as my ad strategist. Here is my offer page: [URL]. Here is my booking page: [URL]. Rules: nothing on an ad that is not on those pages, no invented prices or claims, borrow structure never wording, zero em dashes, no banned words (game-changer, unlock, elevate, seamless, holistic, journey, empower, transformative, cutting-edge, revolutionary). Step 1: write the ideal customer in five lines and ten sentences she would say about the problem. Step 2: give me eight angles across fear and trust, identity, mechanism, comparison, price and offer, scored 1 to 5 for stopping the scroll and 1 to 5 for booking. Step 3: for the top five, write one primary text with the hook in the first 125 characters, one headline under 40 characters, and the on-image layout using this skeleton: local strip, procedure in display type, one price shape (only if the price is on my page), four benefit bullets in page language, a treatment-zone annotation, CTA pill, address. Step 4: grade each on ten points (scroll stop 3, clarity 2, belief bridge 2, booking pull 1.5, visual 1, compliance 0.5) and tell me which two to run first.
Search the Meta Ad Library for [offer] in [city], then three national chains in the category. For twenty ads log hook, format, angle, CTA, destination type and days running. Longest running wins. Then list the lanes nobody is claiming.
Score this ad on ten points: scroll stop 3, two second clarity 2, belief bridge 2, booking pull 1.5, visual 1, compliance 0.5. Name the single fix that moves it most.
Take this winning ad and produce four variants: same layout with a different treatment area, a different price shape, a different person, a different city strip. Change nothing else.
Every one of these has happened to me or to someone I set this up for.
| Failure | Fix |
|---|---|
| Six beautiful ads, none with a price, a city or a CTA | Put them inside the skeleton; editorial photography inside the direct response layout |
| Copy that reads like the clinic's brochure | Anti-slop gate, customer sentences verbatim |
| A price on an ad the client never approved | Fact sheet marks every price live or unapproved |
| The doctor bigger than the patient | Patient is the hero; provider is a hand, a handpiece or a name line |
| Launched live, argued about it after | Everything paused, CEO approval line, workout plan first |
| Story placement auto cropped from the feed image | Both sizes, story built inside the safe zone |
| New concepts every week while a winner sat idle | Multiply the winner first |
It carries the order of operations, the four laws, the skeleton, the angle rules, the copy families with the anti-slop gate, the ten point rubric and the launch doc sections. Hand it to your agent with your offer page and it produces the research brief and the first slate in that order, and it refuses to put a price on an image that is not live on your page.
--- name: meta-ads-agent-workflow description: Runs the DLF Meta ads workflow for one offer, fourteen phases in a fixed order with five mandatory files, the four laws, the static skeleton from 61 winners, copy families with the anti-slop gate, a ten point grade, and a pre-written workout plan. Trigger on "make ads for my offer", "build my ad slate", "research my category", "grade these ads". --- # Meta Ads Agent Workflow Ads are phase six of fourteen. Do the phases in order. Every phase writes a numbered file into one campaign folder: `campaigns/<client>-<offer>-<MMDD>/`. ## The four laws (never break) 1. Nothing on an image that is not on the client's page or in a verified source. 2. Every static follows the skeleton unless the brief says native. 3. Copy passes the anti-slop gate and the compliance gate. 4. AI people must read human. If it looks AI it does not ship. ## Phases and files | Phase | File | Done when | | --- | --- | --- | | 0 Intake | client fact sheet | every price marked live or unapproved | | 1 Research | 01-research.md | 20+ library ads with days running, 10 customer sentences verbatim | | 2 Remix | 02-remix-pack.md | 6 to 10 ads, architecture stolen, wording never | | 3 Angles | 10-angle-bank.md, 11-roster.md | 40+ angles scored CTR 1 to 5 and BOOK 1 to 5 | | 4 Strategy | 09-creative-strategy.md, 06-creative-framework.md | 12 cell matrix, skeleton locked | | 5 Copy | 03-copy.md, 03-scripts.md | families x variants, gate passed | | 6 Produce | creative/ | 6 to 8 per batch, contact sheet, one refinement max | | 7 Grade | 12-scorecard.md | every asset scored on 10 points | | 8 Sizes | creative/feed, creative/story | 4:5 and 9:16, story inside the safe zone | | 9 Benchmark | 13-library-benchmark.md | us vs live, ranked fixes | | 10 Launch doc | 04-launch-doc.md, 05-workout-plan.md | CEO approval line | | 11 Client | review page | slate, claims, budget approved | | 12 Build | build-manifest.json | everything paused, pre-flight every box | | 13 Weeks 1 to 4 | workout plan | decisions from the plan, not from feelings | ## Research order (phase 1) Category rules, then best organic posts, then Ad Library sweep (offer + metro, then national chains, then same-avatar adjacent offers), then last 90 days of account history ranked by cost per lead, then customer language verbatim. Longevity is the winner signal. ## Angle laws (phase 3) The patient is the hero and the headline is her sentence. Provider as hand, handpiece or name line; one credential ad per set. Open on a belief she already holds. One desire per ad. Groups: fear and trust, identity, mechanism, comparison, zones, recovery and timing, price and offer, seasonal. Keep a do-not-run list. ## The skeleton (phase 4) Top to bottom: local strip "NOW AVAILABLE IN <CITY>"; procedure or area in display type; one line promise; ONE price shape (starting at / $X off / strike-through), only if live; four benefit bullets in page-approved language; person on the opposite side with dashed treatment-zone lines and two small arrows; small CTA pill; address bar. Multiply: same layout x area x price shape x person. Four to five variants per procedure. ## Copy (phase 5) Families: A mechanism, B named area, C comparison and safety, D physician plus transparent price, E curiosity list. Per creative one primary text (hook in first 125 characters) and one headline under 40. Never multi-text. Enhancements off. Financing figures carry example, term and APR. Naming `[id]-[format]-[hook]-[avatar]-[offer]-[MMDD]`, utm_content = ad name. Anti-slop gate, two failures is a rewrite: stolen wording over five words (auto fail), brochure voice, more than one contrast cliché, banned words (game-changer, unlock, elevate, seamless, holistic, journey, empower, transformative, cutting-edge, revolutionary), any em dash, unearned claims, the anybody's-ad test. ## Grade (phase 7) Scroll stop 3, two second clarity 2, belief bridge 2, booking pull 1.5, visual 1, compliance 0.5. Tier A 8.5+ ships as is. B 7 to 8.4 after the listed fix. C benched. Wave one is twelve cells from A and B, three per group. ## Launch doc sections (phase 10) Offer and destination; who we are talking to; positioning stack; angles tested; creative slate; campaign structure; test structure; success metrics with target and kill CPL; launch date and hands-off window; link to workout plan. `Approved: <name> <date>` before any build. ## Pre-flight (phase 12) All entities paused. Destination returns 200 and a test lead reaches the CRM. UTMs on every ad. Both sizes mapped to placements. Optimization on the live custom conversion. Exclusions attached. Naming matches. Standard Enhancements off. Activate only on the explicit go.
The ad brain, the skeleton PDF and the launch SOP are what my ad managers run every week. Inside the AI CEO Lab the Demand Engine module walks the whole thing with your offer.