Why is the Play Install Referrer empty or missing?
The Google Play Install Referrer tells your app which link sent the user to Play, but only for Play installs and only for same-session clicks. Check the install source and timing first.
Your answers
All questions and diagnoses
The full decision tree, if you'd rather read it than click through.
- Was the install made from the Google Play Store?
- No: adb, an APK or another store
- Diagnosis: The install did not come from Google Play. Installs from adb, sideloaded APKs or third-party Android stores have no Google Play referrer, so there is nothing to read.
- Yes, from Google Play
- Does the app read the referrer on the very first launch after install?
- No, later or after login
- Diagnosis: The referrer is read too late. Android's documentation says to call the Install Referrer API once, on first execution after install; reading it later, after a crash or behind login, loses or delays the match.
- Yes, on first launch
- What response code does the Install Referrer client return?
- OK
- Does the referrer string contain your campaign parameters?
- No, it is empty or generic
- Does your link pass the referrer parameter through every redirect to Google Play?
- No, or not sure
- Diagnosis: Referrer parameters lost in a redirect. If a redirect between the click and Google Play drops the referrer parameter, Play has nothing to hand back to the app.
- Yes
- Diagnosis: View-through or earlier-session install. Meta's documentation notes the Google Play Install Referrer covers only same-session click-through installs, so view-through installs and clicks from an earlier session leave it empty.
- No, or not sure
- Does your link pass the referrer parameter through every redirect to Google Play?
- Yes, the parameters are there
- Diagnosis: Referrer read, but not mapped to a campaign. When the referrer has parameters but the install still looks organic, the MMP is not decoding them, for example Meta's encrypted utm_content without the decryption key.
- No, it is empty or generic
- Does the referrer string contain your campaign parameters?
- FEATURE_NOT_SUPPORTED
- Diagnosis: The Play Store app does not support the API. FEATURE_NOT_SUPPORTED means the Install Referrer API is not available on the Play Store app on that device.
- SERVICE_UNAVAILABLE or a dropped connection
- Diagnosis: The Play service was unavailable. Android's documentation says the connection can drop, for example while the Play Store updates, and you must call startConnection again.
- OK
- What response code does the Install Referrer client return?
- No, later or after login
- Does the app read the referrer on the very first launch after install?
- No: adb, an APK or another store
Related symptoms
Common questions
Why is the Google Play Install Referrer empty?
Usually because the install did not come from Google Play, the app read it too late, a redirect stripped the parameters, or the install came from a view rather than a same-session click. Debug builds installed through adb have no Play referrer.
How long is the Install Referrer available?
Android's documentation says referrer information is available for 90 days and does not change unless the app is reinstalled. It still advises calling the API only once, on first execution after install.
Does the Play Install Referrer cover view-through installs?
No. Meta's documentation describes the Google Play Install Referrer as covering only same-session click-through installs. Meta's own Install Referrer covers views and multi-session clicks from its apps.
What does FEATURE_NOT_SUPPORTED mean?
It means the Install Referrer API is not available on the Play Store app on that device. The install cannot be matched by Play referrer and needs another method.
What is mobile attribution?
Mobile attribution is the process of crediting each app install or in-app event to the ad, link or channel that drove it. A mobile measurement partner (MMP) does this across all your channels so each install is counted once.
Why do ad networks report more installs than my MMP?
Each network counts every install it touched within its own windows, including views, while an MMP gives each install to a single source. Adding the networks' numbers together therefore overstates real installs.