Why AdSense Ads Aren’t Showing Impressions

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).

Why AdSense Ads Aren't Showing Impressions

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.

  1. Issues with Ads.txt (something Google has really miscommunicated with publishers about)
  2. 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.

why no adsense ads no show

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).

loss of adsense ad impressions

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.

ads.txt implementation adsense google
ads.txt file example

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.

adsense ads.txt issue

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.

why did adsense ads stop

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 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.

google crawl adsense bot

What exactly is taking place? Google has amended their 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 [Google] 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

Crawler Access.

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.

why aren't adsense ads displaying

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.

robots txt file access and adsense ads

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.

adsense not displaying ads

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.

Author: Tyler Bishop

Tyler is an award-winning marketer, SEO expert, and successful blogger. He has composed content for some of the world's top publications and has written about business, psychology, sports, martial arts, and pop culture.

12 thoughts on “Why AdSense Ads Aren’t Showing Impressions”

  1. Thanks for the enlightenment, have been noticing how ads doesn’t appear on my newly created content but never knew or had an idea what the cause was.

    But now am meant to understand everything, thanks once again.

    I have been trying to use exotic but am having problems with implementing it on my website. Don’t know if a staff can help on this.

    1. No. Not automatically. Google still has to crawl the URL; which they usually will if manually requested within 24-48 hrs; however, I’ve seen some circumstances in which they won’t. These are usually only on large sites that are crawling thousands and thousands of pages every day… or on sites with no-index;no-follow on the page.

    1. I’m not sure I understand the question? If the question is if Ezoic can help with ad impressions on pages that currently aren’t displaying Google ads, the answer is perhaps. Ezoic can’t serve Google ads on any pages that Google can’t; due to Google policy (as we are a GOogle partner); however, we do work with other partners that may be interested in that inventory, so in that respect yes.

      The real solution, however, is understanding why Google is not letting you display ads on the pages in the first place. Ezoic actually has some tools that may be able to help with that too. For example, we have a “nad words” filter, that allows you to see which pages aren’t displaying Google ads due to words on those pages that may be on a list of flagged terms by Google’s team.

  2. Thank you for this really interesting and informative article.

    I don’t think it is correct, however, that ads won’t display on pages with NOINDEX meta tags. I have two thoughts on this:
    1. Are you sure that the AdSense and search engine crawlers are the same? Isn’t the AdSense crawler ‘Mediapartners-Google’ and search engine spiders are the crawlers beginning with ‘Googlebot’? Why would the former pay any attention to the robots meta tag on a page with ad code, when its purpose is solely to understand the page for advertising purposes?
    2. Also, isn’t it the case that Google crawls NOINDEX pages, it just doesn’t index them?

    I’m very interested by your strategy of showing non-Google ads on pages hit by the brand awareness problem. My coverage recovered after I was hit, but if it hadn’t, I’d definitely be coming to you.

    1. 1.) Yes, they are different crawlers but operate using some of the same rules. However, the indexing has a relationship with a pages ability to display Google ads. Happy to delve in further if its an area you have something specific you are struggling with there.

      2.) Yes. It sees thes the noindex tag and drops that page from indexing

      1. AdSense displays on my pages that have NOINDEX meta tags. After Google initially brought in their brand awareness changes, there was a drop, but only for new pages. After a few weeks and some discussion with them, coverage was reinstalled on all pages, regardless of whether or not they could be indexed.

Leave a Reply

Your email address will not be published. Required fields are marked *