Jukebox AI is an AI song generator by TwoWise, with a monthly ad budget in the six figures. The account was spending on 50 campaigns. In the first week their team rebuilt it into six, to my plan, and from then on ran it from a list I sent every Monday. In week 4 they cut the budget, and in week 5 they put the annual plan first on the paywall. After eight weeks, day 0 ROAS on the main campaigns was 2.4 times where it started.

This is the case for a fractional Head of UA next to a team that runs its own campaigns, and for reading the ad results of a subscription app together with its paywall. The chart shows the number after each change.
Where it started
In the month before the work the account spent on 50 different campaigns outside its creative and web tests, up to 34 in a single week with 63 ad sets between them. Almost all were worldwide campaigns optimized for purchase count, with several languages in each. Spread that thin, not one ad set reached 50 purchase events a week, Meta’s own count of purchases and the number it looks for before an ad set stops learning, and Meta sent the money to the countries where a purchase was cheapest. Inside one of those campaigns the best quarter of countries returned more than four times what the worst quarter did on Meta’s 7 day numbers.
Day 0 ROAS on the main campaigns had fallen by about 30 percent since the start of summer, and Meta’s weekly purchase ROAS had halved since spring. Jukebox sells weekly and yearly plans plus extra credits, so a cohort’s return keeps growing for months after install, and every day 0 figure on this page is an early reading.
How we worked
Their team ran the account and the product. I worked from their Meta and Adjust data and sent a list every Monday from week 3 with the ads to stop and the budgets to move, and the following Monday I checked it against what had gone live.
Day 0 ROAS, step by step
| Period | Index | Change before it |
|---|---|---|
| The month before, index 100 | 100 | Before the work |
| After the rebuild, weeks 2 and 3 | 124 | My plan, built by their team |
| After the budget cut, week 4 | 121 | The team’s own change |
| Paywall, first two weeks, weeks 5 and 6 | 224 | The team’s paywall and my weekly lists |
| The two weeks after, weeks 7 and 8 | 258 | The weekly lists, paywall unchanged |
The numbers
Across two four week windows, the second starting at the end of the first month, Meta reported 51 percent more purchase value on 13 percent less spend. Purchase ROAS rose 73 percent, iOS 65 percent and Android 83 percent. The number of purchase events stayed about the same, so the gain came from what each purchase was worth.
| Second four weeks against the first | |
|---|---|
| Meta purchase ROAS, all campaigns | +73% |
| iOS | +65% |
| Android | +83% |
| Day 0 ROAS, main campaigns, Adjust | +83% |
Step 1: from 50 campaigns to six
In the first week their team built six campaigns to my plan. iOS and Android ran apart, each split into the US, tier 1 markets and the rest of the world, with languages grouped inside. All six bid on purchase value, went live the next day and took over almost all the spend. By week 2 no main campaign bid on purchase count any more. In 13 matched comparisons from the account’s history, the same market and platform with different bidding, value bidding beat purchase count bidding by week 4 every time.
The ad sets came down with the campaigns, from 63 to 11 by week 4, and the typical one went from about 10 purchase events a week to 60 or more, so Meta had enough in each to learn from.
Cost per install roughly tripled, because the cheap installs came from countries that rarely paid. Day 0 ROAS rose by about a quarter before anything else on the account changed, and the two campaigns we left as they were fell over the same weeks.
None reached 50 purchase events in the week.
8 reached 50 purchase events in the week and carried about 90% of the spend.
| Week | Campaigns | Ad sets | Ad sets with 50 or more purchase events |
|---|---|---|---|
| The month before | 34 | 63 | 0 |
| Week 4 | 6 | 11 | 8, with about 90% of spend |
Step 2: the budget cut
In week 4 the team cut the budgets of five campaigns. I placed the cut campaign by campaign from the cohort data, and day 0 ROAS held. The next day six ads came out, each of them behind the rest of its ad set in every full week on Meta and at day 0 and day 7 in Adjust. Three of the six were the same creative in three ad sets. On this account Meta did not take that money back by itself. Five of the seven biggest losers in the first month still got at least half their spend the following week, so the stops went on the Monday list by hand.
Step 3: the paywall, and four weeks of Monday lists
In week 5 their team moved the annual plan to the front of the paywall. An annual buyer pays for the whole year on the first day, so part of what followed is timing, close to half of the day 0 rise on the cohort curve below.
The paywall was one of four things that landed in those weeks. The rebuilt campaigns finished their learning on value bidding, with 8 of the 11 ad sets past 50 purchase events a week by week 4. Losing ads came out every Monday. Budget moved on 14 day returns against the line for paying back within 90 days, always in a single step. And new concepts went through the gate before they touched a main campaign. Day 0 ROAS stood at 2.2 times the starting level in the first two weeks after the paywall and 2.6 times in the two weeks after that, and Meta’s weekly purchase ROAS climbed three weeks running. The paywall changed once, in one week, and the return kept climbing for three weeks after it, which is what the lists were for.
Return keeps growing for months
A cohort keeps paying long after install. On the cohorts from the spring before the work, return at 7 days was about twice day 0, at 28 days 2.7 times, and at 16 weeks 4.3 times, still rising when the data ends. The annual paywall changed the shape. More of a cohort’s money now arrives on day one, so the cohorts after it stood at 1.5 times day 0 by 14 days, against 2.0 before, and both lines are in the chart.
| Days | Spring cohorts | Cohorts before the paywall | Cohorts after the paywall |
|---|---|---|---|
| 0 | 1.0x | 1.2x | 2.3x |
| 1 | 1.1x | 1.4x | 2.5x |
| 3 | 1.3x | 1.5x | 2.6x |
| 7 | 1.9x | 2.2x | 3.3x |
| 14 | 2.2x | 2.5x | 3.5x |
| 28 | 2.7x | 3.2x | |
| 56 | 3.4x | ||
| 84 | 3.8x | ||
| 112 | 4.3x |
New creative went through a gate
Between April and early September 58 concept codes spent money on the account, and 15 of them reached the main campaigns without a test. New ads went straight into the main ad sets and took budget from the ads that were already working there.
From week 5 every new concept went through a cheap install test and then a purchase test. From week 6 the ones that passed got an ad set of their own inside each main campaign before they joined the proven ads. New ads reaching the main sets dropped from dozens a week to a handful. Translations needed a rule of their own. About two thirds of the translated versions opened in the first month barely ran, and an ad’s English result said nothing about how its translations would do, so I asked the team to translate an ad only after it had proven itself.
- Install testOne ad set per concept, in a cheap market
- Purchase testJudged on buyers
- Own ad setInside each main campaign, from week 6
- Main ad setsNext to the proven ads
Two good weeks before a concept scales
The passing bar came from the account’s own history. About three in four ads that beat their peers by more than 20 percent in one week stayed ahead of them over their lifetime. Among ads that did it in two separate weeks, 91 percent stayed ahead. The first stage of this kind of test is written out on this site.
What the numbers include
Meta’s purchase event on this account also counts renewals, so its ROAS is best read as Meta’s own score. Both windows fall inside the work, and the lower spend was the team’s decision. The rise from week 5 came in the same weeks as their paywall, the campaigns finishing their learning and the weekly lists, and no test on the account can split the three.
What it says
Their team made every change in the account, from a list I wrote each week out of the Meta, Adjust and paywall data. That split suits a team that already has people in the ad account and needs someone to make the calls.
In the client’s words
We were spending a six-figure monthly ad budget on Jukebox and could not clearly see whether the money was coming back. In the two months we worked with Samet the campaigns were rebuilt by market and platform, and for the first time we could see which country and which campaign paid its money back.
In numbers: Meta reported a purchase ROAS of 0.32 in the four weeks before the new structure and 0.55 in the four weeks after, with 13% less spend. In Adjust, day-0 ROAS on the main campaigns went from 0.25 to 0.46. Part of that came from our own product work, we pushed the annual plan harder in the same period. Samet helped us read the two together, so we could tell what came from the campaigns and what came from the paywall.
He is someone I trust. He has always been the first person we call.
Questions people ask
How much of the Jukebox result came from the campaigns?
The rebuild lifted day 0 ROAS by about a quarter before anything else changed, and it held through the team’s budget cut. The rise to 2.4 times the starting level came in the four weeks when the team’s annual paywall, the rebuilt campaigns finishing their learning on value bidding and the weekly lists all landed together. Close to half of the day 0 rise is annual plans paying up front, and the return kept climbing for three weeks after the paywall changed, so the lists did part of the work. Nobody can split it exactly.
Why cut Jukebox from 50 campaigns to six?
Meta learns inside each ad set and looks for about 50 purchase events a week before it stops learning. Spread over 63 ad sets, no ad set got there. By week 4, 8 of the 11 ad sets did, and they carried about 90 percent of the spend.
Did you run the Jukebox campaigns yourself?
Their team built and ran every campaign. I wrote the plan and sent the list of changes every Monday.
Why did cost per install go up on Jukebox?
The cheap installs came from countries that rarely paid. Bidding on purchase value bought about a third as many installs for the same money, and more of them paid.