Advanced Ads mainly manages pieces of content and does not use more performance than any other plugin with similar functions. We are looking very carefully at the performance of the plugin since we developed it to run on our own sites with over 2.5 MM page impressions per day.
Measuring performance and identifying bottlenecks can be confusing. There are many tools out there that can help, but also irritate. This page covers a few of them and also includes advice on what to look for and how to improve page speed while running ads and Advanced Ads.
Table of Contents
Measuring performance using a plugin
There are two plugins that measure how well plugins are performing on your site.
P3 Plugin Performance Profiler
The first is the P3 Plugin Performance Profiler plugin. This plugin gives you an overview of which plugins takes how much of your site’s load time. The results can look like the following:
The site tested here is hosted on a cheap shared hosting plan with rather low-performance values and without WordPress specific settings. The results are flattering for Advanced Ads. The average loading time of the site is 0.7 seconds, Advanced Ads (purple bar) takes 0.0018 seconds. Compared to that, the well-known WordPress / Yoast SEO plugin needs as much as 0.07 seconds.
The results also look great with Tracking, and Advanced Ads Pro for 3 ads enabled. From about 1 second for the whole page load, Advanced Ads Pro takes 0.09 seconds and Tracking 0.01 seconds for the extra features added.
The problem with these graphs is that they don’t tell us anything. I have seen completely different results on other blogs with either some of the heavy performers measured here having almost no footprint and with ad plugins having an increased hunger for performance.
The P3 Plugin Performance Profile plugin is missing detailed information about what is measured and how this result was influenced.
Advanced Ads can interact with a lot of other codes. E.g., if you use a shortcode of one plugin in an ad, this plugin might perform badly, which might also count negative for Advanced Ads, though the latter does not have anything to do with executing that code.
If you want to learn more about the processes on your site and which of them need a lot of performance, are broken or need to be optimized in a different way, use the Query Monitor plugin.
I have it enabled on a couple of websites by default to get informed about slow or duplicate queries or HTTP-requests being made without my knowledge.
While updating this page, Query Monitor shows me that 165 queries are being made to the database. That is a lot but still doesn’t have to be scary (see caching below). If you are suspicious about a query or believe that you have discovered a problem then just reach out to the developer with a screenshot from the results of the Query Monitor. I am grateful when someone does that for Advanced Ads.
When using these tools you should be aware that many sites load more resources while a visitor is logged in, especially when he is an admin. The results might vary a lot for normal visitors to the frontend of your website.
Measuring performance with an external service
While plugins are great to measure the performance of your WordPress backend, the ones mentioned are not able to gather information about the actual load time including all external resources. This is important for websites with ads that come from an external source (e.g., AdSense).
With the basic plugin, slower loading times in the frontend are normally caused by the ad tags used, not the plugin that manages them. You can simply verify this by testing your site with and without ads being enabled. We never found a performance increase by Advanced Ads only being enabled without ads.
However, a few advanced features need their fair share of performance also in the frontend:
- active ajax cache-busting (Advanced Ads Pro)
- tracking millions of impressions per day (Tracking add-on)
- a lot of geolocation lookups (Geo-Targeting add-on)
If your server is already under a heavy load and at the edge of its capacity then you should carefully test these features and make use of the performance improvements mentioned below.
It might also happen that your server settings don’t work well with Advanced Ads and cause a drop in performance. We would really like to learn about it if you discover such an issue.
How can you improve performance?
Page speed in general
Use caching and a plugin to minify the code and scripts on your site.
It is not much you can do about ad codes that are loading resources from other pages, like AdSense or other ad networks. Try to use asynchronous ad tags if possible.
Improve image sizes
Only upload ad images in the size you want to use them in. Compressing an image locally or in your browser is more expensive than using a minified image file in the first place.
Cache-Busting (Advanced Ads Pro)
Use passive cache-busting or set cache-busting to off if you don’t need it for a specific placement. Learn more about an efficient way to set up cache-busting here.
Lazyload (Advanced Ads Pro)
The lazy loading of certain ads can be helpful for page speed optimization too. In the following tutorial, you can learn how to implement lazy loading for adverts and how it can affect revenues and page performance.
Turn off tracking (Tracking add-on)
Tracking, especially AJAX tracking, which is also used when Cache Busting is enabled, can be performance heavy. Disable it or use the Google Analytics tracking method instead.