ウェブでの実装

注: ブロックの数に関係なく、広告リクエストは 1 ページにつき 1 回のみとしてください。

重要: このコードを使用する前に利用規約をお読みください

このコードを使用するには、AdSense カスタム検索広告を使用するための有効な権限を持つ AdSense アカウントが必要です。

概要

AdSense カスタム検索広告をサイトに実装する手順は次のとおりです。

ステップ 1: AdSense でカスタム検索スタイルを作成する

ログインしたら、[検索向け広告] を展開し、[検索スタイル] をクリックします。新しいスタイルを作成したり、既存のスタイルを更新したりできます。

ステップ 2: コードを設定する

[コードを取得] 埋め込み をクリックします。検索ページの広告コンテナと一致するように広告コンテナを設定します。

ステップ 3: コードを実装する

コード生成ツールからコードをコピーしてページに貼り付け、必ず query パラメータを更新します。広告を正しく読み込むには、head タグで生成したコードをサイトの head タグ内に配置する必要があります。広告ユニット 1 のコードには、ページ上のすべての広告ユニットの設定が含まれます。広告ユニットを追加する場合、対応する広告ユニット <div> を広告を表示するページに配置することのみが必要です。

最もよく使用される機能はコード ジェネレータで提供されますが、その他のパラメータもリファレンス セクションにあります。参照セクションには、ページ上のすべての広告ユニットに適用されるページ単位のオプションと、個々の広告ユニットに適用されるすべてのユニット単位のオプションが含まれています。

サンプルコード

広告の非同期読み込み

生成されるコードは非同期です。非同期の広告読み込みの完全な動作例を以下に示します。この例は新しいタブで開くことができます。ご自身のクライアント ID を忘れずに追加してください。

<html>
<head>

<script async="async" src="https://www.google.com/adsense/search/ads.js"></script>

<script type="text/javascript" charset="utf-8">
  (function(g,o){g[o]=g[o]||function(){(g[o]['q']=g[o]['q']||[]).push(
  arguments)},g[o]['t']=1*new Date})(window,'_googCsa');
</script>

</head>

<body>

<div id="afscontainer1"></div>
<script type="text/javascript" charset="utf-8">

var pageOptions = {
  'pubId' : 'test client ID', // Enter your own client-ID here
  'query' : 'flowers', // User query for this page
  'styleId': '7824176615' // Enter your own style ID here
};

var adblock1 = {
  'container' : 'afscontainer1',
  'width' : 700
};

var adblock2 = {
  'container' : 'afscontainer2',
  'width' : 700
};

_googCsa('ads', pageOptions, adblock1, adblock2);
</script>

<p>Search result 1</p>
<p>Search result 2</p>
<p>Search result 3</p>

<div id="afscontainer2"></div>
</body>
</html>

検索の関連する検索は、現在の検索語句に関連する検索語句を掲載したオーガニック ユニットです。このユニットのリンクは新しい検索結果ページにリンクしています。

<html>
<head>

<script async="async" src="https://www.google.com/adsense/search/ads.js"></script>

<script type="text/javascript" charset="utf-8">
  (function(g,o){g[o]=g[o]||function(){(g[o]['q']=g[o]['q']||[]).push(
  arguments)},g[o]['t']=1*new Date})(window,'_googCsa');
</script>

</head>

<body>

<div id="afscontainer1"></div>
<script type="text/javascript" charset="utf-8">

var pageOptions = {
  'pubId': 'test client ID', // Enter your own client-ID here
  'relatedSearchTargeting': 'query', // Must use 'query' for Related Search on Search pages
  'query': 'flowers', // User query for this page
  'styleId': '1234567890', // Enter your own style ID here
  'resultsPageBaseUrl': '//www.example.com/search', // Enter your own base URL here
  'resultsPageQueryParam': 'query' // Enter your own query parameter here
};

var adblock = {
  'container': 'afscontainer1',
  'number': 3,
  'width': 700
};

var rsblock = {
  'container': 'afscontainer2',
  'relatedSearches': 6,
  'width': 500
};

