2022 年 1 月 24 日より、セキュリティを強化するため、SafeFrame のコンテンツは常にランダムなサブドメインを使用して分離されるようになります。つまり、SafeFrame のセキュリティ設定は使用できなくなります。
これまで「固定」の設定を選択していた場合、SafeFrame のセキュリティは更新されます。
SafeFrame は API に対応した iframe で、広告主とパブリッシャーのコンテンツ間で通信を行うための統合された枠組みです。アド マネージャーの SafeFrame 技術により、ページ コンテンツと広告の間で透明性があり情報豊かな通信が可能になる一方で、外部からの機密データへのアクセスを防止できます。また、GPT で SafeFrame コンテナを使って、表示するクリエイティブを細かく制御できます。
IAB 規格では、SafeFrame コンテナに広告を表示するため、それに応じたウェブサイトの更新が要件とされています。ただし、アド マネージャーでは SafeFrame がサポートされており、GPT タグを使用するときにはデフォルトで有効になります。
悪質なクリエイティブが配信される可能性を最小限に抑えるため、できる限り SafeFrame を有効にし、HTML5 の sandbox
属性を使用してトップレベル ナビゲーションを防ぐことをおすすめします。sandbox
属性について
SafeFrame の仕様など詳しくは IAB のドキュメント(英語)をご確認ください。
SafeFrame とクリエイティブ タイプ
使用するディスプレイ クリエイティブ タイプに応じて、SafeFrame はデフォルトでオンまたはオフになっています。
SafeFrame 以外のページに配信するクリエイティブで SafeFrame を有効にしたり、SafeFrame のページに配信するクリエイティブで SafeFrame を無効にしたりすると、クリエイティブでレンダリングの問題が発生する可能性があります。クリエイティブの配信先を確認し、それに応じて SafeFrame を設定してください。
- カスタム クリエイティブとサードパーティ クリエイティブ: 新しいサードパーティ クリエイティブまたはカスタム クリエイティブを追加する際、[SafeFrame で配信する] はデフォルトでオンになっています。
- 標準クリエイティブ テンプレートとカスタム クリエイティブ テンプレート: 標準クリエイティブ テンプレートとカスタム クリエイティブ テンプレートではいずれも [SafeFrame で配信する] はデフォルトでオフになっています。
SafeFrame と Google パブリッシャーー タグ(GPT)
アド マネージャーでは、次の 4 種類のクリエイティブについて、SafeFrame を使って表示するかどうかを明示的に指定できます。
- カスタム
- サードパーティ
- システム定義のテンプレート
- ユーザー定義のテンプレート
それには、該当するクリエイティブ タイプで新しいクリエイティブやテンプレートを追加するときに、[SafeFrame で配信する] チェックボックスをオンにします。
SafeFrame を有効にする前に、クリエイティブを提供している広告主またはベンダーと協力して、クリエイティブが SafeFrame に対応しているかどうかを確認してください。sandbox
属性を使用する場合は、代理店または広告主と協力して、広告をクリックしたときに現在のページから移動するのではなく、新しいタブでランディング ページを開くようにします。
SafeFrame では、クリエイティブのプレビューは使用できません。
Google Publisher Tag API を使用する場合は、setForceSafeFrame
パラメータを指定して、ページの特定の広告スロットまたはすべてのスロットを SafeFrame コンテナで強制的に表示できます。
AMP ページで SafeFrame を使用する
SafeFrame API は、アド マネージャー AMP 広告タグを使用して AMP ページに配信される、AMP HTML 以外のあらゆる広告に対応しています。
SafeFrame コンテナが展開されるときの最大サイズは、ビューポートの最大サイズに制限されます。SafeFrame では AMP ページの場合のみビューポート内の広告スロットのサイズを変更することができません。そのため、クリエイティブのサイズ変更リクエストに応じて処理が行われるのは、広告スロットがビューポート外にある場合に限られます。
AMP ページでは、選択した内容に関係なく、常に標準の HTML クリエイティブが SafeFrame に配信されます。クリエイティブ コードが SafeFrame に対応していることを確認してください。
AMPHTML 広告
AMP HTML 広告は SafeFrame には配信されません。AMP HTML 広告はより安全であるため、デフォルトで Friendly iframe で配信されます。
サイトにコンテンツ セキュリティ ポリシー(CSP)を設定している場合は、Friendly iframe 内の AMP HTML 広告にも CSP の制限が適用されます。これに該当する場合は、広告リクエストを行う前に googletag.pubads().setForceSafeFrame(true)
を呼び出して、クロスドメインの iframe 内で CSP の制限を受けずに広告がレンダリングされるようにします。
SafeFrame の仕組み
GPT SafeFrame の統合には、次の 3 つの要素が必要です。
- SafeFrame iframe コンテナ。広告を表示する際に GPT によって作成されます。
- クリエイティブ内に挿入されるコード。(外部)SafeFrame API をクリエイティブに提供し、
postMessage
を使ってホストページと通信します。 - SafeFrame iframe の外部で GPT の一部(
postMessage
通信チャネルの相手側)として実行するコード。エキスパンドや視認性に関する測定はすべてこのコードで行われます。
アド マネージャーは、Safeframe API を使用してウェブサイトとやり取りするクリエイティブに対応しています。たとえば、ユーザーが広告をクリックしたときに広告スロットを(プッシュダウンまたはオーバーレイとして)エキスパンドするクリエイティブがこれにあたります。こうしたクリエイティブを使用するときには、タグを修正して広告スロットをエキスパンドできるようにするとともに、setSafeFrameConfig
関数によるプッシュダウンやオーバーレイの処理を許可する必要があります。
SafeFrame のレンダリングは GPT によって処理されるため、GPT の外部でこの API をホストする必要はありません。GPT API をそのまま使い、GPT を変更することなく広告を設定できます。
GPT では、クリエイティブとウェブサイトが通信できるように SafeFrame の外部 API が実装されます。
サポートされている SafeFrame API メソッド
$sf.ext.register
$sf.ext.supports
$sf.ext.geom
$sf.ext.status
$sf.ext.inViewPercentage
/*プッシュモードとオーバーレイ モードの両方の展開に対応
Fluid サイズのネイティブ広告には対応していません*/
$sf.ext.expand
サポートされていない、または一部のみサポートされている API メソッド
$sf.ext.cookie
はサポートされていません。クリエイティブからパブリッシャーの Cookie へのアクセスは禁止されています。$sf.ext.meta
は、パブリッシャー定義のオブジェクトに対してはサポートされていません。以下のシステム定義のオブジェクトのみに使用できます。{String} sf_ver
現在の SafeFrame のバージョンを文字列で表したもの。{Number} ck_on
ブラウザで Cookie が有効になっているかどうか(true の場合は1
、false の場合は0
)。
SafeFrame を使用する場合のリッチメディアと視認性
SafeFrame を使用すると、広告とパブリッシャーのコンテンツ間の通信は、API で利用可能なメソッドで実現できる内容のみに制限されます。これによりパブリッシャー側での制御が容易になります。この技術ではリッチメディア フォーマットが標準化されるので、API を使用するクリエイティブを、SafeFrame をサポートするどのネットワークでも掲載可能です。
視認性
SafeFrame の API は視認性の測定に使用できます。SafeFrame 1.1 では視認性の指標データは直接報告されるわけではありませんが、API を使用することでクリエイティブの情報にアクセスできるので、広告主はこの情報を基に SafeFrame のコンテナが視認可能かどうかを判断できます。
API を介して取得できる情報としては、ブラウザまたはアプリケーション ウィンドウの中での SafeFrame コンテナおよびそのコンテンツのサイズと位置、画面の境界線が挙げられます。表示時間の情報を取得するには、リスナーを登録して、広告が視認可能だった時間を判定します。
アクティブ ビューは、視認可能なインプレッションを測定する Google のソリューションですが、SafeFrame の視認性に関する仕様には含まれていません。アクティブ ビューは特に変更なくこれまでどおり機能します。
Google パブリッシャー コンソールを使用する
Google パブリッシャー コンソールを使用すると、スロットで SafeFrame が使用されているかどうかを確認できます。