AdSense Invalid Click Protector (AICP)

plugin banner

One plugin to save your AdSense account from Click Bombings and Invalid Click Activities

Author:Saumya Majumder, Acnam Infotech (profile at wordpress.org)
WordPress version required:4.9
WordPress version tested:6.2.2
Plugin version:1.2.8
Added to WordPress repository:16-11-2016
Last updated:21-03-2023
Rating, %:94
Rated by:62
Plugin URI:https://wordpress.org/plugins/ad-invalid-clic...
Total downloads:237 901
Active installs:30 000+
plugin download
Click to start download

Ad Invalid Click Protector a.k.a. AICP plugin will help you to save your Google Ad account from unusual invalid click activities and click bombings. As per the Google Ad terms, Google doesn’t take any responsibility towards these invalid click activities or click bombings and always point the finger towards the Ad publisher, giving him/her all the blames. Now it is time to end this problem, once and for all.

Important Note About Touch Screen Support: This plugin doesn’t work on mobile devices such as smartphones and tablets, because this hardware uses a touchscreen instead of a mouse as click input. This design makes the boundary monitoring trick ineffective.

Important Note: From v1.1.0 this plugin will only work with AdSense ad code or any ad code that shows iframe based ads. Normal affiliate ad codes will be tracked anymore. If you want to track affiliate ad codes like <a href="http://example.com"><img src="/some.jpg" /></a>, please use v1.0.6 of this plugin. v1.1.0+ code will not work that way. To know why I had to do this, check the FAQ section.

Important Note: This plugin uses the free API version of IP-API.com which allows 150 req/min. If you have a high traffic website, this 150 requests per minute will not be enough for you and you may see 503 Error on your site due to free API restrictions. If you have a high traffic website which may generate more than 150 requests per minute, I will recommend you to grab the PRO Version of IP-API and enter your Pro API key in the General Settings page of this plugin.

Video Demonstration About the Plugin Usage

Before start using the plugin, I will highly recommend you to take a look at this video demonstration where I’ve explained everything about this plugin.

For plugin support please post your your feedback and support questions to the Plugin’s Support Forum.

It took 300+ hours to code, design, test and to do several bugfix to make this plugin a reality. If you enjoy this plugin and understand the huge effort I put into this, please consider donating some amount (no matter how small) for keeping alive the development of this plugin. Thank you again for using my plugin. Also if you love using this plugin, I would really appreciate if you take 2 minutes out of your busy schedule to share your review about this plugin.

Features of the plugin include:

  • Set maximum ad click limit
  • Block any visitor if he exceeds the mentioned click limit
  • Ban some countries from seeing the ads on your site
  • Ability to see the list of banned user details from the WordPress admin section
  • Ability to delete any banned IP one by one or in bulk approach
  • Ability to search any IP within the banned IP list
  • Admin dashboard widget to show the total number of banned users

Now this plugin is also hosted in Github. But the Github repo will be used for the development of the plugin. So, from now on you can also report the bugs in Github Issue Tracker if you want.

Some FAQs

How to use this plugin with your site?

I know there are many WordPress plugin where you basically paste your AdSense code and it shows your ad at various position of your website. But unfortunately it is not humanly possible for me to check every single plugin of such out there or contact each plugin developer. Here I’m showing you how to incorporate the Ad Invalid Click Protector (AICP) plugin with your website’s ad code, so that both other plugin developers and normal users who use custom codes to show up their ads can take advantage of this.

To use the Ad Invalid Click Protector plugin with your ad code you basically have to do 2 simple things.

  1. Put a if( aicp_can_see_ads() ) { /* return your ad code here */ } block before returning your ad code to the front end
  2. Wrap your ad code within a simple div tag like this <div class="aicp">...your ad code goes here...</div>

Personally I create various WordPress shortcodes for various ad units that I use on my personal website. It is extremely easy to create shortcodes for your ad units while taking the advantage of Ad Invalid Click Protector Plugin. Let me show you how to create a WordPress shortcode very easily.

To create a shortcode the first thing you need to do is, go to the functions.php file of your theme or your child theme and at the end of your file put any of the following code.

If you are using a PHP version < 5.3, you can create a shortcode in the following way:

add_shortcode( 'your_shortcode_name', 'your_shortcode_function_name' );
function your_shortcode_function_name() {
    if( aicp_can_see_ads() ) { // This part will show ads to your non-banned visitors
        $adCode = '<div class="aicp"><!-- Don\'t forget to add this div with aicp class -->
        <script async src="//pagead2.googlesyndication.com/pagead/js/adsbygoogle.js"></script>
        <!-- Responsive Ad Code -->
        <ins class="adsbygoogle"
             style="display:block"
             data-ad-client="ca-pub-1234567890"
             data-ad-slot="0987654321"
             data-ad-format="auto"></ins>
        <script>
        (adsbygoogle = window.adsbygoogle || []).push({});
        </script>
        </div><!-- end of the aicp div -->';
        return $adCode;
    } else { // Anything within this part will be shown to your banned visitors or to the blocked country visitors
        return '<div class="error">You have been blocked from seeing ads.</div>';
    }
}

If you are using PHP version >= 5.3, you don’t need to give a function name, instead you can take advantage of of anonymous function like this way:

add_shortcode( 'your_shortcode_name', function() {
    if( aicp_can_see_ads() ) { // This part will show ads to your non-banned visitors
        $adCode = '<div class="aicp"><!-- Don\'t forget to add this div with aicp class -->
        <script async src="//pagead2.googlesyndication.com/pagead/js/adsbygoogle.js"></script>
        <!-- Responsive Ad Code -->
        <ins class="adsbygoogle"
             style="display:block"
             data-ad-client="ca-pub-1234567890"
             data-ad-slot="0987654321"
             data-ad-format="auto"></ins>
        <script>
        (adsbygoogle = window.adsbygoogle || []).push({});
        </script>
        </div><!-- end of the aicp div -->';
        return $adCode;
    } else { // Anything within this part will be shown to your banned visitors or to the blocked country visitors
        return '<div class="error">You have been blocked from seeing ads.</div>';
    }
} );

Please Note: if you want, you can completely ignore the else {} block above in case you don’t wanna show anything special to the blocked visitors.

How can I know what PHP version I am using?

You can install the WP Server Stats plugin in your website which will show you many important information about your hosting environment including what PHP version you are currently using.

Can this plugin be used with other ad medias?

No It is not. This plugin will only work with Ad ads or any ad media that shows iframe based ads. Recently Google has tweaked there ad code which makes merely impossible to support both iframe based ads like Ad and non-iframe based ads, like affiliate ads.
In case of affiliate ads, there is generally no click bombing issue, that is why from v1.1.0, AICP will only support iframe based ads and not general affiliate ads. Sorry guys! In case you want to use AICP just for affiliate ads, I will recommend you to download v1.0.6 of the plugin from the old archive.

Will it help me from stop clicking on my own ads?

No, you are not supposed to click on your own ads. If you want you can use adblock in your browser to save yourself from accidental clicking on your own ads.

Languages

Ad Invalid Click Protector plugin is 100% translation ready. Right now it only has the English translation in it but over time with the community help I hope this plugin will have many language in it’s language directory.

Support the Plugin

If you like this plugin please don’t forget to write a review and if possible please Donate some amount to keep the plugin and it’s development alive.


Screenshots
FAQ
ChangeLog