Most Android attribution problems are not measurement problems. They are setup problems that only show up weeks later, as installs Google or Meta claim but your dashboard never counted. This is how to set up mobile attribution on Android properly the first time, and the configuration mistakes that quietly cost you attributed installs.
What Is Mobile Attribution on Android?
Mobile attribution on Android is the process of connecting an app install and the in-app events that follow it back to the ad, campaign, or link that drove them. On Android it leans on three signals that iOS does not use the same way: the Play Install Referrer, the Google Advertising ID (GAID), and the install referrer passed through ad-network APIs.
Play Install Referrer: a Google Play API that returns the referrer string attached to the install, including UTM parameters and the click identifier. It is the backbone of deterministic Android attribution.
GAID: the resettable advertising identifier used to match a click to an install, subject to the user's consent choices.
Getting these wired correctly is what separates clean Android measurement from a dashboard that under-reports paid installs and over-credits organic.
Before You Start: What You Need
- Your app's package name and a signed build (attribution needs a real Play Store install path to test properly).
- Access to your ad accounts (Google Ads, Meta) to connect them once the SDK is live.
- A defined list of the in-app events that matter (signup, first purchase, key activation), agreed before you write any tracking code.
- Developer access to add a dependency and initialise the SDK at app start.
Step-by-Step: Setting Up the SDK
1. Add and initialise the SDK
Add the attribution SDK dependency to your Android project and initialise it once, as early as possible in the application lifecycle, not inside a single activity. Initialising late or in the wrong place is the most common reason first-open events go missing. Linkrunner's Android SDK initialises with a single call at app start.
2. Enable the Play Install Referrer
The SDK reads the Play Install Referrer to capture the referrer string on first open. Confirm the install-referrer dependency is present and that you are not stripping UTM or click-ID parameters anywhere in your deep-link handling. This is the single highest-value signal in Android attribution, and the easiest to break.
3. Handle GAID and consent
Collect the GAID where consent allows, and make sure your consent flow runs before the first attribution call, not after. If the SDK fires before the user's consent state is known, you either lose the identifier or send data you should not. Treat consent as a gate on the first attribution event, not an afterthought.
4. Wire up deep links, including deferred
Register your links so the SDK can resolve both direct and deferred deep links, the latter being the case where a new user clicks a link, installs, and should still land on the right screen after opening. Deferred handling is where most Android deep-link setups quietly fail, because the referrer is captured but never read on first open.
5. Track the events that matter
Send your agreed in-app events through the SDK's event API, using a small, governed taxonomy rather than firing everything. Attach revenue to purchase events so your postbacks can carry value signals, not just install counts, back to the ad networks.
6. Connect the ad networks
Once events flow, connect Google Ads and Meta so postbacks and the install referrer line up on both sides. Mis-mapped postbacks are a frequent cause of the "Google says 1,000 installs, we counted 700" gap.
The Android Setup Mistakes That Cost You Installs
Across attribution audits, the same Android configuration errors recur:
- Install Referrer never read on first open. The referrer is captured by Play but the app reads it too late or not at all, so the install lands as organic.
- UTM or click-ID parameters stripped in deep-link routing. Custom link handling drops the query string before the SDK sees it.
- Consent flow racing the first attribution call. The SDK fires before consent state resolves, losing the GAID.
- SDK initialised inside an activity, not the application class. First-open and cold-start events go missing.
- Event taxonomy sprawl. Dozens of ad-hoc events with no revenue attached, so postbacks cannot optimise toward value.
None of these throw an error. They show up as under-attributed paid campaigns weeks later, which is why validation matters before you scale spend.
How to Validate Your Android Setup
- Run a test install from a real Play Store link with UTM parameters and confirm the referrer and campaign appear in your dashboard.
- Fire each core event once and check it lands with the right parameters and revenue.
- Confirm a deferred deep link routes a fresh install to the correct screen after first open.
- Reconcile a day of installs against Google Ads and Meta to catch postback mapping gaps early.
Linkrunner's integration testing guide covers the end-to-end check, and first data typically appears within 24 hours of a correct install.
Why Android Timing Looks Different from iOS
Android installs resolve fast. In first-party benchmarks across hundreds of thousands of matched pairs, the median Android click-to-install time is around 2 to 3 minutes, against roughly half an hour on iOS. That speed is why a correctly-read Play Install Referrer gives Android such clean deterministic attribution, and why a broken one is so costly: the signal is there and available quickly, so losing it is a self-inflicted gap, not a platform limitation.
FAQ
How does attribution work on Android without third-party cookies?
Android attribution is deterministic by design. It uses the Play Install Referrer and, where consent allows, the GAID to match a click to an install, rather than relying on cross-site cookies.
What is the Play Install Referrer?
It is a Google Play API that returns the referrer string, including UTM and click-ID parameters, attached to an install. It is the primary signal for connecting a paid click to the resulting Android install.
How long does an Android attribution SDK take to set up?
A clean integration is a few hours of engineering: add and initialise the SDK, enable the install referrer, handle consent and deep links, and send your core events. With Linkrunner, first data usually appears within 24 hours.
Why does Google Ads report more installs than my MMP?
Usually a setup gap: a late-read install referrer, stripped UTM parameters, or mis-mapped postbacks. Validate the install-referrer path and postback mapping before assuming the discrepancy is real.
Next Steps
Set the SDK up once, validate it against a real install, and reconcile against your ad accounts before you scale spend. That order is what keeps Android attribution clean rather than something you debug after budget has already been misallocated. If you want an Android SDK that initialises in a single call and shows first data within 24 hours, see the Linkrunner Android docs or request a demo.
