複数の広告サービスを試していると、「同じ広告枠で表示を切り替え、収益を比較したい」と思うことがあります。
私のサイトでは、インタースティシャル広告やオーバーレイ広告で複数のSSPを比較するため、WordPressのPHPテンプレートにランダム出し分けを設定しました。この記事では、2種類の広告を50:50で表示する基本形から、比率の変更、3種類の広告を出し分ける方法まで紹介します。
この記事のPHPコードは、広告を設置するテーマのPHPファイル向けです。投稿本文に掲載したコードは読者に見せるためのもので、広告として実行されません。
2種類の広告を50:50で出し分ける
まず、1〜100の整数をランダムに選び、50以下なら広告A、それ以外なら広告Bを出力します。
<?php
$ad_random = mt_rand( 1, 100 );
if ( $ad_random <= 50 ) :
?>
<!-- 広告Aのタグをここに設置 -->
<?php
else :
?>
<!-- 広告Bのタグをここに設置 -->
<?php
endif;
?>
「広告Aのタグ」「広告Bのタグ」の部分を、それぞれ広告サービスから発行されたタグに置き換えます。1〜50なら広告A、51〜100なら広告Bを選ぶので、設定上の割合は50:50です。
ただし、短期間では実際の表示回数がぴったり半分にはなりません。比較するときは、各広告サービスの表示回数も確認します。
表示割合を70:30に変更する
広告Aを70%、広告Bを30%にしたい場合は、条件の数字を「70」に変更します。
<?php
$ad_random = mt_rand( 1, 100 );
if ( $ad_random <= 70 ) :
?>
<!-- 広告A:70% -->
<?php
else :
?>
<!-- 広告B:30% -->
<?php
endif;
?>
この場合、1〜70なら広告A、71〜100なら広告Bです。比率を変えた日付を記録しておくと、後から収益レポートを比較しやすくなります。
3種類の広告を40:30:30で出し分ける
3社を比較する場合は、1〜100を3つの範囲に分けます。
<?php
$ad_random = mt_rand( 1, 100 );
if ( $ad_random <= 40 ) :
?>
<!-- 広告A:40% -->
<?php
elseif ( $ad_random <= 70 ) :
?>
<!-- 広告B:30% -->
<?php
else :
?>
<!-- 広告C:30% -->
<?php
endif;
?>
広告Aは1〜40、広告Bは41〜70、広告Cは71〜100です。2つ目の条件は「30以下」ではなく、最初の40%を足した「70以下」にします。
広告枠ごとに別々の比率を設定する
インタースティシャル広告とオーバーレイ広告を別々に比較したい場合は、広告枠ごとに乱数を取得します。
<!-- インタースティシャル広告 -->
<?php
$interstitial_random = mt_rand( 1, 100 );
if ( $interstitial_random <= 50 ) :
?>
<!-- インタースティシャルA -->
<?php
else :
?>
<!-- インタースティシャルB -->
<?php
endif;
?>
<!-- オーバーレイ広告 -->
<?php
$overlay_random = mt_rand( 1, 100 );
if ( $overlay_random <= 50 ) :
?>
<!-- オーバーレイA -->
<?php
else :
?>
<!-- オーバーレイB -->
<?php
endif;
?>
この2つの枠は独立して選ばれます。そのため、同じページで「インタースティシャルA」と「オーバーレイB」が表示されることもあります。
PCとスマホで広告を分けたい場合
PC用とスマホ用で広告タグが異なる場合は、WordPressのwp_is_mobile()で分岐できます。
<?php if ( wp_is_mobile() ) : ?>
<!-- スマホ用の広告出し分けコード -->
<?php else : ?>
<!-- PC用の広告出し分けコード -->
<?php endif; ?>
スマホ用・PC用のそれぞれの位置に、ここまで紹介した出し分けコードを入れます。wp_is_mobile()は画面の横幅を調べるCSSの切り替えとは異なり、アクセス時の端末情報を基に判定します。
設置後に確認したいこと
広告タグを入れたら、まずPCとスマホの両方でページの表示を確認します。広告が空白の場合は、広告サービス側で配信されていない可能性もあります。ページのソースを見て、選ばれた広告タグだけが出力されているか確認すると、PHPの出し分けと広告配信の問題を切り分けやすくなります。
また、サイトでページ全体のキャッシュを使用している場合、PHPが選んだ後のHTMLが保存され、同じ広告が続けて表示されることがあります。比率の検証前にキャッシュ設定を確認してください。
テーマファイルを編集する際は、元のファイルをバックアップしてから作業します。テーマ更新で変更が消えないよう、子テーマでの管理も検討してください。
まとめ
PHPの条件を変えるだけで、同じ広告枠に複数の広告サービスを出し分けられます。2社なら50:50や70:30、3社なら40:30:30といった比率も設定できます。
私の場合、プラグインを使った広告設置では表示が崩れる問題があり、最終的にPHPで直接出し分ける形に落ち着きました。比較を続ける際は、比率を変更した日付を記録し、同じ広告枠の表示回数・収益・eCPMを合わせて確認しています。
コメント
コメント ( 0 )
トラックバックは利用できません。
この記事へのコメントはありません。