
アドブロック利用者を判定し、アドセンスの代替として別の広告を表示する方法
憎きアドブロック!!
とは言いながら便利ですね()
だいたい、アドセンスの掲載上限が無くなったからといって、貼り過ぎです。
結果的にアンチ広告になって、この様。
いや、主犯はYoutubeかな…。
アドセンスはオワコンになってきたので、代替を設定しておこう。
アドブロックの判定方法
アドセンスを貼付しているページで、
アドブロックが使われたことを判定するコードはこちら。
<script>
setTimeout(function() {
if(document.getElementById(' google_esf') === null) {
}
}, 100);
</script>
JavaScriptで判定します。
アドブロックはアドセンスのコードを抹消するので、
そのアドセンスのコードで使うIDの「google_esf」がjsで検索して見つからなければ利用判定。
使える判定コードは様々あるので、ここは好きなようにして良いです。
chromeのデベロッパーツールなどで確認を。
具体的な使用例
<div id="daitai"></div>
<script>
setTimeout(function() {
if(document.getElementById('google_esf') === null) {
var doc0= document.getElementById("daitai");
doc0.innerHTML= 'ここに広告のコードを入れる';
}
}, 100);
</script>
空のdivを用意しておき、そこに「innerHTML」で挿入するだけ。
ほとんどの広告コードは問題なくできますが、
jsを使ったコードの場合はこれでは不可能なので、工夫を。
後からjQueryを使いCSSで表示する方法が簡単。
楽天モーションウィジェットを使う方法
これはページ読み込み時に実行しないと、どうも広告が表示されない。
そのため、CSSで非表示にしておき、jQueryのスクロールイベントでidを消して表示させる。
メチャクチャな方法なので、誰か完璧な方法をコメント求む。
(スクロールでの発動位置は調整できる書き方にしている。ほぼ某サイトのコピペ)
<div id="raku1">
ここに楽天モーションウィジェットのコードを入れる。
</div>
<script>
$(window).bind("scroll", function() {
if(mita == 1){
}else{
var mita = 1;
if($('#google_esf').length){
}else {
scrollHeight = $(document).height();
scrollPosition = $(window).height() + $(window).scrollTop();
if ( (scrollHeight - scrollPosition) / scrollHeight <= 1.00) {
$('#raku1').removeAttr('id');
};
};
};
});
</script>
ひどい。
最後に
アドセンスの表示はどう頑張っても無理っぽい。
アドブロックは強力過ぎるので、アドセンス強制表示は無理そうです。
そのため、その他の広告となるのですが、代替となるものは少ない。
楽天モーションウィジェットはジャンルによってはほぼ無意味。
もはやpv数で稼ぐ方法は終わったのかもしれない。
成果報酬型で稼がないと生き残れないのは間違いない。
まぁ、前向きに考えていこう。
ツイート是非ご感想・ご指摘等をください。