How I scaled two apps to $240,000/yr with paid ads

My first app made $20,000 in a single month after I did this one thing:
I started running paid ads.
Before that, I was doing what most app founders do.
Posting organic content and hoping something would go viral, looking for influencers to promote the app, and relying on distribution methods I couldn’t really control.
Paid ads completely changed the way I looked at app growth.
Because once you learn how to spend $1 and consistently get more than $1 back, growth stops feeling like luck and starts feeling like a math problem.
And math problems can be solved.
Over the last couple of years, I’ve built and scaled multiple mobile apps, with two of them eventually reaching around $20K/month.
But getting there was definitely not a straight line.
I burned thousands of dollars testing terrible creatives, scaled campaigns too quickly, killed good ads because I got impatient, and literally just had no clue what I was doing.

Most of what I know now came from losing money first.
So this is basically the guide I wish someone had given me when I started.
If I had to go back to zero and build another app from scratch, this is exactly how I would approach it.
Step #1: Choose a validated app idea
The first mistake most people make happens before they even build anything.
They spend months trying to come up with some revolutionary app idea that nobody has ever thought of before.
That’s actually one of the riskiest ways you can start.
If nobody has built something similar, you have no idea whether there’s a real market for it, whether people are willing to pay for it, or whether you’ll even be able to acquire customers profitably.
A much safer starting point is entering a market where people are already spending millions of dollars.
The rule is simple:
Find a niche where at least one app is already doing $100K+/month.
At that point, somebody has already done a huge part of the validation for you.
They’ve proven that people have the problem, that they’re willing to download an app to solve it, and most importantly, that some percentage of those people are willing to pay.
Your job isn’t to create demand from nothing.
Your job is to figure out how to take a small piece of demand that already exists.
And yes, this usually means taking inspiration from apps that are already working.
When I say “taking,” I don’t mean stealing someone’s branding, code, graphics, or cloning their app pixel-for-pixel.
The goal is to study why the app works.
Figure out what problem it solves, who it solves it for, how the product is positioned, how it monetizes, and what part of the experience actually makes people pay.
Then take that proven foundation and change the angle.
For example, there are already hundreds of habit trackers.

Instead of making another generic one, you could build a habit tracker specifically for men trying to improve their health and discipline
The core product might still be similar, but now the habits, visuals, language, onboarding, and overall experience are designed around that exact person.
The same thing can be done with an app that helps people quit porn.

Instead of building another generic version, tailor the whole experience toward Muslims and make it much more relevant to that audience.
You didn’t invent a new problem.
You made an existing solution feel far more specific.
That’s the opportunity.
You don’t need to invent the next Uber.
Find something that already works and ask:
“How can I make this significantly more relevant to a specific group of people?”
Step #2: Build fast
Once the idea is validated, the next goal is getting it into the market as fast as possible.
This is where founders waste an insane amount of time.
They spend weeks changing button colors, redesigning screens nobody has seen yet, polishing animations, and building features based entirely on what they think users might want.
Then three months later, they finally launch and discover nobody actually cares about half of it.
It’s much better to find that out in one week.
For an MVP, aim for around a week.
It doesn’t need to be perfect.
It just needs to deliver the main value of the app well enough that a real customer can download it, understand it, use it, and pay for it.
Get the core experience working, make the onboarding clear, build a solid paywall, and make sure analytics and attribution are set up properly.
Everything else can be improved later.
Right now, Cursor is what I personally use for a lot of development, but the specific tool matters way less than people think.
The customer does not care what you built the app with.
They care whether the app solves the problem they downloaded it for.
The development process should basically be:
Build quickly → launch → collect data → improve.
Instead of spending three months trying to predict what people want, launch quickly and let actual user behavior tell you.
Speed also gives you more attempts.
If one founder can test ten ideas in the time somebody else tests one, they don’t necessarily need to be better at predicting which idea will work.
They just need one of those ten attempts to hit.
Step #3: Run ads
This is where things get fun.
Paid ads were probably the biggest unlock for me because they made growth much more predictable.
Organic content can work incredibly well, but you’re still dependent on an algorithm deciding whether your content gets distribution.
Influencer marketing can work too, but now you’re finding creators, negotiating prices, following up, checking whether they actually post, and hoping the audience converts.
Paid ads remove a lot of that.
The basic equation becomes:
If I spend $1, how much money does that $1 produce?
If $1 of spend eventually produces $1.30 back, you have something you can work with.
Then the game becomes figuring out how to increase spend without destroying the economics.
That’s what makes paid ads so powerful.
They’re scalable, they don’t require managing a huge team, and at a fundamental level, they’re a math game.
How the Meta algorithm works
Most beginners think Meta Ads is a targeting system.
It’s not.
It’s a probabilistic prediction system operating inside a massive real-time auction.
At a high level, Meta is constantly trying to determine how likely somebody is to take the action you care about, how valuable that action could be, and whether showing that person your ad makes more sense than showing them an ad from another advertiser.
Every time someone opens Instagram or Facebook, an auction happens almost instantly between advertisers competing for that impression.
And the winner isn’t simply whoever bids the most.
Meta is trying to determine which advertiser is expected to generate the most value from that impression.
So the system is constantly balancing the probability that someone takes your desired action with the value that action creates for your business and for Meta’s ecosystem.

