広告のベスト プラクティス

Google パブリッシャー タグ(GPT)ライブラリをサイトに統合し、一般的なおすすめの方法を把握したら、広告リクエストの発行を開始します。パフォーマンスへの影響を最小限に抑えながら広告スペースを最大限に活用するために、追加の構成と使用について説明します。

「重要」な広告スロットを優先する

広告スロットはすべて同じように作られているわけではありません。たとえば、ページが読み込まれるとすぐに表示される(スクロールせずに見える範囲)のスロットは、視認性と収益化の観点から、スクロールしなければ見えない位置(スクロールしなければ見えない位置)に表示されるものよりも、通常は「重要」です。このことを念頭に置いて、ページ上のすべての広告スロットの相対的な重要度を慎重に検討し、最も重要なスロットをできるだけ早く読み込むことを優先することが重要です。

スクロールせずに見える範囲に広告を読み込む

ページ読み込みの直後に表示される広告には、最も高い優先度が割り当てられます。これらのスロットをドキュメントの <head> で定義し、ページ読み込みプロセスのできるだけ早い段階でリクエストすることをおすすめします。これにより、広告が早い段階で読み込まれる(視認性が最大化される)とともに、最初のページ読み込みが不必要に遅くなることはありません。

スクロールしなければ見えない範囲の広告の遅延読み込み

ビューにスクロールする必要がある広告については、スロットがビューポートに入るところまで、取得とレンダリングを延期する必要があります。これは遅延読み込みと呼ばれるプロセスです。遅延読み込みを使用すると、閲覧される可能性が最も高いスロットで、クリエイティブ コンテンツのリクエストとレンダリングが個別に優先されます。帯域幅と CPU に大きな制約があるモバイル環境では特に、ブラウザの限られたリソースを節約することでページ読み込みのパフォーマンスを最適化できます。

ページを更新せずに広告を更新する

スロットの現在の広告コンテンツを差し替えるのが最適である、あるいは必要とされる場合もあります。そのような場合は、GPT ライブラリの更新機能を使って動的に更新することをおすすめします。 ページの完全な更新を回避し、スロットまたはスロットのグループが更新される条件を正確に制御できます。

広告スロットを更新する場合は、refresh() のベスト プラクティスを十分に理解し、遵守することが重要です。広告の更新を不適切に行うと、パフォーマンスに問題が発生し、視認率が低下する場合があります。

広告の効果的なターゲット設定

Key-Value ターゲティングを設定する際は、スロットレベル ターゲティングとページレベル ターゲティングのどちらを使用するかを慎重に検討します。複数のスロットで Key-Value を共有する場合は、PubAdsService setTargeting() メソッドを使ってページレベルのターゲティングを使用すると最も効果的です。スロットレベルのターゲティングは、すべてのスロットに含まれる、または含まれていない Key-Value を登録する場合にのみ使用してください。

スロットレベルとページレベルの両方のターゲティングは、設定されたターゲティング例に示すように、一度に使用できます。最初にページレベルでターゲティングを設定し、その後、必要な場合にのみスロットレベルのオーバーライドを適用することを強くおすすめします。このアプローチでは GPT API を効率的に使用するだけでなく、コードを簡素化し、ページで設定したすべてのターゲティングについて明確なメンタルモデルを維持できます。

シングル リクエスト アーキテクチャを正しく使用する

シングル リクエスト アーキテクチャ(SRA)は、複数の広告スロットへのリクエストを 1 つの広告リクエストにまとめる GPT リクエスト モードです。これにより、ページに設定されている競合相手の除外やロードブロッキングが確実に保護されます。ページで SRA を使用している場合は、SRA を有効にして、SRA を正しく使用することをおすすめします。

デフォルトの設定では、SRA は、display()初期読み込みが無効になっている場合は)を初めて呼び出したときに、ページで定義されているすべての広告スロットをリクエストします。このため、display() を初めて呼び出す前に、ドキュメントのすべての広告スロットをドキュメント内の <head> で定義することをおすすめします。このアプローチと組み合わせて遅延読み込みを行うことで、スクロールしなければ見えない範囲にあるスロットがすぐに読み込まれないようにできます。

SRA を使用する際は、display() を初めて呼び出す前に、すべての広告スロットを完全に設定(ターゲティング、カテゴリの除外など)することが重要です。この時点より前に構成された値のみが、最初の SRA リクエストに含まれます。

- SRA リクエストに広告スロットが含まれていない

<html>
  <head>
    <meta charset="utf-8">
    <title>Single Request Architecture Example</title>
    <script async src="https://securepubads.g.doubleclick.net/tag/js/gpt.js"></script>
    <script>
      window.googletag = window.googletag || {cmd: []};
      var adSlot1, adSlot2;

      googletag.cmd.push(function() {
        // Define ad slot 1.
        adSlot1 = googletag
            .defineSlot('/6355419/Travel/Europe/France',[728, 90], 'banner-ad-1')
            .addService(googletag.pubads());
        // Define ad slot 2.
        adSlot2 = googletag
            .defineSlot('/6355419/Travel/Europe/France',[728, 90], 'banner-ad-2')
            .addService(googletag.pubads());
        // Enable SRA and services.
        googletag.pubads().enableSingleRequest();
        googletag.enableServices();
      });
    </script>
  </head>
  <body>
    <div id="banner-ad-1" style="width: 728px; height: 90px;">
      <script>
        googletag.cmd.push(function() {
          // This call to display requests both ad slots.
          googletag.display(adSlot1);
        });
      </script>
    </div>
    <div id="banner-ad-2" style="width: 728px; height: 90px;">
      <script>
        googletag.cmd.push(function() {
          // This call to display has no effect, since both ad slots have already
          // been fetched by the previous call to display.
          // Targeting configuration for ad slot 2 is ignored.
          adSlot2.setTargeting('test', 'privacy');
          googletag.display(adSlot2);
        });
      </script>
    </div>
  </body>
</html>

- 広告スロット設定は SRA リクエストに含まれています

<!doctype html>
<html>
  <head>
    <meta charset="utf-8">
    <title>Single Request Architecture Example</title>
    <script async src="https://securepubads.g.doubleclick.net/tag/js/gpt.js"></script>
    <script>
      window.googletag = window.googletag || {cmd: []};
      var adSlot1, adSlot2;

      googletag.cmd.push(function() {
        // Define ad slot 1.
        adSlot1 = googletag
            .defineSlot('/6355419/Travel/Europe/France',[728, 90], 'banner-ad-1')
            .addService(googletag.pubads());
        // Define and configure ad slot 2.
        adSlot2 = googletag
            .defineSlot('/6355419/Travel/Europe/France',[728, 90], 'banner-ad-2')
            .setTargeting('test', 'privacy')
            .addService(googletag.pubads());
        // Enable SRA and services.
        googletag.pubads().enableSingleRequest();
        googletag.enableServices();
      });
    </script>
  </head>
  <body>
    <div id="banner-ad-1" style="width: 728px; height: 90px;"></div>
    <div id="banner-ad-2" style="width: 728px; height: 90px;"></div>
    <script>
        googletag.cmd.push(function() {
          // This call to display requests both ad slots with all
          // configured targeting.
          googletag.display(adSlot1);
        });
      </script>
  </body>
</html>

広告サイズを最適化する

広告スロットを定義するときは、配信できる最大サイズの広告だけでなく、同じスペースに収まりやすい小さなサイズも考慮してください。一般に、スロットを定義するときに指定するサイズが多いほど、そのスロットに配信できる広告が多くなります。これにより、広告掲載率が向上し、収益が増加する可能性があります。