The effects of a single Google Ad on the performance of carinsurance.arrivealive.co.za
I recently underwent an expedition to improve the performance of carinsurance.arrivealive.co.za seeing as the site was a bit slow.
The following post has nothing to do with the various methods of improving performance like caching, minification, etc. The only objective of this exercise was to determine the impact on the performance of adding Google Ads to the site.
Defer parsing of JavaScript
Firstly, let’s look at the various metrics without ads and then compare that with everything exactly the same, excluding the ads.

The “Defer parsing of Javascript” metric has largely been sorted out prior to this experiment with the exception of jQuery and one inline script.

Adding a single Google ad to the site reduced the above metric from 93 to 74. That may not sound so bad, but you have to keep in mind that all those additional scripts will have to be parsed and executed before other, more important, scripts will be handled. This can have a very visible impact on perceived website performance.
Reduce DNS lookups

This is another metric where we can easily achieve a good score. With the exception of a couple of Google resources, everything is looking great.

Adding a single ad increased the number of DNS lookups from 3 to 9, effectively tripling the number of lookups. This reduced our score from 100 to only 75.
Add Expires headers

Anybody who has ever run performance benchmarks on a website will know that unless you download the Analytics file and host it locally, you will get the above issue with expires headers.
The Google fonts seem to have the same issue. I am sure one could download those locally as well, but I did not deem it necessary for this site. We also have only 2 resources with this issue, so I would not worry too much about it.

The Google ad increased our resources with “issues” to 7. That is a huge jump from the starting amount of 2. This caused our score to plunge from 78 to a dismal score of 23!
All of these issues are also Google resources, leaving one to wonder why they don’t like caching files served to users. Because these files are hosted with Google, you have zero control over the caching settings.
Make fewer HTTP requests

During my initial performance optimization of this site, I was only able to get the resources down to 12 scripts and 4 stylesheets because of the theme’s design. Combining more files caused the site to completely fall apart. This will vary from site to site depending on the development quality of the site itself as well as the plugins required by the theme. We thus have a not-so-good starting score of 56.

Adding that single advertisement caused the site to load 24 scripts and 5 stylesheets. This had a horrible impact on our score. Falling from 56 to a shameful score of 4! Keep in mind that those additional scripts are render-blocking and we have no control over them what so ever.
GTMetrix Score

The site started out with a respectable score of 96 for PageSpeed and 84 for YSlow as well as a fully loaded time of 6.4 seconds, a total page size of 742KB and only 37 requests.
Considering the limitations of the theme when it comes to combining resources as well as the number of images on the site’s homepage, this is a totally acceptable score.

Our scores dropped to 90 for PageSpeed and only 70 for YSlow as well as increasing our fully loaded time to 6.7 seconds, a total page size of 967KB and 57 requests.
Our metrics increased and decreased by the following percentages:
PageSpeed: decrease of 6.25%
YSlow: decrease of 16.67%
Fully loaded time: increase of 4.69%
Total page size: increase of 30.32%
Requests: increase of 54.05%
In a world where every second longer your page takes to load matters, and the best practice is to try to save your site’s visitors as much data as possible, these stats represent a large step backwards.
Conclusion
My suggestion to get around this problem would be to use a static image instead of Google (or any other provider) ads. You will have a lot more control over the content that is served and the number of resources requested will also be greatly reduced.
This may not always be as easy as it sounds, but looking at visitor behaviour, adding more ads to your site may actually damage your brand.
If you absolutely must have advertisements on your site, I would recommend keeping them to a minimum or if you could, choose a static image over third-party ads.
In a perfect world there would be no need for ads, but unfortunately, that is not the world we browse in.
