An Android user lands on a landing page on my website. He gets assigned a new UUID which gets stored in the DB.

There’s a button on a page to download an my Android app. The app registers its own scheme – my-custom-app://, if this matters.

He downloads and launches it, immediately or in a few days.

Question: within the Android app, how will I determine whether or not the Android phone it’s being run on the same that was used to open the landing page on my website? That is, track the user between a mobile browser and the app.

I need to track the new users only – the ones who don’t have or not run the app yet.

Condition: the landing page, after the app has been downloaded, may not ask the user to reload itself or to open any link with a tracking_id/user_id via the scheme of app. That is, a user should land on the page, download the app if not yet already, open it by himself and get identified.

Is there some kind of unique ID, be it Android device ID, fingerprint? The one to which an html page will have access to via JS.

I’m aware that an IP of user may change, and that this tracking approach is prone to an error. But it’s results in more or less accurate one, it’ll do.

Also, the target user isn’t technically save, therefore simple techniques will work.