About the analysis
Sweat Pants Agency is a Meta Premium Partner. We've managed close to $400M in ad spend over the life of the agency and currently run $4M to $8M a month across our portfolio. That vantage let us stop theorizing and check which levers inside Meta actually move the numbers that matter, and which just decorate a dashboard.
How we ran this research
- Population. US ecommerce (DTC) brands in our managed portfolio. Every brand is anonymized and referenced by vertical only.
- Method. Data pulled directly through the Meta MCP and analyzed with Claude Opus 4.8. Every result is computed from live account data.
- Sampling. Each test drew a sample sized to reach significance for its specific question, not run across the whole portfolio. Sample sizes stated on every finding.
- Rigor. Revenue is Meta-attributed. ROAS is never compared across brands (subscription and one-time-purchase economics aren't comparable), so all such analysis is within-account.
Finding 01 · Creative metrics
Hook rate and hold rate do not predict ROAS
Walk into any creative review and you'll hear it: "the hook rate is low, we need a stronger first three seconds." Whole creative strategies, and agency pitches, are built on thumb-stop ratio and watch-through. Across video ads in 11 brands we correlated each creative's metrics with the outcomes that pay the bills (CAC and ROAS), computed within each account and then pooled.
Hook rate and hold rate had essentially no relationship with either: hook rate landed at +0.06 vs CAC and −0.19 vs ROAS (slightly the wrong way), hold rate +0.05 and −0.10. CTR was just as flat. The single creative signal that tracked profit was post-click purchase conversion rate: −0.46 with CAC, +0.39 with ROAS, agreeing in 9 of 11 brands. AOV was close behind (+0.37 with ROAS).
Purchase conversion rate and AOV move with ROAS; hook rate, hold rate, retention, and CTR sit at or below zero. Video ads across 11 brands, pooled within-account. Watch metrics defined: hook rate = 3-second views ÷ impressions; hold rate = ThruPlays ÷ impressions; retention (watch-through) = ThruPlays ÷ 3-second views.
The mirror-image test is CPA. If a metric truly predicts profit, it should flip signs between the two charts (positive on ROAS, negative on CPA). Only purchase conversion rate does. Hook rate is the tell: it sits at −0.19 vs ROAS and +0.06 vs CPA, agreeing with itself that higher hook rate is, if anything, slightly worse for both.
Same 11 brands, mirror-image view. Only purchase conversion rate lowers CPA (−0.46). Hook rate slightly raises it (+0.06). Retention, CTR, and CPM are flat. AOV was not measured against CPA in this run. Read the two charts together: a metric that predicts profit should flip sign between them.
Why it happens. Meta optimizes delivery toward conversions, not attention. Hook and hold measure curiosity (whether the first frame stopped a scroll), which is a different thing from intent to buy. A pattern-interrupt hook can pull cheap views from people who were never going to purchase, inflating engagement while CAC stays flat or worse.
What to do
- Grade creative on post-click conversion rate and AOV. Put those two on the scorecard and demote the rest.
- Use hook rate diagnostically, not as a KPI. A weak first second might explain no delivery. But a high hook rate is never a reason to keep a losing ad.
- Kill the "we need higher hold rate" mandate. Optimize the click-to-purchase experience: offer, landing page, proof.
Finding 02 · Spend concentration
A tiny fraction of ads carries the whole account
Two camps argue past each other: "just make a few great ads" versus "flood the account with volume." Both miss what the delivery data actually looks like. Spend is brutally concentrated. Across the brands we examined, the top 5 ads captured 30–53% of all spend. In a full-year teardown of one account's 101 ads, the top 10% of ads took 77% of the budget, while 54% of ads never spent $100 and 72% never reached $500. Roughly half of everything launched was dead on arrival.
Full-year distribution of one account's 101 ads. Half never got a real audition; the top 10% took most of the budget. Winner-take-most is the shape.
Why it happens. Meta's delivery is a winner-take-most system. Once it finds an ad that converts for a given audience, it pours budget in and starves the rest. That's not a bug. It's the optimizer doing its job.
What to do
- Measure creative velocity in meaningful launches (ads that clear a real spend floor (say $250 in 7 days)), not raw ad count.
- Don't over-polish every asset to the same finish. Most won't earn delivery. Invest in a steady supply of testable concepts and in scaling the winners.
- Build reporting around the top 5–10 ads and the meaningful-launch rate, not the full roster.
Finding 03 · CVR pass-through
Meta reabsorbs most of a conversion-rate gain
Post-click purchase CVR is the one creative metric that predicts CAC and ROAS (Finding 01). The natural next assumption: double your CVR and CPA halves. The math looks airtight: CPA = cost per click ÷ conversion rate. Across 10 accounts, the elasticity of CPA to CVR was −0.35 (median), not the −1.0 that full pass-through would produce.
In plain terms: when conversion rate doubles, CPA falls only to about 78% of its prior level. That's a ~22% cut, not 50%. You keep roughly 40–45% of the improvement; Meta reabsorbs the rest. The signature was consistent: cost per click rose with conversion rate in all 10 accounts (median slope +0.65), while CPM barely moved (+0.17).
Full pass-through would put CPA at 50% of prior when CVR doubles. In reality it lands near 78%. Meta reabsorbs the rest, mostly through higher cost per click. 10 accounts.
Why it happens. Because CPC can only rise if CPM rises or CTR falls, we traced the mechanism. CTR falls: in all 10 accounts, higher-converting ads pull fewer but higher-intent clicks per impression. So each click costs more, and that rising click price eats most of the CVR gain before it reaches your CPA.
What to do
- Keep chasing conversion rate. It's still the highest-leverage creative and landing-page metric.
- Model ~40–45% pass-through when forecasting the CAC impact of a CVR test. A doubled CVR is a ~20% CPA win, not a 50% one.
- Rising CPC on your best ads isn't necessarily a problem. It's Meta pricing in in the quality you built.
Finding 04 · Scaling cost
Scaling has a near-fixed CAC tax, and small steps don't dodge it
"Scale in small steps, 10–20% at a time, to avoid spiking CAC." Around 511 budget increases across 10 brands, raising spend raised CAC by about 5–6% for the following week, at every jump size. A +10% bump carried roughly the same penalty as a +50%+ one. Directionally consistent in 8 of 10 brands, with wide magnitude variance.
A +10% bump carried roughly the same ~5–6% CAC penalty as a +50%+ one. The tax is closer to a fixed toll for moving than a penalty that scales with size. 511 events across 10 brands.
We re-ran the increases and tracked CAC out to 14 days. For a big jump (30%+), CAC stays 4–7% above baseline through the first ~9 days, peaks in days 6–9 (~+6.5%), and only settles back within ~3% of baseline in days 10–14. The "week-ish" tax is really closer to ~10 days.
CAC lift vs the prior 3-day baseline after a budget increase. Big jumps peak days 6–9 (~+6.5%) and only settle back within ~3% by days 10–14. 227 events across 10 brands.
Why it happens. Any meaningful budget change nudges the ad set back into exploration and pushes delivery into less efficient auctions. That cost is closer to a fixed toll for moving than a penalty that scales with size, which is why small steps don't dodge it.
What to do
- Stop tiptoeing. If the unit economics work at +5–6% CAC for a week and a half, fewer, larger increases are no worse per dollar than many small ones, and trigger fewer learning resets.
- Budget the ~5–6% CAC bump into your scaling plan and give each move about 10 days to settle before the next.
- Judge a scale decision on the blended week-and-a-half after, not the first jumpy day.
Finding 05 · Launch cadence
There's a "right amount" of launches, and the payoff is delayed
Two versions circulate: "launch more to bring CAC down this week," and its opposite, "volume just resets learning." Both treat launch volume as a same-week lever. Grouping each account's weeks into low / medium / high launch volume, medium-launch weeks had the best same-week CAC (standardized −0.24), high-launch weeks the worst (+0.08), and low weeks in between (−0.18).
Standardized same-week CAC by launch-volume tercile within each account. Medium-volume weeks (roughly 8–10 launches) beat both extremes. High-volume weeks are worst. 12 brands.
And the payoff from launching showed up about two weeks later, not the same week: heavier launch weeks were followed by better ROAS and lower CAC two weeks out (pooled median ROAS correlation +0.20, CAC −0.21), improving in 9 of 12 accounts.
In absolute terms the efficient cadence clustered around 8 to 10 new ads per week. The surprise: it did not scale with budget. Small accounts (under ~$15k/week) ran 8–16 launches per $10k; the largest accounts (over $50k/week) ran under 1 launch per $10k. The sweet spot is a fixed number of ads, not a fixed percentage of budget.
Launch cadence is roughly flat in absolute terms across brands, so launches per dollar drop steeply as spend rises. Bigger accounts feed proven winners rather than launch more. 12 brands.
What to do
- Aim for a steady ~8–10 launches per week. Don't scale test volume linearly with spend. Past ~$40–50k/week, put incremental dollars into proven ads.
- Judge a launch sprint on a ~2-week lag, not the same week. Reacting to same-week CAC will make you kill winners early.
- If same-week CAC jumps after a big drop of new creative, expect it. That's the learning phase, not a failure.
Free audit
Curious how your account scores on these levers?
We'll tear down your Meta account the way we did our portfolio and show you where the money actually is. No pitch, just the read.
Get a Free Ad Account AuditFinding 06 · CPM
High CPMs did not produce worse customers
"Our CPMs are too high" is one of the most common panic buttons in paid social. We split every video ad into low / mid / high CPM thirds within each account. CPA was flat across all three tiers ($80.3 / $79.3 / $78.9), and the most expensive-to-reach third had the best post-click conversion rate (2.9% vs 2.3%). Within-account, higher CPM even tracked slightly higher ROAS (positive in 9 of 11 brands).
Within-account CPM terciles. CPA is flat across all three. The high-CPM third has the best post-click conversion rate. 11 brands.
Why it happens. CPM is a price set by an auction, and the auction charges more to reach people more advertisers want. That frequently means higher-intent, higher-value audiences. When you chase a lower CPM you usually do it by broadening into cheaper, lower-intent inventory. You win the CPM line and lose the CAC line.
What to do
- Stop optimizing to CPM. Judge audiences and creative on CPA and ROAS, and let CPM float.
- Don't reject a creative or audience because its CPM is high. If it converts, the expensive impressions are paying for themselves.
- When someone flags "CPMs are up," ask what CPA and ROAS did. Usually the answer is "nothing," and there's no action to take.
Finding 07 · Ad survival
The first week is the cull. Survivors earn a real runway.
Following six launch cohorts across six brands over three months: ~74% of ads were still delivering after 7 days, ~62% after 14, and ~30% after 30. The first week does most of the killing. Clearing it changes the outlook. Ads that survive their first week run a median of roughly 3 more weeks, and a few evergreen winners run for months.
Percentage of a launch cohort still delivering after N days. The first week is the cull; the ads that survive it earn a median ~3-week runway. 6 cohorts across 6 brands.
What to do
- Stop judging new ads on day-one and day-two numbers. The week-1 cull is doing the sorting for you.
- Give week-1 survivors room to run instead of rotating them out on a fixed schedule. You're often killing ads that still had weeks left.
- Identify and protect evergreen winners. Don't sunset a still-profitable ad because it's "old."
Finding 08 · Picking winners
Meta ranks winners quickly. Naming the #1 takes longer.
"Meta knows the winner in 72 hours, so kill the early losers." Across 6 launch cohorts (6 brands), week-1 spend predicted an ad's eventual total spend at Spearman 0.49 to 0.94, averaging 0.79. So the early ranking is a strong signal. But the exact week-1 spend leader was the eventual #1 in only 1 of 6 cohorts. The front-runner usually got overtaken.
Why it happens. Early spend is Meta's best guess under uncertainty, and it keeps exploring. As more conversions come in, it revises, sometimes promoting the ad that was second or third out of the gate.
What to do
- Trust the rough ranking, not the #1. If an ad is clearly in the bottom group after a week, fine, but don't anoint the day-1 leader.
- Give a fresh batch a couple of weeks before culling. The eventual champion is often a slow starter.
- Don't restart tests just because the leaderboard reshuffled in week two. That's expected.
Finding 09 · Budget cuts
Cutting budget is not a clean mirror, and churning it doesn't help
"Cut spend and CAC snaps back." Cutting spend did not reliably lower CAC across 10 brands. Only large, rare cuts (30–50%) moved the pooled median down at all (−4% to −7%), and the direction flipped account to account. Separately, weeks with more frequent large budget swings showed no consistent CAC benefit (pooled correlation near zero, −0.05 across 10 brands).
Why it happens. Whether cutting helps depends on whether you were genuinely oversaturated, which is account-specific. Constant large changes keep resetting the learning phase; restlessness costs the stability efficient delivery needs.
What to do
- Cut hard only when you have real evidence of saturation (rising frequency plus falling marginal ROAS), not as a reflex.
- Reallocate with intent, not for motion's sake. Frequent big swings didn't buy efficiency.
- Prefer a smaller number of deliberate budget decisions to daily fiddling.
Finding 10 · Structure
Consolidation helps modestly. ABO vs CBO is a wash.
Endless threads argue over the "correct" account structure and ABO vs CBO. Across 17 brands, more active campaigns went with modestly lower ROAS (Spearman −0.38): the highest-ROAS accounts ran very few campaigns, while sprawling 97–100 campaign accounts sat mid-pack. On ABO vs CBO (16 brands): no clean winner. 7 brands run mostly ABO, 9 mostly CBO, both at high and low ROAS.
Fewer campaigns → modestly higher ROAS (Spearman −0.38). Consolidation concentrates the conversion signal Meta optimizes on. A tendency, not a law. 17 brands.
Why it happens. Splitting spend across many campaigns thins the conversion signal, so Meta optimizes each on sparser data. Consolidation concentrates that signal. Budget-optimization type is mostly a workflow preference. Both ABO and CBO can scale well.
What to do
- Lean toward a consolidated campaign layer (a few campaigns,, let ad sets do the spreading).
- Pick ABO or CBO to fit how you test and scale. Stop treating the choice as make-or-break.
- Spend the energy you'd waste on structure debates on creative and offer instead. That's where the ROAS signal actually lives.
Finding 11 · Format blend
Video-led, but not all-video
"Video is everything, go all-video." On a simple average across 10 brands, ~68% of spend and ~67% of ads were video (median ~77%). But the blend runs the whole range: two personal-care brands sat under 45% video (static carried the majority), while subscription and entertainment brands ran 90–100%. There is no single correct blend.
Average ~68%, median ~77%, but the blend runs 9–100%. Grooming and personal-care brands sit under 45%; subscription, entertainment, and pet brands run 90–100%. Format fit is category-specific. 10 brands.
In the 5 accounts running both formats at real volume, static and video were essentially at parity. Median static CPA within ~5% of video, ROAS ratio 0.99. In one account, static actually beat video (CPA 16% lower, ROAS 21% higher).
What to do
- Don't assume video is more efficient. In the accounts running both at real volume, static and video landed within ~5% on CAC and were even on ROAS.
- Blend by what your own CPA and ROAS show per account, not by a house rule.
- If your static share is near zero, that's a gap worth closing.
Finding 12 · Winners & format
Winners skew video, but that's mostly a production artifact
Across 7 brands, the top-10 spending ads leaned at least as video as the account overall in every case (pooled median 100% of top-10 spend was video vs ~84% across all ads (a +4.5-point skew)). But the largest skews came from accounts that had a real static tail the winners just didn't draw from. And one personal-care account was genuinely static-led (only 4 of its top 10 was video).
Read a video-heavy top-spend list as a reflection of what you produced, not proof that video converts better. On a like-for-like efficiency basis (Finding 11), it doesn't. Set your mix from each account's own CPA and ROAS.
Findings at a glance
| # | Question | Headline finding | Sample |
|---|---|---|---|
| 1 | Which creative metrics predict ROAS? | Hook rate, hold rate, and CTR sit at ~0 vs ROAS. Post-click purchase CVR is the only creative signal that tracks profit. | 11 brands |
| 2 | Do high CPMs hurt performance? | CPA was flat across CPM tiers ($80 / $79 / $79). The high-CPM third converted best. | 11 brands |
| 3 | How concentrated is spend? | Top 10% of ads captured 77% of spend. 54% never spent $100. | 5 + full-year deep dive |
| 4 | What's the CAC tax after a scale? | ~5–6% at every jump size. Peaks days 6–9. Clears by days 10–14. | 10 brands, 511 events |
| 5 | How fast does Meta pick a winner? | Week-1 spend predicts the eventual ranking (0.79 avg). Day-one leader won only 1 of 6. | 6 cohorts |
| 6 | How long do ads survive? | 74% alive at 7d, 62% at 14d, 30% at 30d. Survivors run ~3 more weeks. | 6 cohorts |
| 7 | Does launching more ads help? | Sweet spot at 8–10 launches/week. Payoff lands ~2 weeks later, not same week. | 12 brands |
| 8 | Does Meta reabsorb a CVR gain? | Elasticity −0.35. 2x CVR = ~22% CPA cut, not 50%. | 10 brands |
| 9 | Do budget cuts mirror increases? | No. Only large 30–50% cuts modestly lowered CAC. Churning budgets buys nothing. | 10 brands |
| 10 | Consolidated vs fragmented? | Fewer campaigns → modestly higher ROAS (Spearman −0.38). ABO vs CBO is a wash. | 16–17 brands |
| 11 | Image vs video blend? | ~68% of spend is video on average (median 77%). Range 9–100%. No universal blend. | 10 brands |
| 12 | Do winners skew video? | Top-10 over-indexes to video by ~4.5 pts, mostly because these accounts are already video-led. | 7 brands |
What we'd do with this
Every finding points the same way, and it's how we've run accounts for years: optimize for what makes money, not for what looks good on a dashboard. Grade creative on post-click conversion and AOV, not hook or hold. Stop fearing high CPM. Expect a few ads to carry the account and feed the machine enough meaningful launches to find them. Give week-1 survivors room. Scale when the math works, in fewer, larger steps. Keep structure lean.
It's why we optimize client accounts to net-new CPA, ROAS, MER, and LTV. here's how we run paid media on Meta.
Frequently asked questions
How was this research conducted?
Data pulled directly through the Meta MCP and analyzed with Claude Opus 4.8. Every figure is computed from live account data across US DTC ecommerce brands in our managed portfolio. Revenue is Meta-attributed. ROAS is never compared across brands (subscription and one-time-purchase economics aren't comparable), so all such analysis is within-account. Each test drew a sample sized to reach statistical significance for its specific question, from 2 brands (daily budget deep-dives) up to 18 brands (launch cadence).
Why doesn't hook rate predict ROAS if Meta shows it in every dashboard?
Meta optimizes delivery toward conversions, not attention. Hook rate measures curiosity (whether the first frame stopped a scroll) which is a different thing from intent to buy. A pattern-interrupt hook can pull cheap views from people who were never going to purchase, inflating engagement metrics while CAC stays flat or worse. In our 11-brand sample, hook rate landed at +0.06 vs CAC and −0.19 vs ROAS (slightly the wrong way). Judge creative on post-click purchase conversion rate and AOV.
If a doubled CVR only cuts CPA by ~22%, is landing-page optimization still worth it?
Yes. It's still the highest-leverage creative and post-click lever we found. It just isn't a one-for-one CAC lever. The mechanism is that higher-converting ads pull fewer but higher-intent clicks per impression, so CPC rises and eats about 55% of the CVR gain before it reaches CPA. Model ~40–45% pass-through when forecasting the CAC impact of a CVR test, not 100%.
Should I scale in small 10–20% increments to avoid the CAC tax?
No. Across 511 budget increases at 10 brands, a +10% bump carried roughly the same ~5–6% CAC penalty as a +50% one. The tax is closer to a fixed toll for moving than a penalty that scales with size. Fewer, larger, well-timed increases are no worse per dollar than many small ones, and they trigger fewer learning resets. Budget the tax in and give each move ~10 days to settle before the next.
What can't this research measure through the Meta MCP?
Two questions we wanted to answer aren't exposed by the current API: whether ads with multiple primary-text and headline variants beat single-variant ads (the creative endpoint returns only one body and one title), and FLEX vs non-FLEX performance (the flexible-format flag isn't surfaced). Both would require the raw Marketing API asset feed. We flagged both rather than guess.
Method & transparency
All brands anonymized and referenced by vertical only. Data pulled via the Meta MCP and analyzed with Claude Opus 4.8; every figure is computed from live account data. Revenue is Meta-attributed; ROAS is never compared across brands (subscription vs one-time-purchase economics aren't comparable), so all such analysis is within-account. Sample sizes stated per finding, from 2 brands for daily budget deep-dives up to 18 brands for launch cadence, 11 brands for the creative correlations, 10 brands for the CVR pass-through test, and 6 launch cohorts for the survival and winner-speed work. Ad-level analyses use a 90-day window; account-level analyses use 12 months.
What we could not measure with the Meta MCP. Two questions aren't exposed by the API today: whether ads with multiple primary-text and headline variants beat single-variant ads (the creative endpoint returns only one body and one title), and FLEX vs non-FLEX performance (the flexible-format flag isn't surfaced). Both would require the raw Marketing API asset feed. We'd rather say so than guess.
Want this analysis run on your account?
Give us access and we'll show you what's actually predicting your CAC, which ads are quietly wasting budget, and where the next winner is hiding. Free, and yours to keep.
Get a Free Ad Account AuditRelated research