This is why Meta doesn’t behave like a simple targeting tool.
It behaves like a prediction engine that continuously learns from outcomes.
Optimize for installs and Meta starts learning what types of people tend to install apps.
Optimize for purchases and Meta starts learning what types of people actually pay.
Those are completely different datasets.
That’s why optimizing too heavily around shallow actions can result in Meta becoming extremely good at finding cheap users without necessarily finding valuable ones.
The event you feed the algorithm matters.
Warming up a new ad account
When starting with a completely fresh Meta ad account, don’t immediately throw a bunch of untested conversion ads into it.
Meta knows almost nothing about the account yet.
There’s no history of people engaging positively with the ads, very little delivery data, and no track record showing that people actually want to interact with the content being published.
A better approach is to give the account a few days of clean, positive activity first.
1. Start with an engagement campaign

Don’t try to sell anything yet.
The goal at the beginning is simply to get the account delivering ads and generating legitimate engagement.
2. Run simple static ads of puppies or babies

Use harmless content that naturally gets positive reactions.
Cute puppies, babies, or similar content tends to give people an easy reason to stop, like, and interact with the ad.
You’re not trying to sell the app through these creatives.
The purpose is to give Meta straightforward content to distribute while the account starts building some history.
3. Let the engagement come in for 3–5 days
Give the campaign time to collect legitimate engagement.
Ideally, the first few days of activity show Meta that when this account puts an ad into the feed, people actually interact positively with it rather than immediately ignoring, hiding, or negatively reacting to it.
Think of it as creating a good first impression.
There isn’t some public “advertiser reputation score” Meta shows you, but accounts, ads, pages, and campaigns still build history over time.
It’s better for the first few days of that history to come from healthy engagement than from immediately launching terrible conversion creatives that nobody interacts with.
4. Then start running conversion campaigns

After roughly 3–5 days, introduce the actual app creatives and start optimizing toward the conversion event you care about.
Now you’re moving into performance advertising from an account that already has some normal delivery and positive engagement history rather than starting completely cold.
This does not magically make a bad app or bad creative profitable.
And warming an account isn’t some secret loophole that guarantees lower CPAs.
It’s simply about starting on the right foot.
If the first thing you do with a brand-new account is dump money into awful conversion ads, get terrible engagement, constantly turn campaigns on and off, and make aggressive changes, you’re giving Meta a messy set of signals from day one.
You also increase the risk of getting ads rejected, seeing higher CPMs, having delivery throttled, or putting the account in a worse position with Meta over time.
If that bad history keeps adding up, it can eventually lead to more serious issues like account restrictions or even suspension.
So start clean, generate positive activity, allow the account to establish some history, and then bring in the conversion campaigns when you’re actually ready to spend.
It only takes a few days, so there’s very little reason to rush a completely fresh account.
Attribution
For app campaigns, an MMP (Mobile Measurement Partner) gives you better attribution and more conversion data to work with.
But don’t jump straight into MMP campaigns immediately.
The progression should look like this:
1. Implement the Meta SDK first
Set up the important conversion events and start running SDK-based conversion campaigns right away.
2. Set up your MMP alongside it
While those campaigns are running, the MMP starts collecting conversion data and building history.
3. Move to MMP campaigns once you have enough data

