I don’t typically write about these topics since they aren’t on the subject of development and operations, but this week Google AdSense put my account on restricted probation for violating its policies, something I hadn’t intentionally planned on doing.

After receiving an email from Google and visiting the policy area of the Google AdSense dashboard, I learned that I had a Valuable Inventory: No Content violation for a domain that wasn’t mine and I hadn’t even heard of.

So what do you do when you’re in violation for something you do and don’t have control over?

We’re going to see some of the things that you can do to keep your account in good standing, beyond the obvious things such as being annoying.

So let’s break down what exactly happened to me and the steps I used to correct it.

A few days ago I had received an automated email from Google that contained the following:

New violations were detected. As a result, ad serving has been restricted or disabled on pages where these violations of the AdSense Program Policies were found. To resolve the issues, you can either remove the violating content and request a review, or remove the ad code from the violating pages.

Obviously the email didn’t have anything useful for me beyond that there was a problem. Before having visited the AdSense dashboard, I thought that maybe I was being attacked by bots, but I didn’t want to go into hazard mode on The Polyglot Developer until I found out for sure.

In the Google AdSense dashboard I went to Settings -> Policy Center and found the following:

There were a few red flags that came up when I saw the information from the above image:

Who is app.schoology.com and why are they throwing policy violations on my Google AdSense account?

What is a Valuable Inventory: No Content violation?

How do I fix violations or remove AdSense code from a domain that I have no control over?

I started to do some research on the violation. In short, a Valuable Inventory: No Content violation happens when you’re trying to display advertisements on a page with no relevant data. These are common when trying to display ads on a login or registration page.

I went to the site in question and it was in fact a login page. To be honest, I looked at the source code and couldn’t even find any AdSense code, but that took me to my next step. I needed information from the domain in question.

As of now, I haven’t received a response from either party. While I did fix the problem in the end, since both parties declined to respond to me, I have no idea if the domain in question was doing something malicious or just an error on Google.

So what do you do when the parties responsible won’t respond on Twitter and the domain is out of your control?

After painfully digging around, I found a contact form for the Google AdSense team and sent them an inquiry with my problem. I got a response a few hours later.

It turns out, you can verify your domains in AdSense and restrict ads to showing only on verified domains, something not enabled by default.

In the Google AdSense dashboard, you can go to Settings -> My Sites -> Overview and start validating domains. You’ll see in the above image that I have a single validated domain. The other domains are using my publisher keys for whatever reason.

To restrict AdSense from functioning correctly on validated domains, you must click the Site Authorization link in the menu on the page.

By default this option is not enabled which means any domain can show ads under your account. Whether or not they want to follow Google’s rules is not something you can control if you’re not restricting your account.

I enabled authorization on my account for verified domains and my policy violation immediately went away.

Conclusion

Being on the naughty list for Google AdSense is not a good feeling. There are a lot of people who intentionally try to game the system, but in my case, I didn’t want to break any rules. I was receiving a violation because of a domain that was out of my control.

Had I not been proactive and reached out to Google, I wouldn’t have resolved this issue. Finding the Site Authorization option is not obvious and it certainly didn’t come up when I searched for my issue.

I know that I shamed Schoology in this article. They may very well be a legitimate business, but I don’t regret doing it. Schoology didn’t respond to my inquiries.

Nic Raboy

Nic Raboy is an advocate of modern web and mobile development technologies. He has experience in Java, JavaScript, Golang and a variety of frameworks such as Angular, NativeScript, and Apache Cordova. Nic writes about his development experiences related to making web and mobile development easier to understand.