I immediately hopped onto some of our metrics systems, and started piecing together what seemed to be a huge discrepancy in performance of our donation form for a specific browser. Firefox itself was not the culprit, but rather it turned out to be where our population using the browser lived. Firefox, being so heavily dominant in non-North American cultures, appeared to be overall slower, but what it actually meant was that more overseas folks used Firefox! Yay!
- Verified that browser load times of our fundraising page on Firefox were in fact worse than other browsers.
- Verified that bounce rate was in fact much higher for Firefox than other browsers.
- I used webpagetest.org to test a Firefox load of the page versus Chrome/IE8 from the same location. These results did show that Firefox was on par with the other browsers for load time from the same geographical location.
- I used webpagetest.org to test a Firefox load of the page from London, which showed we had a 18s load time in the UK compared to a 4s load time in the US.
- Having now identified the true culprit (geography), we assessed what our page was putting on browsers to load…. That turned out to be 49% images.
A CDN (Content Delivery Network) is basically a collection of hundreds or thousands of servers, dispersed all over the world. You can host your static assets, such as .html files, .css files, images, and js files on these thousands of servers, and then when our friends overseas pull up the page, it pulls up those files from a geographically close CDN “edge server”. Just like flying to a faraway land, the longer the trip, the longer the time spent traveling! If we use a CDN to make it so that trip is much shorter, the browser will spend less time “traveling” to the page.
We decided to move just our images, 49% of our page load, onto a CDN (Cloudfront, the AWS CDN). We saw amazing results just from this small change.
- London: Non-CDN load times of 19 seconds, CDN load times of 12s. (edit: correct 2s to 12s)
- South Korea: Non-CDN load times of 25 seconds, CDN load times of 6 seconds.
- Texas: Non-CDN load times of 2.9 seconds, CDN load times of 2.3 seconds.
We know in this industry that one extra second of load time can bring conversion down 7%, so it is critical that our fundraising forms load fast. Since we are so global here at Mozilla, it is even more critical that we do not forget about non-North American audiences, and optimize our pages for them. Shaving off 19 seconds for South Korea, 5-10 seconds for London, and even a half of a second here in the states should definitely help our already-amazing conversion rates!