【動画広告】VASTって何?

     - アドテクノロジー  


こんにちは、FlexOne推進部の近江です。

私は新卒入社2年目でアドサーバーや動画ソリューション(OVP)のサポート、開発を担当しています。

今回は動画広告のプロトコル「VAST」について書かせて頂きます。

 

ここ数年動画のくるくる詐欺がありましたが、昨年はHulu、ユーチューバー、見逃し視聴、動画関連のワードが多くなり

本当の意味でついに動画元年を迎えたような気がします。

最近ではテレビでも動画広告が流れているくらい、マルチデバイスでシームレスに動画が配信されています。

さて、この動画広告配信の技術を支えているのは何でしょうか?

 

はい、その答えがVASTになります。

 

・VASTとは

IABに記載されているVASTの定義は以下です。

Video Ad-Serving Template (VAST) ― a universal protocol for serving in-stream video ads, permitting ad servers to use a single ad response format across multiple compliant publishers/video players
http://www.iab.net/guidelines/508676/digitalvideo/vsuite

訳すと、インストリーム動画広告を提供するための汎用プロトコルで、複数のパブリッシャー/ビデオプレーヤーに対しアドサーバが単一の広告応答形式でやりとりできるようにするためのもの。

簡単に言うと、アドサーバーやプレイヤーがこのVAST規格に則れば1つの形式でやりとりできるのでこの規格に則りましょう、ということですね。

 

・なぜVASTが必要か

なぜVASTが必要か、それは「もしVASTが存在しなかったら」と考えれば一瞬で理解できます。

 

動画広告について考える時に登場するシステムは大きく分けて、アドサーバー、プレイヤーの2つです。

もちろんVASTが存在しなかった時代はあった訳ですが、その時どうやってアドサーバーとプレイヤーは連携できていたのでしょうか。

恐らくVAST規格というものがないので、通信のやり取りを自分たちで1つ1つ決めなければならなかったはずです。

わざわざ打ち合わせをしてアドサーバから送信される情報は何か、プレイヤーはどのように受け取るのがベストか、いちいち考えなければならなかったはずです。

私も経験がありますが、システム連携する際に通信のやり取りを決めていく過程は結構時間が大変ですよね。

その工程が、VASTに準拠しているアドサーバー、プレイヤーであれば、「このURLをプレイヤーにセットしてください」で終了です。

話が早いのがよくわかると思います。

 

・VAST XMLを見てみよう

まずこちらがVAST XML(一部)です。

