Android intent referrer
When an Android app opens a web URL, it can attach an Intent referrer (EXTRA_REFERRER) indicating which app launched the browser. This is an Android platform mechanism distinct from the HTTP Referer header — some browsers expose it and some do not — so app-originated visits may or may not reveal the launching app, and UTM tags remain the reliable cross-platform signal.
What the Intent referrer is
On Android, opening a URL is done through an Intent. The launching app can include an EXTRA_REFERRER value (typically an android-app:// reference) that names which app started the browsing session. This is an operating-system mechanism, separate from the HTTP Referer header your server sees.
It exists because many app-to-web transitions are not normal HTTP navigations — an app hands a URL to a browser, and without the Intent referrer there would be no indication of which app sent the user.
- EXTRA_REFERRER is an Android Intent extra, not an HTTP header
- Often expressed as an android-app:// value naming the launcher
- Distinct from document.referrer / the Referer header
Why it may not reach your analytics
Whether the Intent referrer is surfaced to a web page depends on the browser. Some browsers translate it into document.referrer as an android-app:// value; others do not expose it at all, in which case the app launch looks like direct traffic with no source.
Because this behaviour is inconsistent across browsers and apps, do not depend on the Intent referrer for attribution. Tag the links you place inside Android apps or deep links with UTM parameters; the query string survives the Intent and reaches your server regardless of whether the browser forwarded the Intent referrer.
How it appears in analytics and logs
An Android Intent referrer identifies the app that launched a URL via the platform, not via the HTTP Referer header. Whether it reaches your analytics depends on the browser; when it does not, app launches appear as direct.
Diagnostic use case
Understand why some Android app-to-web visits can identify the launching app while others arrive as direct, and why HTTP-level referrer logic does not fully cover app launches.
What WebmasterID can help detect
WebmasterID relies on UTM parameters and the HTTP referrer that actually reach the server, and treats app-launch context as a coarse channel signal, so Android app-originated visits are classified honestly without inventing data.
Common mistakes
- Confusing the Android Intent referrer (EXTRA_REFERRER) with the HTTP Referer header.
- Depending on the Intent referrer for attribution despite inconsistent browser support.
- Treating android-app:// referrers as web hosts instead of app sources.
- Not tagging in-app and deep links, so app launches collapse into direct.
Privacy and accuracy notes
The Intent referrer names a launching app package, not a person. WebmasterID treats it as a coarse source signal and never as visitor identity; no fingerprinting is involved.
Related pages
- iOS universal links referrer
On iOS, a universal link lets a tapped https URL open directly in an installed app instead of the browser. Because the transition skips a normal web navigation, there is usually no HTTP Referer header for the destination, so universal-link visits often arrive as direct and UTM parameters are the reliable way to attribute them.
- Messaging app referrer (WhatsApp, Telegram, etc.)
Links shared in messaging apps such as WhatsApp, Telegram, and similar tools almost always reach your site with no web referrer. These private shares are a core form of dark social: real, often high-intent traffic that referrer reports cannot attribute. UTM tags are the only reliable measure.
- Referrer-Policy and missing referrers
Referrer-Policy is the web standard that controls how much of the referrer a browser sends with a request. Site owners set it via an HTTP header or a meta tag, and modern browsers default to a privacy-leaning value. Understanding the policy values explains why so many referrers arrive trimmed to the origin or missing entirely.
- Campaign links
Tag in-app and deep links so Android app launches are attributable regardless of Intent-referrer support.
Sources and verification notes
- Android Developers — Intent.EXTRA_REFERRERPlatform mechanism for passing a referrer between apps; distinct from the HTTP header.
- MDN — Document.referrer
Last reviewed 2026-06-24. Facts are checked against primary/official sources where available; uncertain specifics are marked “Data not yet verified” rather than guessed.