59% of Installs Were Bots: An Indie Developer's Google App Campaign, Fact-Checked

Contents 11
"I spent $220 on Google app ads. 60% of the installs were robots." That was the title of a blog post on September 11, 2026, by Nick Abe, who makes a daily puzzle app with a friend. 4 more posts followed, a summary in a pay-per-click forum, a dispute with Google, and an ending on October 1: "Google's final answer was no."
This is our review of the series for affiliates and app marketers who run Google App campaigns on small budgets: the developer's evidence, our math on his numbers, Google's position as he reports it, and what the case doesn't show. It's an anti-case, so the score rates how honestly and in detail the failure is analyzed. Editorial fact-check: 3/5.
Short version: the analysis is specific, numerate and self-critical, and the mechanism is clear. But it's 56 installs and about CA$220, there are no screenshots of Google Ads, analytics or Google's emails, and the "bot farm" is a well-argued inference rather than a verdict.
Who wrote it
Nick Abe describes himself as an economist by training and co-founder of Dayzle, a daily puzzle app sold in the Canadian and US app stores. He posted the story on his app's blog in 5 parts, from September 11 to October 1, and summarized it in a pay-per-click forum on September 16. Every quote below is his, in English.
Our take: he sells no course or service, and he's not a Google competitor. He is promoting his app: his forum history is mostly posts about it. That doesn't weaken the data; it means the story is also marketing.
The campaign: installs, a cost target, then no target
The setup: a Google App campaign for Android, optimizing for installs, at CA$40 a day, with a target cost per install of CA$1.50. "For the first few days it barely spent anything... Google couldn't find installs at that price. So, as a test, I removed the target. It immediately spent double my daily budget, CA$80, and reported 21 installs. I was excited. Then I checked my admin panel, which said 1."

Our math: 20 of the 21 installs on that day were the suspicious pattern, so roughly CA$76 of the CA$80 went to them. Over the whole 2 weeks, about 33 of 56 installs fit the pattern, so most of the bot money was spent on the 1 day after the cost cap came off.
Our take: this is the most transferable lesson in the case. A target CPA is not just a price, it's a filter: at CA$1.50, Google's system found almost nobody to buy. Removing it told the system that any install at any price would do, and the cheapest installs in the auction were the ones nobody played. The case presents the target removal as a test; the data says it was the trigger.
The evidence: 0 seconds, old versions, 28 phone models
On the peak day: "20 of them were running an old version of the app that the Play Store had stopped serving days earlier. You can't get an old version from Play, so these phones got the app from somewhere else, even though every one of them said Google Play was the installer. Each opened the app once, spent zero seconds on any screen, and never came back. Twenty-eight phone models across nineteen states."
In the forum, answering a skeptic who suggested they were just people who install apps and forget them: "What was happening with these installs was 1 ms of activity (no human can do anything that fast), somehow 9 events (across 9 minutes) and no normal app close... On 100 installs I would get 50 that never finish a puzzle. On this particular set it was >95%."
His comparison of the 20 suspected bots with every new Android install in the following week, when most traffic came from people who read his first post:

Our math: 33 of 56 is 58.9%, the "60%" in the title. Add the 7 installs from countries the campaign didn't target and 40 of 56, 71%, weren't the audience he paid for. 33 + 7 + 13 = 53, so 3 installs are unaccounted for. At CA$220 for 56 installs, the CPI per billed install was CA$3.93; each of the 13 real players cost CA$16.92.
Our take: the evidence that the 20 weren't people is strong: a version no store was serving, an installer that claims to be the store, 0 seconds on screen and identical behavior on dozens of device models. "Bot farm" is his conclusion, and the most likely one, but not the only possibility: emulators or an incentivized-install network would leave a similar trail. 2 details also shift between posts: 28 phone models in the first, 18 in the last, and "states" for a campaign targeting 2 countries.
Google's answer: "normal user behavior"
He sent Google the data. The first reply, as he quotes it: the activity "appears to fit a pattern of normal user behavior." By October 1 the position was settled: "Google's answer was consistent across five emails: it judges the ad interaction, meaning the view or the click, and nothing that happens after it. In its words, post-install variations 'do not inherently qualify as invalid ad interactions.'"

The detail that stings: "On one day in September its systems blocked 873 invalid interactions on one of our ad campaigns, which had a budget of CA$40 a day. On that same day, 20 of the 21 installs Google charged us for were bots." And on who showed the ads: "Google knows which apps showed the ads behind those 20 installs... Their answer was that they audit publishers in general and can't tell me about any one in particular."

