Advanced Ads mainly manages pieces of content and does not use more performance than any other plugin with similar functions. We are looking carefully at the plugin’s performance 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 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
Two plugins 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 take 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 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 different results on other blogs, with either some of the heavy performers measured here having almost no footprint and 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 poorly, which might also count as negative for Advanced Ads, though the latter does not have anything to do with executing that code.
Query Monitor
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 differently, use the Query Monitor plugin.
By default, I have it enabled on a couple of websites 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 it 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, 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 regular visitors to the frontend of your website.
Measuring performance with an external service
While plugins are great for measuring 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., Google AdSense). You can use your browser developer tools or services like Pingdom or GTMetrix for this.
With the basic Advanced Ads plugin, slower loading times in the frontend are typically caused by the ad tags, 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 activated without ads injected.
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 (Advanced Ads Pro)
Suppose your server is already under a heavy load and at the edge of its capacity. In that case, you should carefully test these features and use 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 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.
Advanced Ads Pro has dedicated support for the Autoptimize plugin, and our Cache Busting is tested heavily with WP Rocket.
Ad codes
You cannot do much 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 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 also be helpful for page speed optimization.
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 can be performance-heavy, especially AJAX tracking, which is also used when Cache Busting is enabled.
To resolve this issue, update to the Frontend method (released with Tracking 2.0), or use the Google Analytics tracking method instead.