When you launch an app and start running ads, the first number you check is installs. When it climbs, it feels like something is working; when it drops, it feels like trouble. But when one solo developer in the US spent $220 on Google App ads and dug into the server logs, 60% of the installed devices turned out not to be real people at all. The ad network had been routing traffic through a bot farm.
This isn't just one developer's problem — it's a matter of scale. According to mobile attribution platform AppsFlyer's 2023 figures, global losses from mobile ad fraud totaled $8.4 billion. The bot rate tends to climb with smaller networks that Google doesn't directly manage, and with regions where cost-per-install is lower. And the smaller your budget, the harder it is to catch the problem early.
Behavioral Data Right After Install Sends the First Signal
There's no easy way to stop a bot install from happening in the first place. But the behavior logged right after install quickly reveals when something's off.
A real person, after installing an app, usually explores the first screen within 30 seconds. That first open-and-close leaves a trace in the session log, and whether they come back a few days later reveals their actual level of interest. Bots skip all of this. The install gets logged, but the session lasts zero to one second, or cuts off without ever rendering the first screen.
There are three numbers worth checking within 72 hours of launching a campaign.
Day 1 Retention: the share of users who open the app again the day after installing. It varies by category, but industry averages run around 30–40% for casual games and 20–30% for utility apps. Anything under 5% means you're looking at almost no real users.
Events per session: a real person opening an app generates at least two to three UI events — taps, scrolls, button presses. If more than half of your sessions log zero or one event, that's grounds for suspicion.
Device distribution: bot farms reuse a small handful of device models over and over. An abnormal concentration of identical models in your install list is a tell.
All three should be wired up with a free SDK like Firebase Analytics or Mixpanel before you even launch the campaign. If you keep running ads based on the install count in the ad dashboard alone, you won't know what's happening until the bots have burned through your entire budget.
How Campaign Settings Can Lower Your Bot Rate
Ad networks don't fully block bot traffic. But adjusting your campaign settings can reduce the rate.
The first lever is narrowing your target region. Parts of Southeast Asia, Central Asia, and Africa are known for both extremely low CPI (cost per install) and a high concentration of bot farms. If you're targeting the Korean market, for example, restricting ad delivery to domestic IPs raises your cost per install but noticeably cuts your bot rate.
The second is moving your conversion goal further downstream from install. Google App Campaigns (UAC) default to using install as the conversion goal. Switching that to something like "first in-app purchase" or "completed sign-up" makes it much harder for bots to clear the bar. More than 90% of fraudulent ad traffic stops at install and never reaches a genuine conversion. Raising the conversion goal pushes your cost per action up, but it's a worthwhile trade-off since it cuts the share of budget wasted on fraud.
The third is reporting suspected bot installs directly to the ad network. Google Ads support has a traffic-quality dispute process. It doesn't always result in a refund, but the developer mentioned earlier submitted Firebase data as evidence and got some of the spend credited back. Filing the report also feeds into the network's own quality-monitoring data.
How to Calculate When to Pull the Plug on a Campaign
Confirming that bots are mixed in doesn't mean you have to cut the ads immediately. At 30% bots and 70% real users, there's still room to adjust your settings. The real problem starts once the bot share crosses 50%.
Calculating your effective CPI (the actual cost per real, human install) separately gives you a clear benchmark. If you spent $220 for 100 installs and 60 of them were bots, that leaves 40 real installs — an effective CPI of $5.50. If that number exceeds the average LTV (lifetime value) for your app's category, the campaign is losing you money.
There isn't much public data on average LTV by category in the Korean mobile app market. The closest reference points currently available are the annual reports published by Adjust or AppsFlyer, or the category benchmarks shared within app marketer communities. Comparing your own effective CPI against those figures is the most realistic way to decide whether to keep running the campaign or pull it.
It's also worth noting that bot installs don't help your app store ranking. Google Play factors post-install retention and ratings into its algorithm. A campaign with a high bot-install rate dilutes your genuine user signal — past a certain point, spending more actually works against your app.
This is why attaching an attribution tool before you launch a campaign isn't optional. If you can't see what's behind the install count, you won't know whether your budget went to real people or bots until after it's gone. Running ads diligently while watching the wrong number is like restocking inventory without keeping a receipt — if you never record where the money goes, you'll never find out where it's leaking.




