TYPECHO WIKI
每一个作品都值得被记录

如何只向特定访客展示Google AdSense广告

Typecho维基君站长快讯 • 975次浏览 • 发布 2021-10-18 • 更新 2021-10-18

近我的一个网站GG广告无效点击率非常高,导致几次被Google AdSense限制广告数量,每次限制要一个月才恢复,广告收入损失十分惨重。那么如何降低Google AdSens广告无效点击率?

我被恶意点击Google AdSense广告

如上图有个IP点击我广告9次,其实才展示2次,明显恶意点击。而且谷歌统计里显示广告点击了177次。实际google adsense后台才显示60次点击, 有117次无效点击。

这么多无效点击,Google AdSens 账户被限流是必定的,所以不得不降低广告点击率,过滤恶意点击。我想主要有以下2个方向:

  1. 优化网站排版布局 —— 让访客意识到广告位是广告,让真正有兴趣的访客去点击广告,尽量不要让访客误点广告
  2. 主观规避访客乱点击广告 —— 防止恶意点击Google AdSense广告的小人,只向目标用户展示广告

优化广告展示布局,因各自网站不同,在此不便展开来聊。本文,我们来聊聊如何如何只向特定访客展示Google adSense广告

只向搜索引擎的访客显示广告

通过搜索引擎转过来的访客,更容易点击网站上的广告。以下代码将只把Google AdSense广告显示给那些从搜索引擎过来的访客。

平常的访客则看不到这些广告,他可以很好的配合针对性点击付费Pay-Per-Click (PPC)
如果你是用wordpress, 可以把下面这段代码放在functions.php中

$ref = $_SERVER['HTTP_REFERER'];
$SE = array('/search?', 'images.google.', 'web.info.com', 'search.', 'del.icio.us/search', 'soso.com', '/search/', '.yahoo.');
foreach ($SE as $source) {
if (strpos($ref,$source)!==false) {
setcookie("sevisitor", 1, time()+3600, "/", ".bawodu.com");
$sevisitor=true;
}
}
function wordpress_from_searchengine(){
global $sevisitor;
if ($sevisitor==true || $_COOKIE["sevisitor"]==1) {
return true;
}
return false;
}

注意把本站的网址换成你的网址

然后再把下面这段代码放在你想显示广告的页面中

<!--?php if (function_exists('wordpress_from_searchengine')) { if (wordpress_from_searchengine()) { ?INSERT YOUR CODE HERE
?php } } ?

访问之后会在你的浏览器存储一个cookie,时间是一个小时。再他们浏览你的网站的时候会持续看到广告,但是如果访客喜欢你的网站订阅或者书签了,以后再访问的时候就自动看不到你的网页广告了

广告被点击一次后即停止再展示

对谷歌Adsense广告点击事件进行统计,如果用户点击过广告,在后续访问过程中将不再展示广告。

原理:当你Adsense广告代码被点击的时候,广告代码里面的adsbygoogle这个class的点击事件,会触发我们添加的js脚本,脚本会把我设置的事件4传回到后台,后台设置个cookie。然后再判断是否cookie存在,从而决定是否展示广告

/<//script>
/

var isOverGoogleAd = false;
var ad = /adsbygoogle/;
$(document).ready(function()
{
    $('ins').on('mouseover', function () {
        if(ad.test($(this).attr('class'))){
            isOverGoogleAd = true;
        }
    });
    $('ins').on('mouseout', function () {
        if(ad.test($(this).attr('class'))){
            isOverGoogleAd = false;
        }
    });
});
$(window).blur(function(e){
    if(isOverGoogleAd){
        $.ajax({
            type: "POST",
            url: "https://你后台域名/"+"/p/events",
            data: {"et":4},
            xhrFields: {withCredentials: true},
            crossDomain: true,
        });
    }
});

/<//script>

data: {“et”:4},这个数字是4,我是使用事件4作为在后台接收事件,这个不做限定,可根据需要修改。后台代码这里暂不提供,自己根据原理编写。

wordpress 有防止恶意点击的插件,但是我试用后效果不明显。

广告声明:文内含有的对外跳转链接(包括不限于超链接、二维码、口令等形式),用于传递更多信息,节省甄选时间,结果仅供参考,Typecho.Wiki所有文章均包含本声明。
厂商投放

【腾讯云】🎉五一云上盛惠!云服务器99元/月续费同价!

腾讯云五一劳动节海量产品 · 轻松上云!云服务器首年1.8折起,买1年送3个月!超值优惠,性能稳定,让您的云端之旅更加畅享。快来腾讯云选购吧!

广告
添加新评论 »