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

Google パブリッシャー タグ(GPT)ライブラリをサイトに統合し、一般的なベスト プラクティスを把握したら、広告リクエストの発行を開始できます。以下では、パフォーマンスへの影響を最小限に抑えながら広告スペースを最大限に活用するために、広告スロットの設定と操作時に考慮すべきその他のベスト プラクティスについて説明します。

「重要な」広告スロットに優先順位を付ける

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

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

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

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

スクロールして表示する必要がある広告については、スロットがビューポートに入る直前まで取得とレンダリングを遅らせる必要があります。これは遅延読み込みと呼ばれるプロセスです。遅延読み込みでは、表示される可能性が最も高いスロットのクリエイティブ コンテンツのリクエストとレンダリングに優先順位が付けられます。これにより、ブラウザの限られたリソースを節約してページ読み込みのパフォーマンスを最適化できます。これは、帯域幅と CPU が厳しく制限されていることが多いモバイル環境では特に重要です。

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

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

広告スロットを更新する際は、refresh()ベスト プラクティスをよく理解し、それに従うことが重要です。広告を不適切に更新すると、パフォーマンスの問題が発生し、視認性率に悪影響を及ぼす可能性があります。

広告を効果的にターゲティングする

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

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

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

シングル リクエスト アーキテクチャ(SRA)は、複数の広告スロットに対するリクエストを 1 つの広告リクエストにバンドルする GPT リクエスト モードです。これにより、ページに設定された競合広告の除外とロードブロックが適用されます。そのため、ページでこれらの機能を使用している場合は、SRA を有効にして、正しく使用する方法を理解することをおすすめします。

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

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

不正確 - 広告スロットの設定が SRA リクエストに含まれていない

<html>
  <head>
    <meta charset="utf-8">
    <title>Single Request Architecture Example</title>
    <script src="https://securepubads.g.doubleclick.net/tag/js/gpt.js" crossorigin="anonymous" async></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 src="https://securepubads.g.doubleclick.net/tag/js/gpt.js" crossorigin="anonymous" async></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>

広告サイズを最適化する

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