This website works best with JavaScript enabled. Learn how to enable JavaScript.

VWO Blog

A Blog Around Everything Conversion Optimization And Beyond

Never miss an update from VWO

A value for this field is required.

Thanks to CloudFront, Visual Website Optimizer is faster than ever

Continuing our mission to juice up backend infrastructure of Visual Website Optimizer, today we switched to a Content Delivery Network (Amazon CloudFront) for serving static JavaScript file. Earlier we used Amazon S3 for this purpose (and the reason was this). But since now we have changed the failover mechanism, we can easily move to a CDN for delivering static files.

To cut out the technical details, the change we did today means that the load time due to Visual Website Optimizer will be drastically reduced as now the code that is needed to run a test is downloaded much faster (our benchmarks and early feedback suggest it is at least 2x-10x faster). Following are some FAQs related to this change.

Basic question: what do I need to do if I am currently running tests?

You simply need to update VWO code snippet to the latest one in order to enjoy faster loading tests. The code snippet is available in Add Code to Website section in test reports. By the way, the new URL of the JavaScript file is

Techie question: why don’t you have a nice URL for JavaScript file? Don’t you know about CNAMEs?

Yes, we are aware of it and desparately wanted to use a URL however CloudFront doesn’t yet support custom SSL certificates. That is, sites accessing would have thrown a certificate error which isn’t nice. We will update the code fragment with a nice URL as soon as Amazon starts supporting it.

Offbeat question: what if I want to host static JavaScript file myself?

First, it is not at all needed now as CloudFront will be faster than hosting the file yourself. Second, if you really want to host the file yourself, please go ahead and do it. Though make sure you keep up to the latest version as we regularly do minor (unannounced) bug fixes. However, whenever there is a major change we definitely announce it on blog and newsletter.

Philosophical question: what’s the answer to life?

Forty Two


To fully convince you how fast Visual Website Optimizer has become, here are some load time metrics from different locations across the world (thanks to WatchMouse).

Load time of previously S3 hosted code snippet (observe that average total load time is about 700-1000 milliseconds).

Load time of new CloudFront hosted code snippet (observe that the average total load time has come down to 50-70 milliseconds – a whopping 10x speed improvement).

Founder and Chairman of Wingify.

Comments (8)

Leave a Comment
  1. One thing that has always concerned me about Javascript-based A/B testing is that as the connection to the remote server is made (Amazon S3 in this case), the ‘A’ or default state must still be displayed. How do you address the issue of the page reflowing as the A state is replaced with the B state?

  2. How does that remedy the issue? There will still be a delay between first arriving at the page & when the Javascript hides the original elements… then the replacement elements still need to be injected into the page. I assume this is just a fact of life when it comes to client-side A/B testing.

  3. Err reading over my initial comment, I don’t think I was clear enough.

    To clarify, what I’m concerned about is seeing a noticeable ‘flash’ as the content of the page changes/reflows.

  4. Cloudfront now supports https so you can have a nice url using a CNAME record. The only caveat is that the bucket name cannot contain dots within it as this will modify the sub-domain level and cause the SSL certificate to error.

Leave Comment

Your email address will not be published. Required fields are marked *

You may use these HTML tags and attributes : <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong>

Contact Us / Login