If I am running a small bookstore, when a customer enters I can:

  • see their height / morphology
  • see whether they are alone or in company
  • see the coat, shoes etc. they are wearing
  • hear their accent (if they ask a question)
  • see whether they are walking unaided or have crutches / wheelchair
  • guess at their age bracket (somewhat reliably)
  • guess at their physiological sex (somewhat reliably)
  • guess at their gender identification (less reliably)
  • recognise whether they are a first time, occasional or frequent visitor
  • see what items they are paying attention to etc.

Some things I can verifably see, others I can only guess at with a greater or lesser degree of accuracy.

I am curious to compile a comprehensive list of what information I can derive about a website visitor, how can I derive it and how reliable it is.

Here is what I have come up with so far:

Verifiable Information

  • UNIX Timestamp - Date.now() (Javascript)
  • the visitor's Online status - window.navigator.onLine (Javascript)
  • the visitor has JS enabled - [any true/false test using JS] (Javascript)
  • the visitor's screen resolution - window.screen.width / window.screen.height (Javascript)
  • the visitor's viewport - window.innerWidth / window.innerHeight (Javascript)
  • the site URL the visitor is currently visiting - window.location.href (Javascript)

Verifiable Information (requires response)

  • the visitor's geolocation - navigator.geolocation.getCurrentPosition() (Javascript)

Less Reliable Information

  • the visitor's IP address - $_SERVER['REMOTE_ADDR'] (PHP)
  • the visitor's OS Category - window.navigator.platform (Javascript)
  • the visitor's browser language - window.navigator.language (Javascript)
  • the visitor's timezone - Intl.DateTimeFormat().resolvedOptions().timeZone (Javascript)

Unreliable Information

  • the visitor's Browser Type - window.navigator.userAgent (Javascript)
  • the visitor's Browser Version - window.navigator.userAgent (Javascript)
  • the page the visitor arrived from - $_SERVER['HTTP_REFERER'] (PHP)
  • the visitor's Host - $_SERVER['REMOTE_HOST'] (PHP)

I'm guessing there will be much more info - and probably more categories of info - that can be derived.

Ideally I would like to collaboratively compile a comprehensive list of information and derivation methods.

All useful contributions will be upvoted.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Browse other questions tagged or ask your own question.