I’ve been running app campaigns for long enough that I’ve seen one problem arise time and time again — and nobody seems to have a solid answer for it. When should you give up on a channel?

We’ve all had it happen: an app is running paid user acquisition campaigns on one specific ad network and getting really bad results. There’s multiple reasons that could explain the performance, but after weeks (or even months) trying to address these issues, the performance hasn’t improved. Eventually, the Founder or CEO asks the questions:

  • When should we give up on this channel?
  • How far should we go with different testing and experimentation?
  • Should we explore cheaper channels?

In my UA playbook for one-person teams, I said to pick one channel and make it a success before even thinking about a second one. But a few months ago I also said on LinkedIn that you should explore cheaper channels if you’ve been trying one channel for three weeks with no results.

So which one is it? Should you persist, or should you move on?

The honest answer is: both, depending on the situation. And that’s exactly the problem. I’ve seen founders killing a channel after five days because “TikTok doesn’t work for us”, and others continuing to burn money on a channel for months because the modeled conversions in the dashboard still look nice.

This decision is only getting harder with new privacy limitations, AI deleting barriers, CPMs increasing, and a whole new generation of app builders shipping apps at an unimaginable speed.

But there is a clear way to decide when to hold onto or let go of a channel — keep reading for my fix, pause, kill framework.

Quitting too early vs. holding on too long

When this challenges comes up, you typically see the same two profiles again and again:

The tourists: They launch Meta, TikTok, and Apple Ads at the same time with $100–200/day budgets while they check hourly delivery. After five days, they discard most of them and only stick with one channel, concluding that the other channels “don’t work for our app”.

When you look at the channels, you’ll see that none of them got a proper setup (campaign optimization goal or creative strategy are often the main mistake) or none of them got enough signals. As Lucas Moscon explained in his article on ad channel diversification, launching more channels doesn’t mean lower risk if your budget, audiences, or team capacity can’t afford multiple learning phases at once.

The loyalists: This is the opposite case — and in my experience, the most expensive one. These are marketers that used to have a working channel bringing consistent growth. For some reason, it stopped working and yet, they keep burning money on it, even when customer acquisition cost (CAC) has been going up for weeks. Sometimes it’s an emotional tie (“it worked last year”), sometimes it’s down to knowledge gaps (the UA responsible “owns” that channel) and very often it’s a data problem: they’re either cannibalizing organic or trusting modeled conversions too much.

To support these people and guide your decisions, you need a clear framework for when a channel deserves more time, and when it doesn’t.

7 Checks to see if it’s you: the pre-kill channel checklist

Let’s be super honest here: most of the time when someone says “this channel doesn’t work for us”, the problem is not the channel, it’s something on the company’s side that is being exposed by the channel. So before blaming the channel or cutting it off, go through this checklist. If you answer ‘no’ to any of these questions, the problem might be on your end.

1. Does your product convert within benchmarks?

First off, is your product converting as it should be. Use the RevenueCat App Health calculator or the State of Subscription Apps report to find the relevant benchmarks for your vertical, then examine:

  • Install rate
  • Install-to-trial rate or install-to-paid rate (if you don’t have a free trial)
  • Trial-to-paid rate

Obviously, if your conversion rates (CVR) are far below your category, no channel will save you. You will just see the same numbers but with different CPMs.

I personally lived this scenario with one of my clients: we tested Google, TikTok, Meta, Apple Ads, even influencers, and we struggled for months, testing thousands of creative angles. Ultimately, our install-to-paid rate was simply too low for the CAC that we needed to achieve in order to sustain business margins. Until we stopped trying to fix that with an introductory offer, and focused on creating a solid activation journey, we couldn’t run paid UA consistently.

2. Does your optimization event have enough volume?

The theory is that you need around 10 events per day (or 50 per week) to exit learning phases. According to my experience, the reality is that after 30 per week, you can judge the quality you get on that channel. However, if you’re running campaigns with $50/day optimizing towards subscriptions, you should expect your performance to fluctuate constantly — because you’re not feeding the algorithm enough signals.