_googCsa('ads', pageOptions, adblock, rsblock);
</script>

<p>Search result 1</p>
<p>Search result 2</p>
<p>Search result 3</p>

<div id="afscontainer2"></div>
</body>
</html>

コンテンツに関連する検索では、ユーザーがページのコンテンツに関連する検索キーワードを確認できます。これにより、ユーザーは関連性の高いトピックを探索し、検索広告やサイト ナビゲーションを操作できるようになります。 コンテンツ ページの関連する検索に「query」パラメータを使用しないでください。予期しない結果が生じる可能性があります。

注: 関連する検索語句をサイトに表示する前に、Google はページをクロールして、語句がコンテンツと関連していることを確認する必要があります。AdSense クローラによってページがまだクロールされていない場合や、クロールが(robots.txt などによって)ブロックされている場合は、ユーザーが入力した関連する検索キーワードの候補は表示されません。

「コンテンツ内の関連する検索」サービスでは、Google のコンテンツ クロール システムを使用してページをインデックスに登録し、関連性の高い検索語句を生成します。コンテンツ ページの URL にトラッキング変数、ユーザー ID、セッション ID、その他の動的 ID などのクエリ パラメータが含まれていると、クローラがページのコア コンテンツを評価できなくなり、不正確または無関係な関連検索キーワードが表示される可能性があります。「ignoredPageParams」パラメータを使用して、こうした必須ではないパラメータを特定し、コンテンツの適切なインデックス登録を確保し、不要なクロール負荷を減らしてください。これにより、Google はページがすでにクロールされていると認識しやすくなり、キーワードの候補が表示されるようになります(Google と、該当する場合はパートナーの両方)。

<html>
<head>

<script async="async" src="https://www.google.com/adsense/search/ads.js"></script>

<script type="text/javascript" charset="utf-8">
  (function(g,o){g[o]=g[o]||function(){(g[o]['q']=g[o]['q']||[]).push(
  arguments)},g[o]['t']=1*new Date})(window,'_googCsa');
</script>

</head>

<body>

<p>Page content</p>

<div id="afscontainer1"></div>

<script type="text/javascript" charset="utf-8">

var pageOptions = {
  'pubId': 'test client ID', // Enter your own client-ID here
  'relatedSearchTargeting': 'content', // Must use 'content' for Related Search on Content pages
  'hl': 'en', // The preferred language for related terms (default to 'en' if not specified)
  'styleId': '1234567890', // Enter your style ID
  'resultsPageBaseUrl': '//www.example.com/search', // Enter the base URL of your results page
  'resultsPageQueryParam': 'query', // Specify the query parameter on your results page
  'terms': 'term a,term b', // Optionally provide your own related terms in a comma-delimited list
  'referrerAdCreative': 'example ad title' // Only used when a user clicked an ad to arrive here;
                                           // required when 'terms' is present.
};

var rsblock1 = {
  'container': 'afscontainer1',
  'relatedSearches': 6
};

_googCsa('relatedsearch', pageOptions, rsblock1);
</script>

<p>More page content</p>

</body>
</html>

おすすめできない対処方法

パブリッシャー様には、AdSense カスタム検索広告の実装に関するガイドラインを遵守していただくようお願いいたします。また、広告レンダリングの妨げとなり、予期しない結果や最適なパフォーマンスが得られないような実装方法は避けてください。

  • 無限スクロールを実装する場合を除き、1 つのページから複数の広告呼び出しを行わない
  • 広告のレンダリングの前後に広告ブロックを非表示にしない
  • 広告ブロックをページ内で移動しない
  • ページに表示する広告数を超える広告ブロックをリクエストしない
  • 広告ブロックの DOM は操作しない
  • 独自の遅延読み込みを実装しない(代わりに Google の遅延読み込みを利用する)
  • Google の JS リソースをサイトでキャッシュに保存しない
  • 「query」パラメータをコンテンツ ページの関連する検索に使用しないでください。予期しない結果が生じる可能性があります。