[レベル: 上級]
パーソナライズした広告をAMPページに掲載することはできるのでしょうか?
パーソナライズした広告とはたとえば、ユーザーの性別や年齢、地域、利用している端末のOSなどに応じて内容を切り替える広告です。
広告の世界では一般的な仕組みで、Google AdWordsでも利用できます。
しかしながら結論だけを言えば、AMPページでのパーソナライズ広告は、不可能ではなさそうですが難しそうです。
パーソナライズ広告をAMPページに掲載したい!
パーソナライズした広告をAMPページに掲載したいという、類似した質問が日本語と英語の両方のヘルプフォーラムでそれぞれ投稿されていました。
日本語フォーラムの投稿は次のような要望です。
ユーザーが利用しているデバイスのOSに応じて広告を分けたい
英語フォーラムの投稿は次のような要望です。
ユーザーがアクセスしてきた地域に応じて広告を分けたい。
具体的な条件は異なるものの、どちらもユーザーの環境に応じてパーソナライズした広告を表示させたいというサイト管理者です。
キャッシュから返るのでパーソナライズは無理
通常AMPページは、AMP CDNに保存されたキャッシュで表示されます。
キャッシュされた同一ページがすべてのユーザーに返されるので、ユーザーに応じてパーソナライズした広告を表示するのは無理でしょう。
自分が管理するサーバーではなく、CDN サーバーからコンテンツが返るのでOS判定もできません。
※AMPページに直接アクセスさせるならOS判定は可能
対応したアドネットワークがあれば可能
とはいえ、完全に実現不可能ということでもありません。
利用するアドネットワークがパーソナライズ対応した広告を提供していれば可能です(もちろん、広告がAMP対応している必要あり)。
パーソナライズ広告をサポートしているかどうかは、利用しているアドネットワークに確認してください。
amp-iframe を使う
もう1つの実現可能そうな方法は <amp-iframe>
の利用です。
<amp-iframe>
タグを使うと、そのAMPページとは切り離した任意の要素を表示することができます。
たとえば、AMPをサポートしていない動画プレーヤーを <amp-iframe>
で埋め込むことでAMPページに掲載することができます。
概念としては、通常のウェブページで使う iframe
と同等の機能を提供するタグだと認識してかまいません。
AMPページでは許可されたJavaScriptしか動かすことができません。
しかし、<amp-iframe>
を使えば、この制限にとらわれずに任意のJavaScriptをAMPページで動かすことも可能です。
使いようによっては、AMPでの自由度が増す便利なタグとも言えます。
広告目的の要素には amp-iframe は使えない
<amp-iframe>
はパーソナライズ広告を実現する良い選択肢に思えます。
ところが、広告を主たる目的にしている要素に <amp-iframe>
を使うことをAMPの仕様は許可していません。
途中に広告が差し込まれる動画に <amp-iframe>
を使うことは差し支えありません。しかしながら、”広告だけ”の要素に <amp-iframe>
を使うことはできないのです。
<amp-iframe>
must not be used for the primary purpose of displaying advertising. It is OK to use amp-iframe for the purpose of displaying videos, where part of the videos are advertising.
※理由は割愛します。知りたい方は<amp-iframe>
のドキュメントの説明を参照してください。
つまり、広告には <amp-iframe>
は使えないということになります。
<amp-iframe>
タグは何でもかんでも好きなことができるわけではないのです。
(制限がある)”AMP”で利用するということを忘れてはいけません。<amp-iframe>
の仕様に関しては、ドキュメントを参照してください。
さて、この記事のまとめです。
- AMPページでのパーソナライズ広告はアドネットワークが対応していれば掲載可能
<amp-iframe>
が使えそうだけれど、広告だけの要素には使用を許可されていない- でも、
<amp-iframe>
は使いようによっては便利なAMPタグ