We display AdSense content ads, link unit ads, matched content ads and page level ads on our sites. Google AdSense works well on our sites from monetary aspect. But it doesn’t end here, there is another bitter side of displaying AdSense ads. It heavily drags your site’s page loading speed and create unpleasant experience for users. Though this is true for all types of ad networks, Google AdSense is one of the top dragging factor of the page speed.
AdSense Vs Page Speed – An Irony
As per Wikipedia, Google earned 22% of its revenue from AdSense during 2014 and this is the same situation for other years as well.
In Q1 2014, Google earned US $3.4 billion ($13.6 billion annualized), or 22% of total revenue, through Google AdSense.
More than 14 million sites are using AdSense and the publishers need to place a piece of asynchronous script code on their webpages in order to display ads. Below are the type of ads supported by AdSense:
- Image and text ads with no limit on a page
- Horizontal and vertical link ad units
- Two search boxes
- Page-level ads for mobile devices
- Matched content ads for content recommendation
Ideally an eligible publisher can place all these types of ads on a single page. Recently Google also removed the limit of placing three content ads on a page and allows publishers to place ads proportionate to the content length on the page.
Sounds good? Well not!!! Speed is one of the algorithmic factors for deciding the ranking of webpages on Google search results. So placing all these ads on a page will kill the page loading speed and take down your search engine ranking.
One side Google is pushing for speed and HTTPS, on other side AdSense ads will slow the pages. It’s an irony, company that earns >20% of revenue from a product has contradictory vision to confuse common users. If you are AdSense publisher and looking for fast loading pages then it’s a high time for you to look for alternatives like affiliate marketing.
AdSense Vs Google PageSpeed Insights Tool
Google owns a page speed testing tool called PageSpeed Insights. Unfortunately, it is designed in a way not clearly showing most of the AdSense related issues. Below is the PageSpeed score of the site showing 91 on desktop.
There are only two issues shown under consider fixing category:
Pingdom and GTmetrix Test
The same page when tested on pingdom and GTmetrix shows 73 and 80% score respectively with too many issues.
So test your AdSense pages on pingdom or GTmetrix to understand all issues and not on Google PageSpeed Insight tools.
AdSense Page Speed Issues
Google loads advertisement images through the server “https://tpc.googlesyndication.com/”. Whenever you see this link in page speed testing then it’s from AdSense ads. Below are some of the page speed issues related to AdSense ads:
- Since advertisements need to be loaded from external servers, this will push the content and create cumulative layout shift (CLS) delay. CLS is one of the Core Web Vital parameters to measure the page speed score based on user experience. Hence, this will directly impact the score on mobile and desktop.
- As the images in the ads can’t be cached you will see optimize images and leverage browser caching issues. This will be a real problem for matched content ads which will display image for each article.
- Advertisers still use HTTP servers to distribute ads, this will create mixed content issue when your site is loading on HTTPS.
How to Improve Speed with AdSense Ads on a Page?
Though there are no perfect solution, you can try the followings to improve the page loading speed with AdSense code on the pages. Remember, these suggestions will impact your revenue as a tradeoff for improving the speed. Hence, test throughly to choose the options that works for you.
- Use Ad Balance feature
- Remove matched content ads
- Disable page-level ads (auto ads)
- Disable rich media content in display ads
- Place less number of ads on the pages with more scripts running
- Monitor the speed with Google Analytics
- Defer ad script using WP Rocket plugin in WordPress
Let us discuss each option in detail.
1. Ad Balance
Google AdSense account has a feature called Ad Balance. This will help you to check the percentage of ad serving that contributes to your revenue. In most cases, 90% of the revenue is generated from fewer ads on the site due to prominent placement. Basically you can remove all other ads to provide better user experience with no or less impact on the revenue. Google retired this feature for display ads. However, you can do the ad balance with auto ads to minimize the number of advertisements on the page.
2. Remove Matched Content Ads
Based on our usage we found that the matched content ads have one of the lowest CPC among different categories of ads. You will hardly earn few dollars per month especially when your page views are less. Each image shown on the matched content ad will create problem like image compression and leverage browser caching. As it is a block of post recommendation (along with ads if supported on your account), this will be a major speed killer not worth for earning few dollars.
3. Auto Ads (Earlier Known as Page-Level Ads)
Matched content ads are part of Auto or page-level ads. When enabled Google automatically scan and insert advertisements on your pages using AI technology. This does not need any intervention from you. Though it looks good, Auto ads work well in mobile and AMP pages. However, it earns very less CPC from advertisers similar to matched content recommendations. Though the ads will primarily load on mobile devices, the scripts will load on all devices on all pages thus causing delay in page speed. We recommend to remove these Auto or page-level ads to improve page loading speed. At least, you can test and disable anchor and vignette ads on mobile devices which are part of Auto ads setup.
So you can remove matched content ads and page-level ads without losing much revenue.
Note: Now that Google changed the process that Auto ads do not need any separate code in the header section. When you have any AdSense ad code on the page, Google will automatically show advertisements if you have enabled Auto ads in your AdSense account. We don’t see any speed improvement happened with this setup as the ad code still impact the content delivery.
4. Disable Rich Media Ads (Retired)
This action may impact your revenue, so test this by setting up an experiment. Disable the image and video ads so that the image related issues (generally high priority) can be eliminated. You can do this by choosing ad type as text ads and disable video ads in ad restriction. Unfortunately, Google removed this option and you will not be able to choose the ad type any more. You can still use blocking controls in your AdSense account and disable intruding advertisers on your site.
5. Placing Less Number of Ads with Other Scripts
As a rule of thumb place three or less ads on a page. You can place more ads on the pages with 1000+ words so that the content length is monetized with number of ads. The speed of your site also depends on other plugins, images and scripts used on the page. Hence, if you have too many scripts (dynamic pages) running on your page then avoid placing many ads on that page.
6. Monitor Actual Loading Speed
Besides using various speed testing tools the best way to monitor the actual loading speed is to use Google Analytics. You can integrate AdSense with Analytics account in order to quickly view the performance of pages displaying ads under “Behavior > Site Speed” section. Taking corrective actions according to the speed score and recommendations will help to increase the speed and user experience.
- After activating the plugin, go to “Settings > WP Rocket > File Optimization” section.
- This will defer “adsbygoogle.js” and many other popular scripts like Google Analytics.
- Clear your cache and check the page speed in Google PageSpeed Insights tool.
- You should get 100/100 or similar on both desktop and mobile.
Remember, deferring script may impact your ad revenue and click through rate especially on mobile devices. This is the tradeoff you should pay for the speed and passing Core Web Vitals.