Know which installs were people.
Ad networks bill you for bot installs too. AdHedge verifies every install with Play Integrity and fires your conversion only for real ones.
- Attested by Play Integrity
- No personal data collected
- Free up to 1,000 verified installs/month
Install verified
Play-recognized · Licensed
Build 412 (current)
-
Pixel 8 · play TRUSTED
-
Galaxy A14 · play UNVERIFIED
build not served by Play
-
unknown · unknown SUSPECT
sideloaded + no first-session input
Product
What it catches
Every install gets a verdict and a reason.
- Stale builds
- Installs running a build Play stopped serving. Farms replay old APKs.
- Sideloads dressed as Play
- Installer says Google Play. Play's license check says no.
- Emulators and test rigs
- No device integrity, ADB on, test-keys builds.
- Sessions with nobody in them
- Opened once. Zero taps. Never back.
- Reinstall churn
- Same device inside 90 days. Billed once.
- Installs that never opened
- The network counted it. Your app never saw it. Upload their report to see the gap.
How it works
Live on your next build.
-
01
Add the SDK
One Gradle line, or let your coding agent add it. One Play Console setting.
implementation("io.adhedge:install-trust:1.0.0") -
02
Ship your next build
Every new install is checked on first launch. Verdicts in seconds.
-
03
Bid on real installs
See your Trusted rate by source: the share of installs Play vouched for the device on. Bid on
verified_install. Bidding steers from about 10 real players a day.
Sample report
Your dashboard on day one
Trusted rate · last 14 days
Play vouched for the device · new installs · Aug 30 to Sep 12 · all networks · existing users excluded
TRUSTED: Play verified the app and its license. One in-app behavior flag never downgrades a phone Play recognized and licensed with strong device integrity. UNVERIFIED: one red flag, or Play couldn't confirm it. SUSPECT: red flags from two different checks, such as USB debugging plus no taps on day 0. Excludes Non-Play, existing users and sampled-out installs.
| Day | Source | Verdict | Reason |
|---|---|---|---|
| Sep 12 | play | TRUSTED | PLAY_RECOGNIZED · LICENSED · build 412 |
| Sep 12 | play | UNVERIFIED | VERSION_NOT_PLAY_SERVED |
| Sep 11 | unknown | SUSPECT | ADB_ENABLED + NO_INTERACTION_D0 |
| Sep 11 | play | SUSPECT | CERT_UNKNOWN + VERSION_NOT_PLAY_SERVED |
| Sep 10 | non_play | UNVERIFIED | INSTALLER_NOT_PLAY |
Existing users
Aug 30 to Sep 12 · never billed
- Users sampled
- 1,240
- Trusted of sampled
- 91.3%
Reconciliation · Aug 30 to Sep 12
Uploaded network reports vs. new installs your app saw
- Installs reported by networks
- 611
- New-install first opens
- 515
- Trusted
- 353
- Reported but not Trusted
- 258 (42.2%)
- Never opened
- 96 (15.7%)
Never opened: reported by networks, never opened.
- No package list.
- No contacts, precise location, or phone permissions.
- No Android ID. Ad ID only when your app already has it.
- No IMEI, serial, MAC, or SSID.
- No touch coordinates.
- No tracking across apps.
- No stored Play Integrity tokens.
- No keystrokes or screen content.
Pricing
Bots are free. You pay for the people.
Flat price up to a cap, then $0.03 per verified install. Everything else is free.
Free
$0 /month
Up to 1,000 verified installs a month. No card.
Past 1,000 in a month a 14-day grace starts. When it ends, verified_install stops firing until you upgrade or the month resets. Verdicts, reconciliation and evidence packs keep working.
- Verdicts with reason codes
- Reconciliation view (CSV upload)
- Evidence pack export
- Verified conversion event
Pro
$99 /month
Block bots from your conversions and your ads. Agencies get 20% off.
- Everything in Free
- Blocking mode: one switch blocks bot conversions and gates ad requests. Server-sent conversions reach Firebase, AppsFlyer and Adjust. No Meta or TikTok yet.
- 5,000 verified installs, then $0.03 each
| Verified installs / month | Flat | Past the cap | Monthly total |
|---|---|---|---|
| 800 | $99 | 0 × $0.03 | $99 |
| 5,000 | $99 | 0 × $0.03 | $99 |
| 30,000 | $99 | 25,000 × $0.03 | $849 |
| 200,000 | $99 | 195,000 × $0.03 | $5,949 |
Pro pricing. You never pay for unverified installs, existing users, or reinstalls.
FAQ
Questions we get
Does this block real users?
Can I use this for an invalid-traffic claim?
What do I set up in Google Cloud?
What does it send home?
Does it slow my launch?
What about my existing users?
Does it work with AppsFlyer, Adjust, or Firebase?
verified_install into whichever one it already uses. Set it as your primary conversion. In blocking mode our server sends it to Firebase, AppsFlyer and Adjust only, and none of the three is tested on a live campaign yet. Meta and TikTok have no server path, so blocking sends them no conversions.Is it open source?
Stop paying for installs nobody made.
Early access for Android apps buying installs.