Thomas Petit has said this multiple times: focus on actions that happen within the first 24 hours. 55% of 3-day trial cancellations happen on Day 0, so first-24 hours actions are critical. On top of that, I recommend moving to a proxy event if you can’t afford optimizing directly towards your subscription event.

3. Did you test enough creatives?

We all know that targeting is now done through creatives, not audience settings (with some exceptions) so having a proper creative mix with enough volume is key to really see if your CTRs, hook rates, and hold rates are according to the benchmarks for every user persona you think you can target.

If you tested a channel with three creatives and never rotated them, you didn’t test the channel. You tested three creatives. As a reference, in my $0–500 framework, I recommend starting with 8–10 creatives and rotating the ones that don’t spend every 48 hours in Meta and every 24 hours on TikTok (creative fatigue is much faster there).

4. Is your budget enough for that specific channel?

There are some specific channels where small budgets won’t work. For example in Moloco, you will never see the reality of the channel if you spend $100 a day because the algorithm needs a much longer time and a greater amount of signals to exit the learning phase (minimum is $500/day).

Another example is Apple Ads, where you can’t have a $50/day budget if you want to test 15 generic keywords and 20 competitor keywords. You would need weeks to really figure out the performance. So before cutting a channel off, consider whether your budget is feeding it enough to see any real impact.

5. Are you measuring correctly?

This one is especially critical on iOS. Probabilistic attribution estimates which ad led to an install by modeling aggregated signals (like timing, IP address, and device type) rather than matching a confirmed user ID — so the numbers are educated guesses, not exact counts. This technique and modeled attribution (AEM, ICM, ADC, etc.) can under-report or over-report what a channel is really bringing. I've seen channels that looked unprofitable in the dashboard but were bringing dozens of unreported trials per week when checking the baseline uplift. And I've seen the opposite with DSPs and 24 hour view-through windows. If you haven't checked the baseline before vs. after launching the channel, you don't really know how it performs.

6. Is the delivery going to the right audience?

A cheap CPA can hide a terrible channel, and an expensive CPA can hide a great one. Check the age and placement distribution (when you can) and try to ask basic demographic questions on your onboarding so you can use first-party data to analyze before and after launching a channel.

If the algorithm is sending most of your budget to 18–24-year-olds who start trials but never pay, your cost per trial will look amazing while your return-on-ad-spend (ROAS) goes down. In one of my Meta cases, the core audience was men over 45, and the biggest win was shifting the delivery to the placements where they actually spent time.

7. Are you testing all the possible setups?

This one is critical in some cases: if your subscription app is struggling to convert with app campaigns but your metrics are within benchmarks or close to them, you should test other setups before discarding the channel. In these cases, I always start with app campaigns but in some channels these campaigns don’t use view attribution for example so switching to a web-to-app setup with web sales campaign can really help you to make the numbers work. If this doesn’t work, I always try a web-to-app funnel as the last option since the campaigns for web funnels behave completely different from the CVR perspective.

Your honesty when answering these seven questions makes the difference between profit and losing out. So if, after going through this checklist, you can answer ‘yes’ to all of the questions, then yes: it’s time to look at the channel itself.

5 Signals that indicate that it’s actually the channel

Sometimes the channel is just more expensive for your audience at the moment you’re testing due to multiple reasons (higher competition, seasonality, user behavior within that placement, etc.) and no optimization will fix that. Here’s how to tell if that’s the case:

1. There's a structural cost gap

A few months ago, Meta was struggling on some of my accounts for two to three weeks despite having a correct targeting and setup so I moved part of the budget to a web-to-app campaign in YouTube Shorts through Google DemandGen campaigns. I used the same creatives and the same conversion event but I got a much different result: YouTube Shorts got a CPM of $2–3 while Meta was giving me $7–8.

That’s an almost 3x cheaper (!) inventory without compromising quality (obviously I checked this after doing the switch) which brought my CAC down consistently.