You usually can’t effectively start with MMP optimization from day one because there isn’t enough conversion data yet.
Using the SDK first means you can start acquiring users immediately instead of waiting around for the MMP to build enough signal.
So the progression is simple:
SDK campaigns → collect MMP data → MMP campaigns.
You’re not choosing between the SDK and an MMP.
The SDK gets things moving while the MMP builds the attribution and conversion data needed for better optimization later.
Campaign structure
Meta campaign structure does not need to be complicated.
The basic setup is:
ABO for testing. CBO for scaling.
1. Use ABO campaigns to test creatives
ABO gives you control over how much budget goes into each ad set, which makes it easier to give new creatives a fair test.
The goal here isn’t scaling.
It’s finding out which creatives can actually produce conversions profitably.
Once something clearly works, move it out of testing.
2. Move winners into a CBO campaign
CBO is where proven creatives can be scaled.
Instead of manually deciding exactly where every dollar goes, give Meta a larger campaign-level budget and let it allocate more spend toward the ads and ad sets it expects to perform best.
So the structure is basically:
ABO = find winners
CBO = scale winners

When you’re starting out, don’t overcomplicate the account with dozens of campaigns and ad sets.
Keep testing new creatives in ABO, move the winners into CBO, kill what stops working, and continue feeding new winners into the scaling campaign.
The simpler the structure is, the easier it becomes to understand what’s actually making money.
Testing creatives
Creative testing is where most of the learning happens.
When you’re starting out, don’t make five slightly different versions of the same ad.
Test completely different concepts, hooks, formats, angles, and visuals.
If something hasn’t been tested, you don’t actually know whether it works.
1. Start by testing completely different concepts

A good starting point is around 5 ads per ad set at $20–50/day.
At this stage, make the ads genuinely different from each other so you can figure out what direction actually resonates.
The concept you think is terrible could become the best-performing ad, while the one you spent hours perfecting could die immediately.
Test broadly first and let the market tell you what works.
2. Judge ads by spend, not days
Never kill an ad simply because it has been running for a certain number of days.
One ad could spend $100 in three days while another spends $10.
Those are completely different tests.
Instead, find the consistent metrics across the account and use those as baseline KPIs.
The most important metric is CPA.
CTR, CPC, hook rate, and CPM matter much less, but they’re still useful for diagnosing whether the creative is grabbing attention and moving people through the funnel.
If an ad has spent enough and is outperforming the normal CPA, note it as a potential winner.
If it’s clearly below the baseline after enough spend, kill it.
And there’s one thought that has cost me way too much money:
"I’ll let it run for a couple more days just to see if it becomes a winner…"
Whenever that thought comes up, it’s usually a sign the answer is already obvious.
I’ve wasted way too much money convincing myself mediocre ads were about to magically recover.
3. Know when to test variations vs. new concepts
Once a winner appears, start testing variations of it.
Keep the core idea that worked, but change things like the hook, opening visual, font, colour, or other parts of the execution.
Then pay attention to what those variations actually do.
If you keep making variations of a winner and none of them work, stop forcing the concept and go back to testing completely new ideas.
The opposite applies too.
If brand-new concepts keep going nowhere, return to the proven winners and see whether another variation can be found.
The testing strategy should follow the data rather than some fixed rule.
4. Increase your testing level as you scale
An ad that works while spending $100/day won’t necessarily work at $1,000/day.
As the account scales, you’re basically entering a new level.
Meta needs to find significantly more customers, winners get exposed to more people, and the creatives have to survive much more spend.
Eventually, that can mean increasing testing budgets or finding entirely new creatives capable of handling that level of scale.
Your old winners won’t always take you to the next stage.
The creative strategy has to scale with the ad spend.
5. Don’t worry if every ad doesn’t spend
Sometimes you’ll put five ads into an ad set and Meta will barely spend anything on one or two of them.
Don’t worry too much about it.
Not every ad needs an equal amount of spend simply because you uploaded it.
Minimum spend controls can be implemented if you really want every creative to receive a test, but in most cases, let Meta decide where it thinks the budget has the best chance of performing.
You don’t need every ad to get tested.
You need Meta to find the best ones.
6. Remember that your creative is your targeting
Don’t obsess over stacking a bunch of interests into the ad set.
Meta has become extremely good at figuring out who is likely to respond to a creative.
If an ad clearly speaks to women, the people engaging and converting from that creative provide signals that help Meta find more people like them.
If an ad is specifically about older soccer players, the visuals, language, hook, and early engagement all help Meta understand who the ad is relevant to.
That’s why broad targeting with extremely specific creatives can work so well.

