概要
Webサービスを展開するなら一度は検討したいAdsense。
少額ながらもすぐに収益がでるため、サービス拡大のお供にしてモチベーションを維持したいところ。
そんなみんな大好きAdsenseですが、実はSPAとは相性が悪いというお話
読者対象
- 将来SPAなWebページにAdsenseを導入予定している方
どうしてSPAではだめなのか?
Adsenseの広告には二種類あります。
- 自動広告
- 広告の配置をすべてGoogleに委任する形態で、開発者はレイアウトに関して広告を一切気にしなくてよい。
- 広告ユニット
- 自動広告の真逆のタイプの広告で、開発者がレイアウトを管理します。
後者の広告ユニットであれば、SPAでも問題ありません。
問題は前者の自動広告です。
自動広告にはHeaderにテンプレコードを追加するのですが、一度設定するとページ毎に一回しか設定できない旨のエラーになってしまいます。
SSRの場合、ページを読み込む度にクリアされるからOKですが、SPAでは設定済みの状態を持っているためNGということです。
そもそもAdsenseがブログやニュースサイトといったSSRベースをターゲットにしているため、AnalyticsのようにSPAに配慮したヘルプページすら存在しません。
SPAは仮想DOMで操作しますから、リアルDOMを後付けするAdsenseの自動広告とは仕組み的にも相性悪いのかもしれません。
素晴らしすぎる自動広告
自動広告の何がすごいのか?
- 自動広告はHeaderにテンプレコードを入れるだけで、Googleが最適と考えるところに広告が配置される(広告をアプリに組み込まなくていい)。
つまり開発側は一切広告を気にしなくていい。 - 動的配置のため、どこに広告が出るかは表示してみてのお楽しみ。クリック率の向上が期待できる
。
例えばDrawerから画面遷移したときに全画面広告が表示など。
私は一回設定しただけで虜になりました
やり過ぎの時もありますが、Googleの判断で盛っているので私に一切責任なし
一回使ってしまうと、もう広告ユニットには戻れないなぁ・・・
SPAでのAdsenseの選択肢
広告ごとにまとめると以下になります。
- 自動広告
- SPAでは初期表示しか表示することができません。ページ遷移以降は広告なしになります。
- 広告ユニット
- ページ毎に広告を配置することが可能。
SPAでの自動広告では収益が半減する可能性があるため、使用するなら広告ユニットと合わせて使うのがよいでしょう。
まとめ
将来的にどうなるかわかりませんが、現状では自動広告=SSRが前提となっています。
そのため、自動広告に重きを置くならSSRとなります。
一方、手動で広告を配置するのであれば、SPAでも問題ありません。
SPAでも自動広告を希望するなら、フィードバックから要望を出しておきましょう(私は要望済み)。
可能性は低いと思いますが、将来SPA向けページ更新時のAPIを追加してくれるかもしれません。