I'd go with Optimizely. If you want to also send the data to a server for analytics external to Optimizely, you can use their API.
Million users are not even part of Optimizely's standard package (I assumed it is going to be expensive).
I wish I can use Optimizely client side APIs with free Google Analytics :)