Google AdSenseを始めた頃の覚書
筆者がGoogle AdSenseをはじめたばかりの頃よくわからなかった部分をまとめてみました。
そのまえに、能書きです。AdSenseを付けるか否かは多くの人たちが迷う部分だと思います。特にインターネットの黎明期から利用しているような人は、対価を払って有益な情報を無償で提供している有志の方たちを多くみているので余計にそう感じると思います。
そのような迷いを断ち切ってくれる言葉を近年見つけることができました。「サステナビリティ」=持続可能性です。
有益な情報を提供する人のモチベーションや維持コストとしてAdSenseが存在するなら、それは肯定されるべきではないでしょうか。
それでは、Google:AdSenseを参考に進めていきます。
広告を掲載する
Google AdSense広告をWebページに掲載するには次のような手順になります。
- 環境確認
自身でWebサーバーを持っているのなら問題ありませんが、ブログ等のサービスを利用している場合はAdSenseの掲載が認められない場合があります。
また、AdSenseの配置はHTMLファイル内でタグの編集が必要です。またJavaScriptも利用できることが条件となります。
まずはそれらの環境を確認して、対応できていなければ環境を変えましょう。
- 申請・審査
まずはGoogle AdSenseの申請をして審査を通過しなければなりません。審査の詳細は不明ですが、広告を掲載する価値のあるページかどうかをチェックされます。
審査はサイト毎にあります。このブログの場合だと1000字程度の記事を30個ぐらい書いたところで申請して、1か月程度連絡が来ませんでした。その間も更新していて40記事ぐらいになった時に通過の通知が来ました。
- ads.txtの設置
審査が通過した後にまずやることはads.txtの設置です。必須とはなっていませんが、高いレベルで推奨されています。これはWeb広告全体で不正クリックを防ぐための仕組みです。「impress BUSSINESS MEDIA」にWeb広告の仕組みやads.txtが採用されるようになった背景、ads.txtの記述方法等が詳しく載っています。
簡潔に説明すると、ドメインのルートに「ads.txt」(小文字)という名前のファイルを設置しその中に次のような記述をします。
google.com, pub-xxx, DIRECT, yyy,(半角コンマ)で区切られた最初の項目はアカウントSSPドメインです。これはSupply Side Platform(広告ツール)を提供する母体のドメインです。Google Adsenseの場合はgoogle.comとなります。
次の項目は自身に付与されるAdSenseのアカウントIDです。Google Adsenseにログインして「アカウント」項目内の「アカウント情報」を表示すると「サイト運営者ID」として記載されています。
DIRECTの部分はそのまま記述してください。自身でアカウントを管理していることを示します。他に「RESELLER」という設定値も存在します。
最後の部分は「TAGID」とよばれるもので、SSPドメインに対して認証機関が発行するIDです。Google Adsenseの場合は「f08c47fec0942fa0」となります。
ファイルはドメインのルートに配置する必要があります。サブドメインがあり、それぞれ別の管理をする場合はサブドメインのルートにもads.txtを配置したうえで、ドメインのルートにあるads.txtに次のようにサブドメインの記述をします。
subdomain=sub1.domain.com
subdomain=sub2.domain.com - 広告の配置
広告を自身のページに配置します。このあと詳しく書いていきます。
アプリからの配置
筆者が利用しているBloggerだとその機能としてAdSense広告の配置が簡単にできるようになっています。その機能を使わない場合は「ブログ上に広告を掲載」の部分を「いいえ」にして自分でレイアウト内か記事内にAdSenseに必要な情報を記述します。
広告の作成(自動)
前述のようなアプリ経由の広告を使わない場合の説明をします。まず掲載する広告の設定をします。まずは自動広告から見ていきます。
Google AdSenseのページに行きます。
左上部のメニューから「広告」を選択します。
ここで「サイトごと」の広告にして、編集メニューより広告の量や場所、除外ページなどを設定して自動広告を「オン」にします。
「コードを取得」で表示されるスクリプトタグをコピーして、広告を表示したいページのHTMLファイルのheadタグ内に張り付ければ設定は完了です。
数時間で反映されるという話ですが、審査を通過したばかりだと1日待っても広告が出なかったりします。あまり神経質にならないようにしましょう。
自動広告.html
<html><head>
...
<script data-ad-client="ca-pub-XXXX" async src="https://pagead2.googlesyndication.com/pagead/js/adsbygoogle.js"></script>
</head>
<body>
...
</body>
</html>
広告ユニットの作成(手動)
自分で広告の掲載場所や量を管理するには「広告ユニット」(広告が掲載される枠のようなもの)を作成して、ユニットごとHTMLファイルに記述します。
広告ユニットを作成するには、先のページから「広告ユニットごと」を選択します。
広告ユニットの種類には、「ディスプレイ広告」「インフィード広告」「記事内広告」とあります。
Googleではこれらの広告の違いを次のように説明しています。
「ネイティブ広告」という言葉が出ていると思いますが、これは広告がコンテンツを損ねることなく一体化していることを指します。
「フィード」とはスクロールできる一連のページという意味で、具体的には記事や商品の羅列ページのことを指しています。
「ディスプレイ広告」は画像が主体のインパクトのある広告が表示されます。広告のサイズを指定できるのはこのディスプレイ広告のみです。サイドバーなどへの配置もこれが適しています。
記事や商品の一覧(フィード)に溶け込ませるには「インフィード広告」を使います。背景色や文字色、文字のサイズを調整して違和感のないように構成できます。ページのフィードが認識できれば自動で作成することもできます。
「記事内広告」はディスプレイ広告に比べるとページの景観を崩しにくく使いやすいですが、記事本文以外の場所での使用は推奨されません。
ディスプレイ広告
ここではGoogleも推奨しているディスプレイ広告を、レスポンシブル(可変サイズ)で設定してみます。
「ディスプレイ広告」のアイコンをクリックすると、次に名前と広告の形状とサイズを聞かれます。デフォルトでは形状が「スクウェア」、サイズが「レスポンシブ」になっていると思いますので、名前だけを入力して「作成」を押しましょう。これでひとつ広告ユニットを作成することができました。
ここで付けた名前は後で結果を分析する際に使います。ディスプレイ広告と、記事内広告を作ってどちらが反応がいいかなどと調べます。
作成された広告ユニットは下段の一覧に載ってきます該当業の<>のマークの部分をクリックするとHTMLファイルに張り付けるコードが表示されます。
自動広告の場合はheadタグ内に記述しましたが、広告ユニットの場合は広告を表示させたい場所(bodyタグ内)に記述します。
複数個所で広告を表示する場合はadsbygoogle.jsをロードする部分は最初のひとつにすることが可能です。asyncが指定されているので複数回指定しても1回しか読み込まれません。
ディスプレイ広告のレスポンシブルサイズではINSから始まる広告コードの一部を書き換えて使ってもいいことになっています。
まず「data-ad-format」というものがあります。通常は"auto"という値が設定されています。この"auto"の値を"vertical"にすると縦長、"horizontal"にすると横長、"rectangle"にすると正方形といった形状を指定することができます。
また「data-full-width-responsive」という項目で、スマホでの表示時に広告を全幅サイズにすることができます。値を"true"にするとスマホでの表示時に広告サイズが変化します。横幅が画面いっぱいになり伴って縦幅も伸びることがあります。この挙動をさせたくなければ"false"を指定します。
さらに、CSSのメディアクエリと連動させることにより、画面サイズに毎に広告サイズを指定できます。adsenseのINSタグにクラス名を追加して、そのクラスに対してメディアクエリでwidthとheightを指定します。またレスポンシブ広告に限ってdisplay:none;(非表示)を指定することも許されます。
この修正に関する詳細は公式:「レスポンシブ広告コードを修正する方法」に載っています。
またメディアクエリで指定する広告サイズはGoogle:ディスプレイ広告の一般的なサイズについてを参考にするといいでしょう。スマホとPCで一般的なサイズが違いますが、一致するサイズの広告がない場合は指定したサイズで表示可能なサイズが選択されるようです。
(adsbygoogle = window.adsbygoogle || []).push({});
広告コード内に(adsbygoogle = window.adsbygoogle || []).push({});という記述がありますが、これは何をしているのでしょうか?
JavaScriptの動きとしては、window.adsbygoogleが存在していればそこに空のオブジェクトを追加し、存在しなければ配列を定義してそこに空のオブジェクトを追加しています。
こちらのGoogleの公式のコードサンプルの記述中のコメントによれば「広告リクエストをトリガーします」という説明になっています。
また、サンプルの記述では複数ある広告ユニットの記述の最後にだけ書いてありますので、ユニット毎に記述する必要もなさそうです。
ディスプレイ広告.html
<html>
<head>
...
<style>
@media(max-width: 767px) { .sample { width: 300px; height: 250px; } }
@media(min-width: 768px) { .sample { width: 728px; height: 90px; } }
</style>
</head>
<body>
...
<script async src="https://pagead2.googlesyndication.com/pagead/js/adsbygoogle.js"></script>
<!-- sample -->
<ins class="adsbygoogle sample"
style="display:block"
data-ad-client="ca-pub-XXXX"
data-ad-slot="YYYYYYYYYY"
data-ad-format="auto"
data-full-width-responsive="true"></ins>
<script>
(adsbygoogle = window.adsbygoogle || []).push({});
</script>
</body>
</html>
広告のポリシー
AdSenseによる広告掲載のルールはポリシーと呼ばれています。それは広告のプレースメントに関するポリシーに書かれています。ひと昔前までは1つのページに掲載可能なAdSenseは3つまでというルールがありました。頻繁とまではいきませんがポリシーは変更されるものなので、定期的に確認しておきましょう。
たとえば広告の近くにほかの画像を配置したり、「おすすめ」等のコメントを入れることも禁じられています。
ポリシーに記述はありませんが、自分で自分のページをクリックしないように注意しましょう。誤クリック程度なら問題ありません。筆者は自分のページだという事を忘れていて、クリックしてしまったことがありましたが、クリック数のカウントに入りませんでした。