Answer in brief
A website knows a visitor by a browser identifier and an app knows a user by a device identifier, and the two do not match on their own. You join them in two ways: a click on a tracking link connects one web visit to one install, and a user ID that you set after login on both sides connects every later session. Anonymous visitors who never click through or log in stay separate.
Why the two sides do not match by default
Your website runs inside a browser and your app runs on the operating system. Each has its own way to tell one visitor from another, and neither can read the other's. So a person who reads your pricing page in a browser on Monday and opens your app on Tuesday looks like two strangers unless something ties the sessions together.
The identifiers involved
| Identifier | Where it lives | What it can join |
|---|---|---|
| Browser identifier | A value the web SDK stores in the browser | Visits from the same browser |
| Device identifier | A value the app SDK reads or creates on the phone | Sessions of the app on the same phone |
| Click record | The attribution platform's server | One web click to one app open |
| User ID | Your own account system | Any browser and any device where the person is logged in |
The advertising identifier on iOS is one kind of device identifier, and access to it depends on the user's choice.[1] That subject belongs to IDFA and is not repeated here.
Join one: the click
The first join is the one made by web-to-app attribution. When a visitor taps a tracking link on your site and then opens the app, the platform links that click to that device. From then on, the app user carries the web source that brought them.
This join is narrow. It connects a single moment on the web to the app. It does not pull in the visitor's earlier browsing, and it does nothing for someone who already had the app and never tapped a link.
Join two: the user ID
The second join is broader and it is your job to provide it. When a person logs in on the website, your code hands the web SDK their account ID. When the same person logs in to the app, your code hands the app SDK the same ID. The platform can then treat both streams of events as one person.
- Pick one stable ID from your own database. It must be the same value on web and in the app.
- Set it in each SDK straight after login or signup, and clear it on logout.
- Send your key events with the ID attached on both sides.
- Check one test account: log in on web, then in the app, and confirm the platform shows one user.
Having both sides in one report is what cross-platform attribution means in practice. It needs the website's events to be collected in the first place, which is why it usually sits on a higher plan than web-to-app alone. In Airbridge, for example, web event measurement is a Growth Plan feature.[2]
What will stay unjoined
No setup recognises everyone. Expect these gaps and do not read them as errors.
- Visitors who browse without logging in and install later by searching the store.
- People who use the site on a laptop and the app on a phone before they have an account.
- Browsers that clear stored data, which makes a returning visitor look new.
The honest reading of a web-and-app report is that it shows a floor. The true overlap between your web visitors and your app users is at least what the report shows.
What to do next
If you only need to know which pages produce installs, the click join is enough and you can stop there. If you need a person's web purchases and app purchases in one place, plan the user ID work with your developer, and read what the web SDK does and what the app SDK does to see which SDK has to collect what.
Questions and answers
Is a user ID the same as a device ID?
No. A device ID identifies a phone or a browser. A user ID is a value from your own system that identifies an account. One account can appear on several devices, and one device can hold several accounts.
Should I send an email address as the user ID?
Use an internal account number or another value that does not reveal who the person is. It does the same job of joining sessions without putting personal contact details into your measurement data.
Continue reading
Guide
How web-to-app attribution worksWeb-to-app attribution connects a web visit to the app install that follows. What the web page adds, where the match can fail, and what to check first.
Guide
Measuring a landing page that sends visitors to the app storeMeasure a landing page built to drive app installs: the four counts to collect, which tool holds each one, and how to read the drop between them.
Guide
UTM parameters versus tracking linksUTM parameters label a visit to a web page. Tracking links record a click and follow it into an app. When to use each, and how to use them together.
Guide
Why teams run web campaigns to grow an appWhy app teams send ad traffic to a web page before the app store, what the extra step costs, and how to decide whether to try it.
Guide
What the web SDK does and what the app SDK doesAn attribution platform has an SDK for your app and another for your website. What each records, how they connect, and which one you need first.
Web and app
Best attribution platform when the journey starts on the webHow seven attribution platforms handle journeys that start on the web and end in an app, and which plan you need for it.
Sources
- Apple: https://developer.apple.com/app-store/user-privacy-and-data-use/ Checked 2026-11-10.
- Airbridge: https://www.airbridge.io/en/pricing Checked 2026-11-10.
Cite this page
Airbridge. “Recognising one person across the website and the app.” bestattributionplatform.com. Reviewed 2026-11-10. https://bestattributionplatform.com/one-user-across-web-and-app