An outside agency ran paid media for FX Replay through most of 2025, and on the surface the account looked healthy. Signups were cheap and the volume kept climbing. The number underneath, the one that pays the bills, had been sitting at zero for eight months.
FX Replay is a charting and backtesting platform that traders use to test strategies against historical market data. I ran growth there as its CMO, an engagement I have written up in full in the flagship FX Replay case study.
That piece covers the whole arc, from broken measurement to 2.6x ARR. This one zooms into a single chapter of it: what the agency era looked like once the data was honest, and what changed when I pulled paid media in-house in November 2025.
For most of 2025 an outside agency handled the paid accounts on Google and Meta. By the numbers the agency reported against, the work looked fine.
Cost per signup was low and drifting lower. Signup volume grew. Spend sat at a steady state of about $48,000 a month across the two platforms, a figure everyone had gotten comfortable with.
If you only read the top of the dashboard, there was nothing to fix.
The problem lived one layer down, where the account stopped reporting. The platforms were optimizing to the signup, the cheapest event in the funnel, because signup was the event the account nominated as the conversion goal to bid toward, and nothing past the signup was tied back to a campaign.
So the record the platforms kept of their own subscriber performance was a straight line of zeros.
Eight months of zeros
From early April to the middle of December 2025, Google campaign data shows zero attributed subscribers and zero attributed subscriber revenue, every single week, on weekly spend that climbed as high as $10,000 and $11,000. Meta reads the same way: zero attributed subscribers until the middle of December.
Zero sat on the scoreboard for eight months and nobody flinched, because the number the agency was hired to move kept going up.
It is worth being fair about why. The agency was hired to make signups cheaper and more plentiful, and it did exactly that.
The scoreboard it was measured on stayed green. The subscriber line lived somewhere else on the screen, if it was on the screen at all, and no report put the two next to each other.
A team can watch a healthy dashboard for the better part of a year while the thing that actually matters goes untouched, because the dashboard was never built to show it.
The campaign that spent $73,500
One artifact from that stretch carries the whole story on its own. The agency ran a worldwide search campaign, aimed at the entire world and optimized to leads.
Between April 9 and December 18, 2025, it spent about $73,500. While it ran, its subscriber column read zero, week after week. Even the year-end export, with months of backfilled conversion modeling working in its favor, finds almost nothing there.
The full-year country report shows where the money pooled. Brazil took about $14,000 of the campaign's spend and returned three subscribers. Pakistan took $6,300, bought 3,200 signups, and returned zero.
Angola, Bangladesh, and Mozambique took between $4,200 and $5,300 each, thousands of signups between them, zero subscribers. India, Nigeria, and Ethiopia added another $5,400 and 4,000 more signups: zero again.
Across those eight markets, $40,000 of spend bought 14,400 signups at a few dollars apiece and produced three paying subscribers, which prices a subscriber at about $13,400 where the division works at all. The same account, in the same export, paid $51 per subscriber in the United States.
One campaign bought twenty-seven thousand nine hundred signups across the whole world. Sixteen ever became subscribers. Cheap signups were the most expensive thing in the account.
Chart the two series together and the shape of the problem is hard to miss. The spend bars run the whole way across the year. The attributed revenue line lies flat on the floor until the very end, then lifts off in the space of two weeks.
What the zeros actually were
The zeros were an artifact of how the account was wired. The platforms could see an account get created and nothing after it, so a campaign's subscribers had no path back to the campaign that earned them.
Repairing that is a measurement job, and I have written up the mechanics separately in a piece on rebuilding marketing attribution. The short version is that you define the real value events once and report them from the backend, so the platforms optimize toward a paying subscriber.
For this story the mechanics matter less than the consequence. As long as the optimizer was pointed at account creation, account creation was what it would keep delivering.
There is one more way to see the damage. The business grew right through this stretch, and new-subscriber revenue climbed across 2025 while the zeros piled up, which sounds like a defense of the spend until you decompose the growth.
It traced to the email engine, the affiliate program, and the shift to annual plans, the rebuilds the flagship case study walks through.
The one channel whose contribution could not be found anywhere in that growth was the one absorbing $48,000 a month, and the geo mix explains why: a signup from a market that never produces a subscriber adds nothing to revenue at any price.
Taking it in-house
In November 2025 I moved the paid accounts in-house. The work was less exotic than it sounds.
I rebuilt the campaign structures to optimize to purchase instead of signup, so the platforms were finally hunting for people who pay rather than people who register.
I concentrated spend on the handful of geographies that actually produced subscribers, after a country-level audit found spend pooling in markets that generated signups and never a subscriber. And I wired subscriber attribution end to end, so that when a campaign earned a paying customer, the platform learned about it.
We changed the event the platforms optimized to before we touched a single ad. The platforms did most of the rest.
I did not have to out-buy the agency to beat it. When I ran the in-house structure against the agency's structure in a live test, the in-house build won head to head on both trial and purchase conversion, on the same channels and the same audiences.
The difference was the target. One structure was chasing the cheapest possible signup across the whole planet; the other was chasing a subscriber in the markets where subscribers came from.
What happened when the platforms could see
The rebuild went in through November, and subscriber attribution came online in the middle of December. The channels started reporting almost immediately.
In the last two weeks of December, Google went from eight months of zero to roughly 150% new-business return on spend. Meta, which had also read zero all year, tracked 213 subscribers in one week and 617 the next.
Same platforms, same kind of money, a scoreboard that could finally see past the signup.
The pattern held into 2026. Through the first nineteen weeks of the year, Google's new-business return on spend held above 115% in most weeks.
Across Google and Meta together, paid produced more than 8,500 directly attributed subscribers at a blended new-business return of about 144%.
Directly attributed is the strict count, the subscribers a specific campaign can prove it earned. Counting every channel, paid and organic, the same nineteen weeks brought in several times that many new subscribers.
The scoreboard is the job
It would be tempting to file this under bad agency. That reading misses the point. The agency was competent and delivered exactly what it was asked to deliver.
It was handed a scoreboard that ended at signup, and it played to that scoreboard the way any rational operator would. If the number you ask someone to move stops short of revenue, that is the number they will move, and they will move it well while your revenue stays flat.
Taking paid media in-house did not turn on some superior media-buying gift. The whole of the change was owning the event that gets optimized.
Once the platforms were pointed at a paying subscriber and could see when they found one, the same channels that had reported zero for eight months started to compound.
The media buying underneath barely changed. The thing being bought did.
Owning the optimized event is the paid-media expression of a rule that runs through my whole growth operating system: fix what the machine is pointed at before you spend more feeding it. It is also the first thing a growth audit checks, because a healthy-looking cost per signup is exactly the number that hides this problem in plain sight.
When a company past product-market fit hands me a paid account that looks healthy on cost per signup while revenue sits still, the event being optimized is the first place I look. Let's talk.