はじめに
iOS 9のコンテンツブロッカーによって盛り上がったアドブロック論争。アドブロック自体はPCブラウザ用プラグインで昔からできていたことなのですが、さらに普及していくのかもしれません。
アドブロックの仕組みが普及するのはインターネット業界全体の損失につながりかねない話ではあるのですが、その一方でアドブロック利用有無は媒体特性や顧客属性を推定したり、配信対象から除外するための有力な情報にもなりえるものと思われます。
そこで今回はアドブロック利用者をJavaScriptで判定して、弊社DMPのAudienceOne®にセグメント化して格納する仕組みができないかを試してみました。
アドブロック利用者の判定
アドブロック利用者の判定にはBlockAdBlockというアドブロック利用者へのコンテンツブロックに利用されるJavaScriptを利用します。
本来はアドブロック利用者の判定を行ってコンテンツブロック処理を行う「アドブロック利用者へのコンテンツ制限」の用途を想定しているものなのですが、コンテンツブロック以外の処理を差し込むこともできます。
[javascript] function adBlockNotDetected() { alert('AdBlock is not enabled'); } function adBlockDetected() { alert('AdBlock is enabled'); } if(typeof blockAdBlock === 'undefined') { adBlockDetected(); } else { blockAdBlock.onDetected(adBlockDetected); blockAdBlock.onNotDetected(adBlockNotDetected);} [/javascript]
Aoneへのイベント登録
AudienceOneでは訪問者情報登録のタグを呼び出す際に簡単なパラメータを付与できるため、アドブロック利用者判定の可否に応じて呼び出しパラメータを変更してからAOneタグを呼び出すようにします。
※URLを直接呼び出しているのは模式的な例であり、通常はITM(Intelligent Tag Management)を利用します。
[javascript] / アドブロック非利用者として登録 / function adBlockNotDetected() { callAoneTag('&evt=notadblock') }
/ アドブロック利用者として登録 / function adBlockDetected() { callAoneTag('&evt=adblock') }
/ AudienceOneへの情報登録 / function callAoneTag(adblockParam) { Aoneタグ呼び出し('http://a.one.impact-ad.jp/dc?oid=xxxxxx&src=URL' + adblockParam, xxx,xxx) } [/javascript]
イベント登録作業
AudienceOne上に「イベント」として登録しておくことで呼び出し時に付与したパラメータを取得できるようになります。
「adblocker」イベントを登録
まとめ
あとはアドブロック利用時に反応するイベントをセグメント条件に登録すれば、アドブロック利用者を抽出する訪問者セグメントが作成できそうです。全体の訪問者に占めるアドブロック利用者の割合を計測したり、セグメントを切り出す軸に利用することが考えられます。