All posts

Growth mechanics

ROAS rose 40%. The next dollar was the harder question.

In a consumer growth role, reported ROAS rose 40% in nine months while CAC fell 35% and LTV held. The result mattered because it had to survive three harder questions: what caused the movement, what would the next dollar return, and did the customers remain worth acquiring?

7 min read

A 40% ROAS increase looks complete in a slide. It is not a budget decision.

The number describes what an attribution system assigned to money already spent. The budget owner still has to decide what the next dollar is likely to return. Those are different jobs.

In that consumer growth role, I oversaw approximately $20 million in annual paid media—roughly half on Amazon and half across Meta and Google—and built the evergreen growth system across creative, landing pages, website experience, and acquisition. Over nine months, reported ROAS rose 40% while CAC fell 35% and LTV held. Pacing, conversion-lift validation, and channel allocation were part of the operating system behind that result.

No single lever gets causal credit for the entire movement. The useful lesson is the decision structure: ROAS could describe a change, but it could not approve the next budget move by itself.

The fraction is not the business

reported ROAS = attributed revenue / media spend

That fraction is useful. It is also full of policy choices.

“Attributed revenue” depends on a platform's window, identity matching, model, and rules for assigning credit. “Media spend” says nothing about product margin, discounts, fulfillment, returns, or the cost of serving the customer. A blended result may also mix new customers with people who were already likely to buy.

So do not begin with, “Why did ROAS improve?” Begin one level lower: which term moved, which mechanism could have moved it, and which independent measure could prove that explanation wrong?

Possible movementWhat the dashboard showsWhat could fool youUseful check
Traffic became cheaperMore visits for the same spendThe new audience may be less qualifiedNew-customer CAC and downstream behavior
Conversion improvedMore attributed revenue per visitA deeper offer may have bought the liftContribution margin, cancellations, and cohort quality
Average order value roseMore revenue per attributed orderBundles or discounts may change repeat behaviorMargin and LTV by acquisition cohort
Attribution changedROAS moves immediatelyNo customer behavior changed at allA stable comparison window and lift validation
Budget mix changedThe blended average improvesThe best historical segment may already be saturatedMarginal return by the next spend tranche
ROAS names the movement. The checks tell you whether the movement deserves more money.

The blended average cannot price the next dollar

Average ROAS answers a historical question: how much attributed revenue sat against all of the spend in the selected window? Allocation is a marginal question: what did the last increment of spend produce, and what is the next increment likely to produce?

FIRST $100K OF SPEND
attributed revenue     $300K
average ROAS           3.00

NEXT $20K OF SPEND
incremental revenue    $30K
marginal ROAS          1.50

BLENDED DASHBOARD
total revenue          $330K
total spend            $120K
average ROAS           2.75

The dashboard still shows a healthy 2.75. The latest dollars returned 1.50. If the business needs more than 1.50 to clear its contribution threshold, “the campaign has a 2.75 ROAS” is true and still produces the wrong scaling decision.

Pacing is how this becomes visible. Instead of treating the monthly budget as one block, examine spend in increments. Mark the point where reach, frequency, audience composition, conversion, or marginal return changes. A channel is not simply efficient or inefficient; it has a response curve, and the curve changes with spend.

This is why cutting a weak blended average can also be wrong. One pocket may still produce valuable new customers. The budget should move at the level where the mechanism changes—not necessarily at the level where the reporting hierarchy happens to end.

Attribution reports credit. Lift tests causation.

Platform attribution asks where a conversion should be recorded. Conversion lift asks a narrower question: how many more conversions happened because an eligible group received the advertising than would have happened without it?

incremental effect
= outcome among an exposed group
− estimated outcome for a comparable unexposed group

The actual study design matters—assignment, holdout quality, sample size, contamination, and confidence all shape the answer. But the operating consequence is simple: a channel can claim revenue it did not create.

Consider a customer who sees a retargeting ad after searching for the brand, visiting the site, and adding a product to the cart. The platform can correctly record the eventual order under its attribution rules. That does not prove the ad created the order. The distinction matters most when organic demand is strong enough for paid media to harvest it.

Lift validation should not become another ceremonial dashboard. It earns its cost when it can veto or redirect a budget decision. If the attributed winner produces weak incremental lift, do not argue with the experiment by pointing back to the attribution report. Change the audience, channel role, or spend level, then test the new claim.

Let each metric veto a different lie

The strongest part of that result was not that one number rose. It was that three measures moved—or held—in a compatible direction: ROAS up, CAC down, LTV stable.

MeasureQuestion it answersThe lie it can veto
ROASHow much revenue did the attribution system place against spend?“Spend is efficient” when attributed revenue did not move with it
New-customer CACWhat did it cost to acquire an actual new customer?“Growth improved” when the channel mostly recaptured existing demand
LTV by cohortDid the acquired customers retain economic value over the chosen window?“Cheaper customers are better” when lower cost came with lower quality
No trio of metrics is self-defining. CAC must specify “new customer,” and LTV needs a cohort, time window, and margin basis before comparisons mean anything.

These measures do not triangulate automatically. A company can calculate LTV from revenue, gross profit, or contribution profit. It can use an observed window or a modeled future value. CAC can include media only or the full acquisition cost. Change the definition and the story changes while the customer does nothing.

Write the definitions beside the result. If the denominator, cohort, and window are hidden in a spreadsheet tab, they will be forgotten in the meeting where the money moves.

Write the allocation decision before moving the budget

A budget memo should be small enough to read during the decision and precise enough to embarrass a weak inference. Use the same structure whether the move is $5,000 or $5 million.

OBSERVED
[metric] moved from ______ to ______ during [fixed window]

MECHANISM
We believe it moved because ______

ALTERNATIVE EXPLANATION
The same result could appear if ______

MOVE
Shift ______ from [source] to [destination]

MARGINAL EXPECTATION
The next tranche must return at least ______

VETO METRICS
new-customer CAC must ______
cohort LTV must ______
contribution margin must ______
incremental lift must ______

RECHECK
Read the fast response on ______
Read the customer-quality response on ______

STOP RULE
Reverse, hold, or redesign the move when ______

The alternative explanation is not academic caution. It tells the team what evidence to collect next. The veto metrics stop a channel-local win from becoming a business loss. The two recheck dates keep a fast signal from pretending to answer a slow question.

What held matters as much as what rose

Reported ROAS rose 40% over nine months. CAC fell 35%. LTV held. That is the résumé-level result. It does not prove which intervention contributed which percentage point, and it should not be stretched into that claim.

It does show the shape of a better growth decision. The reported efficiency gain did not arrive beside a higher CAC or an obvious decline in customer value. Pacing made the spend curve visible. Lift validation challenged attributed credit. Channel allocation treated budget as a product decision with an expected response and a stop rule.

The next time a slide says ROAS is up, ask four questions: Which term moved? What mechanism explains it? What did the last dollar return? Which metric is allowed to veto the win?

If nothing can veto it, ROAS is not a decision rule. It is a scoreboard.