What is the best way to tell anonymous users apart? My company wishes to split their website so that anonymous users are given slightly different sites based on a question when they first visit.

I intend to use a cookie to store the answer to the question between sessions, but I'm wondering what the best way is to use that answer once the user is browsing the site?  I intend to use page manager to handle the context but I'm still trying to determine where it should be stored:


Cookies can be turned off by the user, or the IT department, much of our target audience have policies restricting or outright banning cookies
Session variables seem to be the way to go, unless:
Does the Global $user variable store different information for each anonymous visitor?


Are there downfalls in either of the latter two options?  Have I missed any options?
Session variables seem to be the way to go


Don't forget that session variables rely on cookies


  Have I missed any options?



The traditional solution would be to use the ip address as a fallback if cookies are disabled.
PHP does support an alternative to cookie-based sessions -- it can rewrite the URLs to include "?PHPSESSID=xyz". However, securing this can be difficult.
Another approach would be to use html5 local storage and do all the cusomizations on the client-side. This will work in all modern browsers regardless of cookie or firewall settings.