WordPressで広告タグをPHPでランダムに出し分ける方法|50:50・70:30・3社比較

2
  • HOME
  • WordPressで広告タグをPHPでランダムに出し分ける方法|50:50・70:30・3社比較

複数の広告サービスを試していると、「同じ広告枠で表示を切り替え、収益を比較したい」と思うことがあります。

私のサイトでは、インタースティシャル広告やオーバーレイ広告で複数の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 )

  • トラックバックは利用できません。

  1. この記事へのコメントはありません。