The other side: Google's position exists only as Nick quotes it; he published no screenshots of the emails, and we found no public statement from Google on the case. Google's own help page on invalid traffic describes automated filters, machine learning and manual reviews, removal of detected invalid traffic from billing, and a Click Quality form for the past 60 days. It doesn't address installs that follow a valid-looking view.
Our take: Google's line is consistent with how App campaigns are built: Google sells views and clicks, and credits installs to them, including installs after a video view with no click, which is what 29 of the 30 zero-time installs were. That's install fraud the platform's own rules can't see. If the view looks valid, the install is billed, whatever happens on the phone. That's the blind spot the case documents, and it lands on the advertiser.
The irony: Google caught his friends, not the farm
A side story from the second post. Dayzle also showed ads through Google's own ad network for apps, and that account was suspended for "self-clicking." "Our entire AdMob history was 255 ads shown and 15 clicks, every one of them on an iPhone or iPad in Canada. Total earnings before the suspension, from real ads shown to real people: $3.77. Canadian." He traced the clicks to a known bug with a missing close button on 2 friends' devices.
"So Google can find a handful of accidental clicks from two of my friends' devices, and it can't find 33 phones running a version of our app its own store wasn't offering anymore."
Our take: that's the asymmetry in 2 sentences. Fraud on the publisher side costs Google's advertisers and gets policed hard. Fraud after a valid view costs the advertiser alone.
The fix that didn't pay, and the stop
On September 29 he moved the remaining campaign's goal from opening the app to "won a puzzle": "It's low effort to make a script open an app and click around; it's higher effort to make one solve a Sudoku." Result: "Google says it found 3 people who did. Our records show 1, and that 1 cost about CA$80." "As of Sep 30, we're spending nothing on Google ads."
Our math: 1 real conversion for about CA$80 is a CA$80 cost per puzzle won. Google's count of 3 would make it about CA$27.
Our take: moving the goal deeper is the standard advice, and forum commenters gave it too: optimize for an in-app event, or pass "puzzle started" or "returned on day 2" back as the conversion. The catch, which another commenter named, is volume: at CA$40 a day, a deep goal gives the algorithm too few conversions to learn from. A small app is stuck between a shallow goal that farms can fake and a deep goal it can't afford to train.
Fact-check: what the author showed and what they hid
We rate every case on 10 points: what an outsider needs to judge the result and repeat it. For an anti-case the score rates how honestly and in detail the failure is taken apart. Like most case studies, this one is selectively true.
- Setup: period, GEO, offer, model — Showed. About 2 weeks in September 2026, Canada and the US, his own app, an install-optimized App campaign at CA$40 a day with a CA$1.50 target, later removed.
- Author and independence — Showed. Named, with a real app; independent from Google. The story doubles as promotion for the app.
- Finances — Partial. CA$220 for 56 installs and the CA$80 peak day are stated. No daily spend table; Canadian and US dollars are mixed in titles.
- Proof — Partial. Tables of behavior by group. No screenshots of Google Ads, analytics or Google's emails.
- Source and targeting — Partial. App campaign, video ads, the target CPA story. The publishers stayed unknown because Google wouldn't name them.
- Tools — Partial. Analytics, his admin panel and the Play Console. No mobile measurement partner, device IDs or IP data.
- Creatives — Hid. Only "the shortest video in my ad group."
- App and store — Partial. The app and its version history are explained; no store page shown.
- Consumables — Showed. Not applicable: his own ad account and app.
- Repeatability of the lessons — Partial. Check install behavior, keep a cost target, move the goal deeper or stop. No refund path exists, by Google's answer.
Score: 3/5. For an anti-case this is careful work: a clear mechanism, a before-and-after comparison, a written dispute and a defined ending, told by someone who admits what he can't prove. It stops at 3 because the sample is tiny, the raw evidence and Google's emails aren't shown, the "bot farm" stays an inference, and the trigger, removing the cost target, is presented as a test rather than as the mistake the numbers point to.
Checklist: what to do
Questions and answers
Does Google refund bot installs from App campaigns?
In this case, no. Google told the developer in 5 emails that it judges the ad interaction, the view or click, and that post-install variations "do not inherently qualify as invalid ad interactions," even though 20 of 21 billed installs on 1 day showed no human activity.
How do you spot fake app installs?
Look at what happens after the install: time on screen, first action, app version and installer. In this case the suspected bots ran an app version the Play Store no longer served, claimed Play as the installer, spent 0 seconds on screen and never returned, while real users averaged about 6 minutes.
Should you remove the target CPA in a Google App campaign?
Not to force spend. In this case removing a CA$1.50 target made the campaign spend CA$80 in a day on 21 installs, 20 of them bots. A target that blocks spend usually means the price is too low for real users, not that the cap should go.
What should small apps optimize for in Google App campaigns?
An in-app action that a script can't fake cheaply, such as finishing a level, once you have enough volume. In this case switching to "won a puzzle" cut out the bots but produced 1 real conversion for about CA$80, so the developer stopped.
Author’s conclusion
This is one of the clearest small-budget fraud write-ups you'll find: a developer who looked past the install count, compared bots with people line by line, argued with Google for a month and published the answer. The lesson for anyone buying installs is sharp: a view-through install that looks valid gets billed, whatever the phone does next, and Google won't name the publisher behind it. The case is also small, unshown and a little kind to its author: CA$220 and 56 installs, no screenshots of the dashboards or the emails, and the decision that opened the door, dropping the cost target, filed under testing.
My advice: on a small App campaign, keep a cost target even if spend is slow, and measure behavior after the install from the first day, not the install count. When installs spike and players don't, pause the same day and keep the evidence. And plan your budget as if post-install fraud won't be refunded, because, as this case shows, it usually isn't.
Lu Discover, Editor-in-chief
Our verdict on this case
For an anti-case this is careful work: a clear mechanism, a before-and-after comparison, a written dispute and a defined ending, told by someone who admits what he can't prove. It stops at 3 because the sample is tiny, the raw evidence and Google's emails aren't shown, the "bot farm" stays an inference, and the trigger, removing the cost target, is presented as a test rather than as the mistake the numbers point to.
Our fact-check of the public case: what the numbers show, what is missing. Scores are never for sale.
Sources for this article
- dayzlegame.com — Nick Abe: I spent $220 on Google app ads. 60% of the installs were robots (September 11, 2026)
- dayzlegame.com — Nick Abe: I sent Google proof of a bot farm. They called it normal user behavior (September 16, 2026)
- dayzlegame.com — Nick Abe: Burning money on ad bots (September 18, 2026)
- dayzlegame.com — Nick Abe: Google blocked invalid interactions but still billed me for bot installs (October 1, 2026)
- reddit.com — Nick Abe: summary post and discussion with other advertisers (September 16, 2026)
- support.google.com — Google Ads: about invalid traffic






Comments
0 commentsNo comments yet.
Add a comment