広告ブロックを判別してアドセンスの代替広告を表示する方法
代替広告は必須。
「uBlock Origin」や「Adblock Plus」利用者は年々増えていき、
ジャンルによっては利用者は50%を超えます。
その50%の人に広告を表示しないともったいない。
その方法を紹介。
1、サンプルコード
<div id="kblock">
<ここにアドセンスのコードが入っている>
</div>
<script>
document.addEventListener('DOMContentLoaded', function() {
if(document.getElementById('google_esf') === null) {
var doc0= document.getElementById("kblock");
doc0.innerHTML= '違う広告のコード';
}
});
</script>
アドセンスで使われるID名「google_esf」がページ内に無かった場合、
要素「kblock」の中身を変更するコードです。
今のところこれで完璧に対応できています。
もう一つのやり方として「要素の高さで判別」という方法もありますが、
広告ブロッカーは広告が入っている要素ごと消し去る場合もあるので、
ID・Class名等で検索して判別するのが良いかと思います。
2、当然消されない代替広告を
アドセンス系広告はほぼ無理です。
代替となるのは普通のテキスト広告とかですね。
Amazonや楽天市場へのテキストリンクだったり、
a8.netなどのテキストリンクを。
「js」や「iframe」を使っている広告もほぼ消されるので、
純粋に「aタグ」で始まる広告を使ってください。
Amazonの画像を使う場合、APIで取得した画像URLなら消されないので、
広告ブロッカー対策となるとほぼAPIの利用が必須です。
3、狙い撃ち削除に注意
「特定のサイトの特定の要素を削除」という指定もされている。
広告ブロッカーは大手サイト等は個別に対応した広告削除をしています。
そのサイトのコードを見て、広告が入っている要素を全て削除、と。
これは有志により日々アップデートされています。
対策としては、ID・Class名をランダムにすることが有効です。
しかし、それでもリンクURLで判断されると厳しい。
ある程度は諦めとなりますが、一応は確認・対策をしてください。
というのもあり、いろいろな広告ブロッカーを使って確かめるのは大事。
--
代替広告は意外とやっている人が少ない。
やって損は全く無いので是非挑戦してみてください。