Make the person you want immediately feel like the ad was made specifically for them.
Don’t rely on targeting settings to fix a vague creative.
The creative itself should make your target customer think:
“This is literally for me.”
Scaling creatives
Once you find a winner, the next question is:
How do you spend more money on it without destroying it?
There are two main ways to scale creatives: vertical scaling and horizontal scaling.
1. Vertical scaling
Vertical scaling is the simplest.
Take an existing winning ad set and gradually increase the budget.

A good rule is around 20% every 48 hours as long as the creative continues showing signs that it can handle more spend.
For example, if an ad set is spending $500/day, move it to $600/day, let it run, then increase it again if the performance still makes sense.
One thing to understand is that CPA can move around while the budget is actively being increased.
Every time spend goes up, Meta has to expand delivery and find more customers, so CPA shouldn’t be expected to stay perfectly stable throughout the entire process.
What matters more is where the CPA settles once the budget stops increasing and the campaign has time to stabilize.
That doesn’t mean completely ignoring the economics while scaling.
It means not panicking every time CPA temporarily rises after another 20% budget increase.
Eventually, you’ll usually hit a point where increasing spend starts hurting performance too much.
That’s where horizontal scaling becomes useful.
2. Horizontal scaling
Instead of forcing one winner to absorb more and more budget, horizontal scaling means creating more winners and running them alongside each other.

Make variations of the original winning creative, find another one that performs at a similar level, and then give both their own budget.
For example, instead of trying to take one ad set from $1,000/day to $2,000/day, you could run:
Winner #1 → $1,000/day
Winner #2 → $1,000/day
You still reached $2,000/day in total spend, but you didn’t force one creative to handle all of it.
This is also why creative testing becomes even more important as the account scales.
The easiest way to spend another $500/day isn’t always squeezing another $500 out of the same ad.
Sometimes it’s finding another ad capable of spending that $500 profitably.
3. Use whichever method the account responds to
There isn’t one scaling method that works perfectly for every app or every creative.
Try both.
Some winners can be vertically scaled aggressively and continue performing.
Others hit a wall where every budget increase sends CPA too high.
If vertical scaling keeps ruining CPA at a certain spend level, stop trying to force the budget higher and scale horizontally instead.
Create more variations, find additional winners, and spread total spend across them.
In practice, the strongest approach will often involve both.
Gradually increase the budgets of the strongest winners while continuously testing new creatives that can eventually run alongside them.
That’s how you go from having one winning ad to having an actual scaling system.
The goal isn’t to make one creative spend an unlimited amount of money.
The goal is to keep increasing total profitable spend, however you can.
Creative fatigue
Every winning creative eventually starts to fatigue.
As Meta keeps showing the same ad to more people, the audience becomes more familiar with it and performance can slowly start declining.

You’ll usually see this through rising CPA, falling CTR, higher frequency, or the ad simply struggling to spend as efficiently as it used to.
That doesn’t necessarily mean the concept itself is dead.
Sometimes its life can be extended by changing the hook, visual, font, colour, or opening while keeping the core idea that made it work.
But eventually, every winner has a limit.
That’s why new creatives should always be getting tested while the current winners are still working, not after they die.
Step #4: The actual keys to success
Everything explained so far is tactical.
You can understand all of it and still fail.
Because once you learn the mechanics, the bigger challenge becomes whether you can execute them for long enough.
There are five things that have mattered the most for me.
1. Stoicism
This is probably the most important one.
Paid advertising can completely mess with your emotions if daily performance determines your mood.
One day you’re insanely profitable and start calculating how much money you’ll make if everything continues at the same rate.
The next morning CPA jumps, revenue drops, and suddenly the whole business feels like it’s dying.
Then two days later, performance recovers.

The graph above shows what growth actually looks like.
Day to day, every drop feels terrible and every spike feels like you finally figured it out.
But zoom out.
Most of it is just variance.
Don’t react emotionally to every bad day. Look at enough data, figure out whether something actually changed, then make the best decision possible.
Your job is to stay rational when the numbers are trying to make you emotional.
2. Persistence
I’ve burned thousands of dollars learning how to do this.
I’ve tested creatives that completely failed, built things nobody cared about, lost all my money, and launched ideas I was convinced would work that went nowhere.

