Short answer: Google Play passes campaign details to your app through one parameter, referrer. Your UTM tags must go inside it, URL-encoded, so = becomes %3D and & becomes %26. Google's documentation also says the referrer must be 512 characters or less. Tags left next to id= aren't part of the referrer value.
What is the Play Store referrer?
Install referrer: the value of the referrer parameter in a Google Play link, which Google Play keeps and hands to the app after install so it can see where the install came from.
Play Install Referrer API: Google's way for an app to read that value after install. Google says the information is available for 90 days and doesn't change unless the app is reinstalled, and that apps should read it once, on first open.
Attribution tools read the referrer through this API to credit installs to campaigns.
Why must UTM tags be encoded inside referrer?
Because the referrer is one value inside the Play link, and = and & already have a meaning in links. Unencoded, the Play link would split your tags into separate parameters, and the referrer would hold only the first one.
Google's own example shows the pattern:
https://play.google.com/store/apps/details?id=com.sample.package&referrer=utm_source%3Dsearch%26utm_medium%3Dcpc%26utm_campaign%3Dsummerpromo
Google's user-acquisition documentation says the referrer string "must be URL encoded, 512 characters or less". That page is part of Google's Play Games documentation, so treat 512 as the safe limit for all Play links.
Example
Tags placed next to id=, outside the referrer:
https://play.google.com/store/apps/details?id=com.example.app&utm_source=influencer&utm_medium=creator&utm_campaign=diwali
Tags inside the referrer but not encoded, so only utm_source stays in it:
https://play.google.com/store/apps/details?id=com.example.app&referrer=utm_source=influencer&utm_medium=creator
The fixed link:
https://play.google.com/store/apps/details?id=com.example.app&referrer=utm_source%3Dinfluencer%26utm_medium%3Dcreator%26utm_campaign%3Ddiwali
How to fix it
- Paste the link into the link checker. It shows tags outside the referrer, decodes the referrer and lists what's inside it.
- Move every UTM tag inside
referrer=. - Encode the referrer value:
=becomes%3D,&becomes%26. Don't encode the&beforereferreritself. - Keep the encoded referrer to 512 characters or less. Short values help.
- Build links in the app store link builder, which encodes the referrer for you.
- Ask your developers which tag names the app reads from the referrer, so the link uses the same ones.
Where attribution tools fit
The referrer only tells the app which campaign sent the install. If you also want the user to land on a specific screen after installing, that's deferred deep linking, which tools such as Linkrunner, Branch or Airbridge handle alongside attribution. See one link for both stores.