AdsenseのA/Bテストはカンタン! そんなわけでとりあえず実装してテスト中です

6月頭のことですが、Google Adsenseのポリシーが改訂され、Adsenseの規約とポリシーに準拠し、不適切に広告収益を増加させず、広告主に不利益にならないものならば、コードの改変が可能になりました。
これでレスポンシブ対応やA/Bテストが可能になったこともあり、今回A/Bテストをやってみることにしました。

A/Bテスト

なんだか「A/Bテスト」なんて言うと、難しいことをやらなきゃならねぇんじゃ・・・なんて思うかもしれませんが、実装自体は大して難しくもありません。

要はjavascriptで50%の確率で2つの広告を出し分けるようにすればいいだけです。

今回実装したのは記事の間に挿入されている広告部分。
先日から468×60の広告を出すようにしているんですが、ここにサイズの違う336×280の広告がランダム(確率では50/50)で出るようにしました。
リロードすると広告サイズが変わるはず。

実装の前に準備するもの

A/Bテストを行うにあたって、準備しなければならないものがあります。それはAdsenseのコードです。
現行で設置している広告ユニットとは異なる新しい広告ユニットを用意しましょう。

新しい広告ユニットを用意したら、現行のコードと新しいコードからそれぞれ以下の3行をテキストエディタにでもコピペしておきます。

google_ad_slot = "ad_slot_id";
google_ad_width = "width";
google_ad_height = "height";

実装してみよう

続いて、現在実装しているコードを以下のように改変します。

<script type="text/javascript"><!--
var random_number = Math.random()
google_ad_client = "ca-pub-id";
if (random_number > .5) {
google_ad_slot = "ad_slot_id";
google_ad_width = width;
google_ad_height = height;
} else {
google_ad_slot = "ad_slot_id";
google_ad_width = width;
google_ad_height = height;
}
//-->
</script>
<script type="text/javascript"
src="http://pagead2.googlesyndication.com/pagead/show_ads.js">
</script>

random関数を使って確率判定させてるわけですね。
if (random_number > .5 {
の下に現行設置している広告コードから抜き出した3行を設置し、
} else {
の下に、先ほど新たに取得した広告コードから予めコピペしておいた3行を貼り付けます。

google_ad_client = "ca-pub-id";は共通になるので、元の広告コードのものをそのまま流用すればOKです。

設置が完了したらあとは検証期間。
1ヶ月ほどこのままにして、広告ユニット別の収益性などを見比べてみたらいいんじゃないでしょうか。

改訂前はこのようなかたちで同時進行するA/Bテストが認められていなかったので、一定期間ごとに広告を差し替えて検証するしかありませんでしたが、こうやって別々の広告サイズで同時検証できるようになったのは、運営者としては結構大きなメリットですよね。

Adsenseは配置もそうですが、広告サイズによっても収益性に変化が出てくるので、サイズ変更の検討などしている場合は、この方法で検証してから決定したらいいんじゃないかなと思います。


Adsenseも非同期コードが推奨となったので、非同期コードでのA/Bテスト実装方法についてまとめました。非同期コードで実装する場合は以下の記事をどうぞ。