Looking back, some of those mistakes seem obvious now.
They definitely weren’t obvious while I was making them.
That’s part of entrepreneurship.
The people who eventually figure it out usually aren’t the people who avoid every bad decision.
They’re the ones who can make a bad decision, understand what went wrong, adjust, and keep going.
At some point, all those mistakes start turning into pattern recognition.
But you only reach that point if you stay in the game long enough.
3. Speed
Speed is one of the biggest advantages you can create for yourself.
If one person tests five ideas this year and another tests fifty, there’s a good chance the person with fifty attempts discovers more opportunities.
Not necessarily because they’re smarter.
They simply gave themselves more shots.
That’s why reducing the time between having an idea and getting real feedback from the market matters so much.
You don’t need to rush everything, but you also don’t need to spend weeks overthinking decisions that are easily reversible.
Speed means shortening the gap between:
idea → action → feedback.
The faster that loop happens, the faster you learn.
4. Consistency
This one sounds boring because it is boring.
That’s also exactly why it matters.
Everybody likes launching a new app, finding a winning creative, or hitting a new revenue record.
But the actual business is built during all the days between those moments.

It’s built when the last few ads failed and another one still gets made.
When the funnel gets reviewed again, another bug gets fixed, or another small improvement gets made even though nobody is going to congratulate you for it.
Then the same thing happens again the next day.
Most people don’t lose because they’re incapable of doing the work.
They lose because they get tired of doing the same important work over and over again when there’s no immediate reward attached to it.
Being able to tolerate boring repetition for a long time is a ridiculous competitive advantage.
5. Strategy
The last piece is learning to stop thinking one move at a time.
Scaling an app is almost like a game of money chess.
If a creative is working today, already think about what happens when the budget increases.
If acquisition costs rise, know how much room exists before the economics stop making sense.
If a winner starts fatiguing, there should already be something getting tested that could replace it.
And if retention is weak, figure out whether the product itself needs work before simply throwing more money into acquisition.
Most problems become much easier when you’ve already thought about them before they happen.
You won’t predict everything correctly.
But thinking several moves ahead gives you much better options than constantly reacting to whatever happened yesterday.
Conclusion
At the end of the day, building and scaling an app is not that complicated.
That doesn’t mean it’s easy, but the process itself is pretty simple.
Find something people already want, build it quickly, learn how to acquire users profitably, and keep improving as you get more data.
A lot of people will still come up with reasons they can’t do it.
Maybe the market feels too saturated, maybe they’re not technical, or maybe they think they need thousands of dollars before they can even start running ads.
But competition is usually a good sign.
It means people are already spending money in that market.
And you don’t need to be some insane developer anymore just to test an idea.
AI has made it possible to build and launch products much faster than before.
The same goes for paid ads.
You don’t need to start with a huge budget.
If you’re starting small, the goal should be learning first.
Figure out what people respond to, understand where the funnel is weak, and improve the economics before pushing more spend.
That’s basically how I built my apps.
There was never one genius idea or one magical ad that suddenly made everything work.
It was a lot of testing, making decisions with the data available, and slowly getting better at recognizing what was worth doubling down on and what wasn’t.
Over time, that experience compounds.
You get faster at spotting good ideas, better at reading the numbers, and more confident about where to put your time and money.
And that’s why I think right now is such a good time to build.
You can create software faster than ever, reach customers almost anywhere in the world through paid distribution, and sell globally through the App Store without needing a huge team behind you.
The opportunity is already there.
The biggest advantage you can give yourself is getting enough real attempts under your belt to learn how the game actually works.
So stop waiting until you know everything before you start.
Go run some ads.
Want to work with me directly?
P.S. If you’ve made it this far and you’re already working on an app, but feel like you’ve hit a ceiling, you can book a call with me directly.
We’ll go through your app, ads, funnel, and whatever else might be holding back growth, and I’ll show you what I’d change and where I’d focus next.
aureliuscajigas.com (👈 book a call here)
Related articles

Your original app idea is why you're broke
If your app idea is original, congrats. You probably just found a market nobody wants.

Mars men's full meta ads playbook (4,512 ads)
Mars Men has 4,512 ads live on Meta right now, on a Facebook page that only exists since December 2023.

How to turn attention into consumer-app customers who don’t churn
That playbook worked when building the product was hard and distribution was cheap, but the opposite is true in 2026.