Buyers tend to treat a served impression in a compliant app as a reasonable proxy for a seen one. If the app-ads.txt file is valid, the listing is live, and the risk flags are clear, the inventory gets through.
Utility apps break that assumption. These are the QR scanners, live wallpapers, keyboards, VPNs, cleaners, and flashlight apps that sit on nearly every phone. Most of them work fine. But they are opened for seconds or left running in the background, which makes them a poor place to run advertising whether or not anyone is acting in bad faith.
In our latest report, we sorted 212,344 of these apps by two questions: what makes each one exploitable, and whether an ad inside it has any chance of being seen. The category fails twice, and the two failures reinforce each other.
The less visible the surface, the more likely it carries ads
On Google Play, 83.8% of utility apps declare that they contain advertising, against 71.7% for the rest of the store. Sort those apps by whether a user is looking at the screen when an ad renders, and the declaration rate moves in the wrong direction.

Wallpapers are the clearest case. They are the largest utility subtype on Google Play at 23,310 apps, and 94.4% of them carry advertising into a surface that sits behind the icon grid.
The complaint data points the same way. Users complain about ads least in the tier where ads are least noticeable. One caveat: the tiers are our analytical judgment about where an ad renders and how long a user is present, not measured session data.
Apple gives buyers nothing to sort by
None of the 128,367 Apple utility apps declare advertising, because Apple has no field for declaring it.
That matters because 106,560 of those apps, 83.0% of the population, sit in Tier A or Tier B. The store with the largest block of unwatchable utility inventory is also the store where a buyer cannot tell which apps are monetized at all.
Why compliance screening doesn't catch this
On the signals a buyer can actually screen, Google Play utility apps look better than the store average.

The paperwork is in order because advertising is the product. A buyer screening on transparency signals will keep this inventory and drop apps that are less commercially active.
What users report is a different story. Malware and spyware complaints affect 14.7% of utility apps against 6.3% of everything else on Google Play, at roughly 4x the volume per app.
A category problem, not an app problem
These apps aren't independent software that happens to share a category. On Google Play, 37.7% of utility apps come from developer families of ten or more. Bundle patterns matching com.ikeyboard appear across 1,355 apps under seven different declared developer names, every one of them declaring advertising.
The developer name doesn't help either. Of the 5,003 utility bundle IDs that appear on more than one store, 72.8% carry a different developer name depending on which store you ask. After we normalized for legal suffixes and brand-versus-entity differences, 42.1% still carried two names with nothing in common.
What buyers should do
Exclude, don't optimize. Utility apps belong in the same bucket as MFA and AI-generated supply: a named category with a standing exclusion, enabled only for extremely trusted developers.
Don't expect a viewability filter to rescue it. A wallpaper app can't be optimized into a foreground viewing session.
Don't treat app-ads.txt presence as a quality proxy here. It remains a necessary minimum, but in this category the filter selects for the inventory you're trying to avoid.
To see all eight risk segments, the 21 subtypes, and the full store-by-store data, download Served, Not Seen: How Utility Apps Monetize Surfaces Nobody Watches here.
DeepSee.io surfaces app-level compliance signals for mobile and CTV apps, including app-ads.txt status, utility app status, and privacy policy infrastructure using the same signal structure we've long applied on the web. If you want to see how your inventory (or your marketplace's inventory) measures up against these practices, get in touch.

