Q: Split testing an entire website
..Bit of Background. We're not actually looking to 'test' a website A Vs B but have developed a brand new website that we'd like to send ~20-30% of traffic to initially to ensure it works as expected.
I've seen multiple sites do this where you are served a 'beta' and can opt out, however I have no idea how best to implement it.
In short I need to:
Send a % of all traffic to 'version 1' and the remainder to 'version 2'
Remember which user has been served which version so that they have a consistent experience if they re-visit
Allow the user to 'go back to the original site' (and be served that experience going forward)
The experience needs to be as seamless as possible (i.e. not being served a page and THEN redirected if possible)
Help me UX, you're my only hope.