<VAST version="3.0">
  <Ad id="2215590">
    <InLine>
      <AdSystem version="1">AdServer</AdSystem>
      <AdTitle>
        <![CDATA[ 2215590 ]]>
      </AdTitle>
      <Error>
        <![CDATA[
          http://xxxxx.com/log/p.gif?6=27646;a=2215590;n=2592;c=2592000035;s=0;x=4928;g=84;m=6;w=3;1=8;os=9;2=6;z=0.7086163192175353;pu=;ru=;e=e;erc=          [ERRORCODE];
        ]]>
      </Error>
      <Impression id="IMP">
        <![CDATA[

http://xxxxx.com/asw/log/vast/it.js?a=2215590&x=4928&g=84&c1=2592000035&c2=2592000035&i=0&d=19&n=2592&s=0&m=6&w=3&u=JqPQZmGRQGaU3pz@DMwXSQ**~021715&cv=null&1=8&2=6&zft=-1&zcft=1&zxf=0&zxd=0&zxchs=35&zcxf=401053&zcxd=24&dp=&ai=&pRate=null&al=30&nt=0&tsad=0&z=0.9612661205602768&ld=m8.xxxxx.com&h=2262051&f=2678060&prfl=&os=9&ct=2&pu=&ru=&exp=1&tz=P09_00&csv=1&dct=2067&dmf=&dvm=&dsr=&djs=&dhs=&att=1

        ]]>
      </Impression>
      <Creatives>
        <Creative id="2215590">
          <Linear skipoffset="00:00:03">
            <Duration>00:00:30</Duration>
            <VideoClicks>
              <ClickThrough>
                <![CDATA[

http://xxxxx/ads2/c?a=2215590;x=4928;g=84;c=2592000035,2592000035;i=0;n=2592;s=0;1=8;2=6;tg=1426596229;vr=1;m=6;w=3;os=9;ct=2;u=JqPQZmGRQGaU3pz@DMwXSQ**~021715;z=0.8409217402507212;ainfo=;csv=1;dct=2067;dmf=;dvm=;dsr=;djs=;dhs=;q=;pu=;ru=;k=http://www.dac.co.jp

                ]]>
              </ClickThrough>
            </VideoClicks>
            <MediaFiles>
              <MediaFile delivery="progressive" bitrate="1056" width="640" height="360" type="video/mp4">
                <![CDATA[http://xxxxx.com/OzoDB/g/u/2215590/V1/xxxxx.mp4]]>
              </MediaFile>
            </MediaFiles>
            <TrackingEvents>
              <Tracking event="Errors">
                <![CDATA[

http://xxxxx.com/log/p.gif?6=27646;a=2215590;n=2592;c=2592000035;s=0;x=4928;g=84;m=6;w=3;1=8;os=9;2=6;z=0.10759274965348731;pu=;ru=;e=e;

                ]]>
              </Tracking>
              <Tracking event="progress" offset="00:00:60.000">
                <![CDATA[

http://xxxxx.com/log/p.gif?6=25946;a=2215590;n=2592;c=2592000035;s=0;x=4928;g=84;m=6;w=3;1=8;os=9;2=6;z=0.7948940301353307;pu=;ru=;e=e;

                ]]>
              </Tracking>
              <Tracking event="progress" offset="00:00:45.000">
                <![CDATA[

http://xxxxx.com/log/p.gif?6=25468;a=2215590;n=2592;c=2592000035;s=0;x=4928;g=84;m=6;w=3;1=8;os=9;2=6;z=0.9106878835415341;pu=;ru=;e=e;

                  ]]>
              </Tracking>

 

VAST規定のタグ要素をいくつか紹介したいと思います。

  • <Impression>
<Impression id="IMP">
  <![CDATA[

http://xxxxx.com/asw/log/vast/it.js?a=2215590&x=4928&g=84&c1=2592000035&c2=2592000035&i=0&d=19&n=2592&s=0&m=6&w=3&u=JqPQZmGRQGaU3pz@DMwXSQ**~021715&cv=null&1=8&2=6&zft=-1&zcft=1&zxf=0&zxd=0&zxchs=35&zcxf=401053&zcxd=24&dp=&ai=&pRate=null&al=30&nt=0&tsad=0&z=0.7030178291920351&ld=m8.xxxxx.com&h=2262051&f=2678060&prfl=&os=9&ct=2&pu=&ru=&exp=1&tz=P09_00&csv=1&dct=2067&dmf=&dvm=&dsr=&djs=&dhs=&att=1

  ]]>
</Impression>

 

<Impression>タグはImpカウント計測用トラッキングpixelの送付先URLを指定する箇所です。

このトラッキングpixelをプレイヤーからアドサーバーに送って計測します。

  • <MediaFiles>
<MediaFiles>
  <MediaFile delivery="progressive" bitrate="1056" width="640" height="360" type="video/mp4">
    <![CDATA[http://xxxxx.com/OzoDB/g/u/2215590/V1/xxxxx.mp4]]>
  </MediaFile>
</MediaFiles>

 

<MediaFiles>タグでは配信する動画広告の素材のURLを指定します。

  • <Tracking>
<Tracking event="progress" offset="00:00:60.000">
  <![CDATA[

http://xxxxxx.com/log/p.gif?6=25946;a=2215590;n=2592;c=2592000035;s=0;x=4928;g=84;m=6;w=3;1=8;os=9;2=6;z=0.9177278488830444;pu=;ru=;e=e;

  ]]>
</Tracking>
<Tracking event="progress" offset="00:00:45.000">
  <![CDATA[

http://xxxxx.com/log/p.gif?6=25468;a=2215590;n=2592;c=2592000035;s=0;x=4928;g=84;m=6;w=3;1=8;os=9;2=6;z=0.1331810786302503;pu=;ru=;e=e;

  ]]>
</Tracking>

 

<Tracking>タグはアドサーバーで計測する指標をeventで指定し、計測トラッキングpixel送付先URLを指定しています。

eventは再生開始、25%完了、50%完了、75%完了、100%完了、停止、ミュート、フルスクリーンなど様々な指標が計測できるように定義されています。

VAST 2.0では25%ずつしか計測できなかったのですが、VAST 3.0では図のprogress要素が使えるようになり、

任意の時間で計測することが可能になりました。

 

今出てきた<Impression>,<MediaFiles>,<Tracking>のようなタグ要素は、全てIABが定義している要素であり、この定義に従い、

・アドサーバー側はこの規定を守ってVAST XMLを生成する

・プレイヤー側は規定通りのXMLが来ることを期待して解釈できるようにする

このようにして各ソリューションはVAST対応を目指しています。

 

・VASTで実現できる広告フォーマット

VASTではインストリーム広告の最も一般的な次の広告フォーマットが実現できるように定義されています。

・Linear video ads(プリロール、ミッドロール、ポストロール)

・Non-linear video ads(オーバーレイ)

・Companion ads(コンパニオンアド)

 

プレイヤーの設定でプリロール広告を2つ流したり、コンテンツ再生中にミッドロール広告を10分ごとに複数回流したりすることも可能です。

 

 

今回はVASTについて触れましたが、他にもIABはVPAID、VMAPという動画広告の規定を発表しています。

現在VAST 3.0まで発表されていますが、今後も4.0,5.0と新機能が追加されていくと思いますので、

次回から注目してみてください。

 


DACエンジニア採用情報

  関連記事

big-brother2
オトナの常識、消費者プライバシー保護(後編)

プライバシーが保護されていると期待できなくなってしまった国とは? 『オトナの常識、消費者プライバシー保護(前編)』はこちらから             正解はアメリカです。 スノーデン事件といえば、ご存じの方もいらっしゃるかと思います。 & …

IAB
Ad Tech Conference~海外アドテク系カンファレンスに行ってきた~

こんにちは、田畑です。   前回のエントリから早一か月、どのように書こうかなぁと考えているうちに時間が経ってしまいました。前回はそもそも自分の部署が何をしているのかといったところを書いたので、今回は実際に情報収集の場として利用している各種カンファレンスの様子について書いてみました。 &nb …

プログラミング
ES5とES6でアドタグを作ってみた

はじめに アドテク問題(広告表示編)のQ7を元にネイティブ広告を表示するアドタグをES5とES6で作ってみました。 処理の流れ 大きな処理の流れは以下の通り 広告要素取得処理 サーバからタイトル/説明文/画像URLの取得を行う フォーマット処理 取得した要素を表示するページに最適化した形にフォーマッ …

IMG_4673
Ad Tech Conference~海外アドテク系カンファレンスに行ってきた②~

はい、テクノロジー戦略部の田畑です。 アドテク系イベントに行ってきた②ということで、前回書ききれなかったところを書きます。   ~前回のおさらい~ 1.11月にNYのアドテク系イベント3つに行ってみた。 2.Fraud、Viewability、Programatic Directがキーワー …

Chrome
アドブロッカーに対抗してアドチェッカーを作ってみた

iOS9のSafariでコンテンツブロック機能が登場し、サイト上の広告を非表示にするアドブロックの存在が世に広まりました。 これを機にCrystalを始めとする数々のアドブロッカーアプリが登場しています。 PCブラウザでもAdblock Plusを始め、ブラウザの拡張機能で広告を非表示にして表示速度 …

new-york-city-828776_1280
ネイティブ広告と記事広告の違いってなに?!

こんにちは、プラットフォーム・ワンの新卒1年目Yukaです!! ここ数年よく耳にし、さまざまな媒体で目にするネイティブ広告。 しかし、今までの記事広告といったいなにが違うのー?!?!?! ということで調べてみました。 ネイティブ広告(Native Ads) デザイン、内容、フォーマットが、媒体社が編 …

no image
SafeFrameでリッチ広告をセキュアに実現

アドサーバ(広告配信サーバ)は、通常iframeで広告のクリエイティブを配信している。(JS配信とかに対応しているアドサーバもある) 通常のセキュリティだとiframeの中身(srcで実際に表示されている側)がiframeを操作する事はできない。つまりexpandなどのリッチ広告、特に表示領域を変更 …

gtm
【タグマネジメント】GoogleTagManagerでイベントリスナーを使う

タグマネジメントとは タグマネジメントとは、広告効果測定ツールや、サイト解析ツールなどで利用している『HTMLタグ』の管理を行うことをいいます。 タグマネジメントツールでは、Webサイトの全ページに各タグマネジメントツールが発行する1つのタグを設置するだけで、あらゆるHTMLタグを管理画面上で登録す …

Apple-Releases-Safari-10-Developer-Beta-3-for-OS-X-Yosemite-and-El-Capitan
Safari10(iOS10)のインライン動画再生についてまとめてみた

はじめに Safari10からvideoタグを用いたインライン動画再生ができるようになったので、挙動を調べてみました。 Safari 10.0 検証環境 項目 詳細 開発環境 Xcode8.0 検証端末 iPhone7 Simulator ブラウザ iOS Safari / UIWebView / …

cookie
【DMP】クッキー連携ってなに

  アドテクに関わる方であれば、必ず耳にするであろう「クッキー連携」をシンプルに説明してみようと思います。 クッキー連携は cookie sync(クッキーシンク、cookie synchronization の略)と呼ばれることも多いです。 Googleは cookie matching …