2. The platform broke (and it's not your fault)

Sh*t happens, and sometimes we can’t do anything about it. While this is the least common case, it does happen. One recent case I had was with TikTok after they merged Manual and Smart+ campaigns in one single flow. I compared TikTok and Meta using the exact same creatives during 30 days:

  • Travel app: Meta CPI $3–5 vs. TikTok CPI $27.50
  • Fitness app: Meta CPI $4.77 vs. TikTok CPI $30.50
  • A third app: +$40 CPI on TikTok

CPMs and CTRs were almost the same on both channels so the gap wasn't coming from the audience or the creatives, but most likely from the real-time attribution for iOS after the merge. On top of that, TikTok was reporting 80–100% fewer installs than App Store Connect (it used to be 25–35%), and all the spend was going to one single ad.

Another example: a social casino app with a purchase-optimized Google campaign that had been running since November 2023. We tried to launch web-to-app on iOS, and the whole account got rejected due to a domain issue. After four days without activity the campaign never recovered its performance. Nothing changed internally, but with Google App campaigns, you literally control nothing over placements or creative combinations. So sometimes relaunching and praying is basically the only option.

In these cases, the answer is not ‘kill’, but ‘pause’: stop the bleeding, monitor the platform, and test again when the issue is fixed or you feel ready to have a new headache.

3. There's no incrementality

This is one that really fools many teams. The channel reports conversions and the MMP even confirms them but the business doesn’t move.

If the blended baseline doesn't move after adding extra spend, the channel is not bringing new users — it's taking credit for users you would have got anyway. It doesn’t matter how nice the CPA looks in the dashboard, that's a channel you have to stop (or at least re-test with a much more restrictive setup).

I have seen this with DSPs like AppLovin working with 24 hour VTA windows. I normally go with a six-hour view attribution window, and even then I sometimes see cases like this: when I test static banners on any DSP, they eat my organic conversions. You can clearly see how the organic baseline starts to decrease the exact same day I upload the banners (and the CPA of the campaign decreased by +50%!).

Some of the formats that DSPs recommend are tricky: 320x50, 300x250, and other tiny formats that are normally integrated into the UI of the apps where ads are served. The user in this case is just using that app and the ads are part of the interface... so you end up counting a ‘view’ that is not an effective view.

4. The conversion improves, but the unit economics don't close

Sometimes a channel or campaign type does exactly what it promises, and it still doesn't make sense for your business because of the unit economics.

When I tested Meta ROAS campaigns with AEM for a casino app, the results were really interesting: better age distribution (less spend on 18–24), better CVR, but CPMs were 100% higher than the mid-funnel CPA campaign. We were clearly accessing a more expensive tier of inventory but the CVR improvement couldn't compensate for it. Better users, better conversion, but still worse business overall.

5. The opportunity cost is eating your main channel

This is the silent killer. The reason that most teams overlook when they decide to start a new channel.

Every new channel (and every new ad group) puts pressure on your creative production. A new channel needs new formats, new creatives rotated, new attribution logic, and more time checking data to see the incrementality.

If that pressure comes at the cost of your main cash generator getting fewer fresh creatives or less attention, you're not diversifying, you're weakening what already works.

The decision framework: fix, pause or kill

Once you go through the checklist and the five signals, your channel decision becomes much more straightforward. Broadly, there are three possible ways to move forward:

  • Fix: the checklist shows a problem on your side (not enough creatives, events with low volume, budget below the channel minimum, wrong audience distribution etc.). You can fix it and give the channel another full cycle before judging it.
  • Pause: the problem is temporary or external: a platform bug, a product change on the ad network side, seasonality, an account issue. Pause, monitor what other advertisers are reporting (you can freely ask about that on growthsociety.co), and re-test once waters are calmer.
  • Kill: you have a structural cost gap, zero incrementality after a clean test (following the list of questions from the first section), or a CAC that your LTV doesn't cover even in the most optimistic scenario. You need to kill the channel and move on.

One more thing: killing a channel doesn't mean killing it forever. Channels change a lot; they change the algorithms’ functioning, introduce new campaign optimization goals, new creative formats, and more, so failing doesn’t mean forgetting that channel forever.

I always say that bad performance is never random. There’s always a driver: setups, signals, unit economics… Sometimes channels drive the bad news. Your job is to know which of those you're dealing with before you move the money.