What predicts D28 ROAS: day 0 value or CPA? A $606K test.

I am Samet Durgun, a fractional Head of UA. I run paid UA for subscription apps and mobile games and write up what I find in the accounts I manage. This piece sits under what signal engineering fixes; more about me.

Day 0 ROAS predicted day 28 ROAS better than cost per purchase did. I checked it on 38 Meta app campaigns and $606,462 of spend.

Two definitions first

These terms get used loosely, so I define both here.

D0 VO is value optimization against a day 0 revenue signal. The bidder is looking for users who spend money in the first 24 hours. For this app it runs on Meta’s standard purchase value, since a custom day 0 revenue event is not yet shared. And the app keeps monetizing well beyond day 0 thanks to its high value, so day 0 is an early signal here, and by no means the whole picture.

CPA optimization is cost per purchase. The bidder is looking for the cheapest purchase event it can find, and nothing in that objective tells it what the purchase was worth. When users keep paying after that first purchase, I find ROAS bidding usually beats purchase bidding on Meta.

The test

I ranked the same 38 campaigns both ways, then checked what each ranking actually returned by day 28 in the MMP. This ranks existing campaigns by two numbers. It does not show what a campaign would return if you switched its bidding from CPA to value.

Rank correlation with day 28 ROAS came out at +0.96 for day 0 value and -0.81 for cost per purchase. Some of the +0.96 is built in, since day 0 revenue is part of day 28 revenue and both ratios sit on the same spend.

Said another way, for any two campaigns from that account, day 0 value calls the better one 92 percent of the time and cost per purchase manages 80.

The gap opens when you get selective

Back all 38 campaigns and both rankings hand you the same account. Back the best 13 and the day 0 ranking returns 96.6 percent by day 28, against 85.9 for the CPA ranking.

38 campaigns, $606,462 of spend, April to June 2026. Adjust cohorts and Meta Ads Manager.

Caveats worth stating

April to June only, so day 28 is observed and not modeled, and it is one account. 38 campaigns is a direction, not a rule, so I would rerun it on your own data before moving budget.

One more thing to hold in mind. The best 13 were picked after the fact; moving budget toward them could change what they return.