Why AdSense Ads Aren’t Showing Impressions
This year, there has been an increase in the number of discussions online inside of AdSense forums about why AdSense ads aren’t showing any impressions on certain websites or pages. There are two common culprits that have emerged for this: Ads.txt issues with AdSense AND Google’s recent change to prevent ads from showing on uncrawled pages (Google AdSense Brand Safety update).
Below, I will reveal the nature of both issues and offer complete solutions on how to solve both problems. I’ll demonstrate how to get AdSense ads to show again on pages affected by both potential issues. And Finally, I will offer some tips that will prevent future issues with these problems so that you can avoid any disruptions in your AdSense ad impressions.
Understanding why AdSense ads aren’t showing on your website or webpage
As I mentioned above, there are really two main issues that are the responsibility for the vast majority of conversations taking place online right now regarding why AdSense ads aren’t showing on certain blogs and websites.
- Issues with Ads.txt (something Google has really miscommunicated with publishers about)
- Uncrawled pages relating to the AdSense brand safety update
However, it’s important to first rule out some other possible (common) issues before we dive too much deeper into these primary issues. I’ll be brief on these; as most are fairly straightforward.
If you’re concerned about AdSense ad impressions because of a drop in revenue, but still see some ads showing, it’s possible you just have a revenue or traffic drop and not an actual issue with AdSense ads showing. If that’s the case, you should read this popular blog on why ad revenue might be dropping.
The other possible causes — that don’t include the two primary ones listed above — are AdSense violations or a lack of account approval. If your AdSense ad account has never been approved and you have never seen AdSense ads on your website, there is no way to speed up this process and you will have to wait for Google to review your website prior to being able to monetize your traffic with AdSense.
If you have been approved and have shown AdSense ads on your site before, there is quite a bit of Google policy that can snag you along the way. If you violate these policies you could be at risk of having ads taken off certain pages (I talk about how to navigate and hack through policy here).
Lastly, there was also some issues many publishers had a while back with the Google 2-Click Penalty (or Google Doubleclick penalty as it was also called). This is something a lot of publishers weren’t aware of; however, it was affecting their revenue and AdSense ad impressions. You can read about diagnosing and solving this penalty here.
Ok. Now that we have that out of the way, we can talk about the two primary issues that most websites are dealing with right now. I’ll start with Ads.txt.
#1.) Ads.txt is causing AdSense ads not to show
I will try my very best to minimize confusion with this topic; as Google has done a very bad job at educating their AdSense publishers about exactly what Ads.txt is, what it does, and how they should be looking at it.
Google is trying to help clean up the online ecosystem, and Ads.txt is a simple cooperative initiative endorsed by the IAB that publishers can implement to help prevent domain-spoofing (which is a form of industry fraud). Ads.txt helps major brands — like The New York Times— and major platforms, like Google. Unfortunately, for most AdSense publishers and website owners, it offers no real benefit.
Google is pushing this initiative really hard. They realize that their influence on the market can help protect big brands and advertisers from a common form of fraud that costs companies billions of dollars a year. Part of this major push included the use of their marketing engine to get all of their ad product users to adopt the Ads.txt file on their site.
This led to Google sending AdSense users the e-mail you see above. This language is pretty strong — and actually kind of confusing — once you understand how Ads.txt work, what it is, and what obligation publishers actually have to implement it.
Read about exactly what Ads.txt is here (in plain language). I share how it works, what it is, and who should be using it. I also offer some implementation tips, tricks, and considerations.
However, one big takeaway is this… ADSENSE PUBLISHERS ARE NOT OBLIGATED TO IMPLEMENT ADS.TXT ON THEIR WEBSITE. Sorry for all caps, but this is important because this is the root cause of why a lot of websites have run into issues with AdSense ad impressions dropping off recently.
If you implement Ads.txt incorrectly — as whole or just for one specific ad provider (i.e. AdSense/Google) — you will no longer display ads on your website, or the ads of the specific provider. Many publishers feared that if they did not implement Ads.txt that they would no longer be able to display Google ads. This is not true. However, this led to a lot of publishers adding ads.txt files incorrectly.
An Ads.txt file determines what ad demand sources can display ads on your web property. If AdSense/Google is the only ad provider correctly added to your Ads.txt file, they will be the only provider that can deliver ads on your site (and visa versa). Publishers can add as many demand sources as they like to an Ads.txt file; however, if they mess up even a simple comma on the demand provider listing in the file, they will essentially be blocking that demand provider from displaying ads on their website.
How do I know? So, if you implemented — or tried to implement Ads.txt — and now are having issues with AdSense ads showing or a have seen a massive AdSense ad impression drop, this could be the cause.
How do I fix it? The fix is pretty easy. One option is that you could remove Ads.txt completely, have Google recrawl your site (Search Console > Fetch as Google), wait up to 48 hours, and the problem should resolve itself. This eliminates the issue of having an improperly implemented Ads.txt file (meaning you essentially banned AdSense on accident).
If you’re not a large, branded publisher this is probably a pretty good option for the time being; as I mentioned in this article, Ads.txt offers no financial benefit and can be a bit of a risk if you don’t have it implemented correctly. Long term, you will probably still need to figure this out because it could be something Google makes mandatory (but they have not announced any plans for this yet).
A video Q&A about the risks and benefits of Ads.txt below:
If you’re a larger publisher — or feel your site is the victim of large-scale domain-spoofing — and want to keep Ads.txt on your site, you need to revisit your file and ensure that you implement it correctly. Don’t worry, even the New York Times messed up their implementation at first.
You can read about implementing an Ads.txt correctly here.
Now, onto the newest and most discussed issue taking place right now… the AdSense Brand Safety Update.
2.) Google AdSense isn’t showing ads on uncrawled pages of your website
This was something Google finally admitted was taking place. Certain publishers began noticing it in mid-December 2017. However, Google didn’t admit it until nearly a month later.
What exactly is taking place? Google has amended its policy to prevent publishers and website owners from displaying ads on pages that Googlebot (their crawler) has not crawled, or is unable to crawl currently. This means that if you have pages on your site that Google hasn’t crawled yet, you could be seeing major impression drops from this if any of those pages see a fair amount of traffic.
What is Google’s statement on this? Below you can see a message directly from AdSense on the issue.
As part of Google’s efforts to increase brand safety for advertisers, AdWords and DoubleClick Bid Manager have adopted more restrictive bidding on ad requests coming from URLs that are uncrawled. This is necessary to avoid the risk of ads running on sensitive content.
…Below are some of the possible reasons why a URL might not be crawled:
You may be using complex parameters or encoded strings in your URLs that are unique for each visit, instead of sending us the canonical URL, which is easier to crawl. Your URL may represent newly available content which had not been crawled before you sent ad requests. This is transient as your URL will be crawled shortly after your first ad request.
You may be sending an incorrect URL to us because you are manually sending an incorrectly formatted URL in your ad request. You may be sending the URL of an iframe with an ad instead of the URL of the content page that hosts the iframe. (This typically applies to larger publishers). You may have limits on how often they can be crawled (crawler rejects our crawl requests). To avoid a potential revenue impact from this change, please consider the following best practices for ensuring URLs can be properly crawled:
AdSense Publishers, see:
About the AdSense crawler
How to fix AdSense crawler errors
Display ads on login-protected pages
Give access to our crawler in your robots.txt file
DFP and AdX Publishers, see
Here are two additional tools that can help identify what adjustments you need to make.
The Fetch is a Google tool that enables you to test how Google crawls or renders a URL on your site. You can use Fetch as Google to see whether Googlebot can access a page on your site, how it renders the page, and whether any page resources (such as images or scripts) are blocked to Googlebot. This tool simulates a crawl and render execution as done in Google’s normal crawling and rendering process, and is useful for debugging crawl issues on your site. robots.txt Tester – The robots.txt Tester tool shows you whether your robots.txt file blocks Google web crawlers from specific URLs on your site. For example, you can use this tool to test whether the Googlebot-Image crawler can crawl the URL of an image you wish to block from Google Image Search.
Here’s an image of the Fetch as Google function, and below is the Robots.txt tester mentioned above. Both of these tools are available in Google Search Console.
So, what should I do and what are my real options? The Google policy on this is pretty straightforward if Google can’t/hasn’t crawled a page, you won’t be able to show Google ads on that page (AdX and AdSense). If you have the no-index, no-follow attribute on these pages, it’s a sure-thing ads will not display on that page from AdSense. Most publishers probably won’t have that attribute on many pages that receive a lot of traffic; because if Google can’t crawl it, it probably doesn’t rank in SERPs either.
Your options include:
1: Remove no-index, no-follow attributes on pages that are not displaying ads (if you have them)
2: Have Google manually crawl these pages — if you’re not sure why Google hasn’t crawled them — using the Fetch as Google method above.
3: Ensure your permalink structure is delivering the proper canonical back to crawlers. For example, if you’re adding additional parameters to internal links across your site, and they are causing URLs to shift, this could prevent Google from crawling the pages naturally and may be blocking AdSense ad impressions from visitors. This could occur if you have an https page that doesn’t properly bring over the https attribute in an internal link.
Example: https://example.com links to http:// example.com/new-page inside a page on your site (i.e. you hard coded an http link in your site and it is not automatically redirecting when it is used by visitors on your site)
4: Leverage a tool like Ezoic to automatically fill impressions on pages that may not be able to deliver Google ads. Google partners like Ezoic automatically align with Google policy by preventing Google ads from showing on uncrawled pages, but if this is a problem you cannot solve, Ezoic can fill these pages with non-Google ads; meaning they will allow publishers to fill inventory with ad networks that DO ALLOW these kinds of ad impressions.
Wrapping it all up
Hopefully, the information above helps you better understand why AdSense ads may not be displaying on your website or why ad impressions have dropped on some of your pages. Most of the issues discussed have pretty straightforward solutions.
If you’re still experiencing these issues and don’t believe any of the solutions above offer assistance, please list your challenge below. I will augment this content to include answers or do my best to provide some insights below.