Meta ads audit · FU Beauty
Dave, you asked where Fantastic You goes from here after dabbling in paid. Short answer: your offer and creative pulled a 3.97% link CTR — a rate most beauty brands would envy — and your tracking finally works. What broke was the media buying: bid rules plus a forced lifetime budget made the same ads cost up to 26× more than they did on launch day.
Same campaign, same six ads, same audience. On launch day three bid-rule saves told Meta to pay +33% for women 35–64, −90% for ages 18–34 (collapsing the "broad" 25–65 audience to its most expensive slice) and +20% for the six premium placements — while a $3,000 lifetime budget with an Oct 8 hard stop forced the spend out regardless of price.
Daily CPM, the toe-dip flight
$ per 1,000 impressions, Sep 24 – Oct 7, 2026
The flight averaged $170.01 CPM after day one (spend-weighted, $2,928.84 / 17,228 impressions). Day one under-delivered at $69.77 of spend, so lifetime-budget pacing bid up to catch up — into an audience the rules had already narrowed. Frequency stayed at 1.57: this was configured overpayment, not audience exhaustion. Every Apr–Jun campaign bought the same demographic at a $6.00–$13.46 CPM.
Never an industry average. With 5 tracked purchases ever, rates are directional — the structural grades are solid at any volume.
| Dimension | Grade | The number that decides it |
|---|---|---|
| Offer & pricing | A | $49 30-day trial, free 2-day shipping, no auto-subscription — in every headline. Your strongest asset. |
| Signal health | B | New dataset fires in real time, Purchase match quality 7.7 — but it's only 3½ weeks old. |
| Attribution consistency | B | One setting live (7d-click/1d-view); pre-September history ran 1-day-click, so old and new numbers can never be compared. |
| Creative & persona fit | C | Best ad hit a 13.06% CTR — but 100% of September spend ran one persona with zero audience signal in the copy. |
| Campaign structure | D | No always-on layer has ever existed; every campaign was a dated flight. $0/day since Oct 8. |
| Acquisition engine | D | $599.72 per attributed purchase; the customer list (1,000 people, built Sep 30) is used nowhere. |
| Audience construction | D | Broad + Advantage+ ON (right call) — then re-narrowed by bid rules. |
| Testing & learning | D | Zero experiments ever; three of six ads cut at $35–$379 spend with 0–1 purchases — below any read. |
| Budget allocation | D | A lifetime budget with a hard stop force-spent into a deteriorating auction. |
| Delivery efficiency | F | $140.04 flight CPM vs. $16.67 on day one of the same flight — same ads, same audience. |
Grades anchor to the account's own history and configuration, pulled read-only on Oct 18, 2026. Profitability is deliberately not graded — no margin inputs were supplied, and platform ROAS is never a substitute.
Nine campaigns lifetime, $7,992.52 total (Apr 6 – Oct 17). Every "Sales" campaign before September optimized its ad sets for link clicks on 1-day-click attribution — traffic campaigns wearing a Sales label.
| Era | What ran | Spend | What it could learn |
|---|---|---|---|
| Apr–Juncreator flights | Boosted nano-creator videos (Natalie $1,443.55, Christina $715.84, Amirah $586.02…), split by destination: your site vs. AmazonPlus two offer tests and a warm layer of video viewers — not past buyers | $4,993.91 | Nothing usable. The only pixel then in existence (created Jun 12) never fired once, and Amazon purchases are invisible to Meta by design. |
| Sep 24 – Oct 7"toe-dip" | 1 campaign, 1 ad set, 6 ads — purchase-optimized, broad US women 25–65, Advantage+ onThe first genuine acquisition attempt | $2,998.61 | The offer converts clicks (3.97% link CTR, 759 site visits) — but media cost swamped the read: 5 purchases at $599.72. |
0 of 23 ad sets ever cleared Meta's ~50 purchase events/week learning volume; 100% of spend sat below it. At this budget that is arithmetic, not a mistake — it bounds what any single flight can teach, and the plan below respects it.
June's creator videos carried a real persona: "encouraging women over 40, 50 and beyond to embrace an aging mindset." September's copy — pharmacist-made, small batches, kept cold, $49 trial — describes the product and never the buyer. Meanwhile September's bid rules paid +33% to reach women 35–64: the buying targeted the exact persona the copy never addressed.
The six ads, ranked
Full flight, Sep 24 – Oct 7 · Meta-attributed
| Ad | Spend | CPM | Purchases |
|---|---|---|---|
| ad-04-sq 13.06% CTR | $1,033.55 | $134.07 | 3 |
| ad-01-4-5 | $1,388.00 | $188.10 | 1 |
| ad-03-4-5 | $379.36 | $540.40 | 1 |
| ad-05-video | $116.09 | $74.37 | 0 |
| ad-06-4-5 | $46.42 | $59.90 | 0 |
| ad-02-carousel | $35.19 | $10.71 | 0 |
ad-04-sq is the creative to seed the next flight. Three ads were paused Oct 1 at $35–$379 — too little, at these CPMs, to call them losers.
What the copy and identities say
Measured from the creative records, not ad names
"FU Beauty's Pixel" (created Jun 12) recorded zero events, ever. Every dollar before Sep 23 ran unmeasured. Archive it so nothing binds to it again.
The new "Fantastic You Website" dataset fires in real time, browser + server, with email, name, zip, city and state at 100% coverage on checkout events.
The site records purchases every day of the Oct 11–18 sample — with zero ads live. The store converts; paid isn't the only engine. (AddPaymentInfo under-counts because express checkout skips it — that's Shop Pay, not a leak.)
No margin inputs were supplied, so this audit grades no profitability. Measured: $2,998.61 spend · 5 attributed purchases · observed AOV $62.35 (n=5, directional). Two steps complete it live:
1 · Your break-even CAC
AOV × contribution margin % — at the observed $62.35 AOV
| If margin is… | 50% | 60% | 70% |
|---|---|---|---|
| Break-even first-order CAC | $31.18 | $37.41 | $43.65 |
If the $49 trial is deliberately break-even-or-worse, the target becomes payback-window CAC and needs your repeat rate — a one-line change to the same math.
2 · What CAC the account can plausibly buy
Cost per site visit ÷ visit→purchase rate
| Cost per visit | at 0.66%measured | at 1.5%assumed | at 2.5%assumed |
|---|---|---|---|
| $3.95 — flight-measured | $599 | $263 | $158 |
| $0.79 — at day-one media rates | $120 | $53 | $32 |
Every cell but the top-left contains at least one labeled assumption; no number here is a forecast. The point: at day-one media costs, an ordinary premium-skincare conversion rate puts CAC in range of step 1. The next flight measures the bottom row instead of assuming it.
Current cost is a configuration result, not a saturation result — this account bought the same audience's attention at one-eighth the price inside the same flight. One clean, small, always-on flight answers, within weeks, the only question that matters: what a customer actually costs.
Next flight runs a daily budget, no end date, zero bid value rules. Advantage+ audience stays on — the audience definition was right.
Why: $2,641.65 of $2,998.61 was auction premium vs. the same ads' day-one rate.Those flights had no working measurement, so nothing they appeared to teach is usable. Treat Sep 23 as day zero, and send no paid traffic to Amazon you expect to read.
Why: $4,993.91 ran before the first working dataset existed.Pair the $49-trial offer with June's "women over 40, 50 and beyond" voice — 3–5 genuinely different openings, under creator identities. Re-secure the two lapsed permissions first.
Why: September's buying paid +33% for the audience its copy never addressed.One broad prospecting campaign at $50–100/day, reviewed weekly against the calculator above. Exclude the 1,000-person customer list as hygiene. If paid is deliberately paused, say so — that's a choice, not a defect.
Why: the account has been dark since Oct 8 while the site converts daily.One variable, read pre-committed: cut creatives on cost-per-visit after $150/ad at sane CPMs; persona verdicts wait for volume — use visit and cart rates in the interim. Seed with ad-04-sq. Fix the typos before launch.
Why: nothing this account has run could ever be read as a test.