지난 글에서 비디오 광고의 종류의 대해서 알아보았습니다. [https://roothyo.tistory.com/93]
이제 이 비디오 광고를 하기 위한 표준인 VAST에 대해서 알아보도록 하겠습니다.
VAST(Vidwo Ad Serving Template)
VAST는 미국 인터넷 광고 협회(IAB, Interactive Advertising Bureau) Tech Lab에서 지정한 비디오 광고 전달 양식 표준입니다. XML 형식으로 Media Player에게 In-Stream 및 Out-Stream 광고의 세부 정보를 전송하는 데 사용됩니다. 과거 Video / Audio 광고를 할 때, Media Player의 종류는 너무나 다양하였으며, Player는 1가지 콘텐츠 밖에 재생하지 못하였습니다. 그래서 비디오 광고 재생을 위해 보조 플레이어를 로드하고 원래 콘텐츠를 재생하는 방식을 택하였지만, 이도 버퍼링이 발생하여, 시청자에게 좋은 경험을 제공하지 못했습니다. 이를 해결하기 위한 솔루션으로 광고를 Contents 안에 포함시킨 Inline한 방식을 통해 시청자에게 원활한 광고 경험을 제공합니다.
VAST Process - Client Side
1. VAST Request
: Player가 광고를 삽입하기 위한 큐에 도달하면, HTTP를 사용하여 광고 요청을 전송한다. 요청은 Publisher의 광고 서버 또는 공급측 플랫폼(supply-side platform)인 광고 서버에 전송됩니다.
2. Wrapper Response
: 서버는 VAST와 함께 Response합니다. 이 Response는 서버가 Ad Request를 채우지 못하면 Inline Response를 전송합니다. 대부분의 Case는 Ad Server가 Wrapper Response를 Response하고, 다른 광고 서버(Secondary Server)로 Player를 Redirect 합니다.
3. Secondary VAST Request
: Wrapper Response를 받으면, Player는 Secondary Request를 Redirect된 광고 서버로 요청을 전달합니다. Secondary Response는 Inline Response 혹은 또 다른 Wrapper Response입니다.
4. Inline Response
: 결국, Ad Server는 Inline Response를 제공합니다.
5. Inline Execution
: Media Player는 VAST Response를 실행합니다.
6. Tracking
: VAST 내부에 Event와 Mapping된 URI로 요청을 보내 광고 재생중의 추적 정보를 광고 서버로 전달합니다.
VAST 형식은 다음과 같습니다.
<VAST version="2.0">
<Ad id="601364">
<InLine>
<AdSystem>Adsystem Example</AdSystem>
<AdTitle>VAST 2.0</AdTitle>
<Description>VAST 2.0</Description>
<Error>http://myErrorURL/error</Error>
<Impression>http://myTrackingURL/impression</Impression>
<Creatives>
<Creative AdID="12345">
<Linear>
<Duration>00:00:30</Duration>
<TrackingEvents>
<Tracking event="creativeView">http://myTrackingURL/creativeView</Tracking>
<Tracking event="start">http://myTrackingURL/start</Tracking>
<Tracking event="midpoint">http://myTrackingURL/midpoint</Tracking>
<Tracking event="firstQuartile">http://myTrackingURL/firstQuartile</Tracking>
<Tracking event="thirdQuartile">http://myTrackingURL/thirdQuartile</Tracking>
<Tracking event="complete">http://myTrackingURL/complete</Tracking>
</TrackingEvents>
<VideoClicks>
<ClickThrough>http://www.examplemedia.com</ClickThrough>
<ClickTracking>http://myTrackingURL/click</ClickTracking>
</VideoClicks>
<MediaFiles>
<MediaFile delivery="progressive" type="video/x-flv" bitrate="500" width="400" height="300" scalable="true" maintainAspectRatio="true">
http://demo.examplemedia.com/video/acudeo/Carrot_400x300_500kb.flv
</MediaFile>
</MediaFiles>
</Linear>
</Creative>
<Creative AdID="601364-Companion">
<CompanionAds>
<Companion width="300" height="250">
<StaticResource creativeType="image/jpeg">
http://demo.examplemedia.com/vast/this_is_the_ad.jpg
</StaticResource>
<TrackingEvents>
<Tracking event="creativeView">http://myTrackingURL/tracking</Tracking>
</TrackingEvents>
<CompanionClickThrough>http://www.examplemedia.com</CompanionClickThrough>
</Companion>
<Companion width="728" height="90">
<StaticResource creativeType="image/jpeg">
http://demo.examplemedia.com/vast/trackingbanner
</StaticResource>
<CompanionClickThrough>http://www.examplemedia.com</CompanionClickThrough>
</Companion>
</CompanionAds>
</Creative>
</Creatives>
</InLine>
</Ad>
</VAST>
- Tracking Events : Traking되는 Event의 요청 URI를 제공.
- MediaFiles : 광고 파일의 source
VMAP (Video Multi Ad Playlist)
: 비디오 플레이어를 제어할 수 없을 때, 컨텐츠에 표시되는 광고 목록을 통해 컨텐츠를 유지하면서 광고를 정확한 시간에 따라 정의 하는 방식입니다. VMAP을 사용하면 콘텐츠 소유자가 각 휴식 시간의 재생 시점, 사용 가능한 휴식 시간 수, 휴식시간에 허용되는 광고 유형 등의 정보들을 받아와 해당 정보에 따라 비디오 광고를 재생합니다.
VMAP Process
1. VMAP Request
: 비디오 플레이어가 Primary Server로 VMAP Response를 받기위해 HTTP로 요청합니다.
2. VMAP Response
: Primary Server가 Ad Breaks 의 Playlist를 포함한 VMAP Response를 Return 합니다. 각 Ad Break는 VAST Ad response의 형태를 갖습니다.
3. Play Breaks
: 비디오 플레이어는 VMAP에서 지정한 비디오 프로그램내의 Breaks의 광고를 실행합니다.
4. Tracking URIs Pinges
: 적절한 시간에 비디오 플레이어는 VMAP에 제공된 추적 URI를 요청합니다.
VPAID (Video Player Ad Interface Definition)
: 비디오 플레이어와 광고 Unit간의 공통 인터페이스를 설정하여 풍부한 In-Stream 광고 경험을 가능하게 합니다. 이전 글에서 이야기 했듯이 비디오 광고주는 2가지 실행 목표를 갖습니다.
1. 시청자에게 풍부한 광고 경험을 제공
2. 시청한 광고 경험에 대한 반응 및 사용자 상호 작용 세부 정보 확인.
과거 일반적인 비디오 플레이어를 통해 이를 구현하는 건 어려우며, IAB Standard인 VAST를 통해서 1번의 시청자에게 풍부한 광고 경험은 제공하였지만, 상호작용의 확인은 지원하지 않았습니다. 이를 해결하기 위해 Start, FirstQuatile, Pause, Mute, Resume, Skip 등의 여러 Event와 Mapping 된 URI로 Request를 보내는 방식을 통해 2번 목표인 시청자의 Impression을 Tracking 할 수 있게 되었습니다. 당시에는 Tracking 할 수 있는 유일한 방법이었기 때문에 재생을 측정할 수 있는 방법으로 VPAID를 채택하였으나, 최근 VAST 3.0이후에 다다르면서 OMID(Open Measurement Interface Definition)나 SIMID(Secure Interactive Media Interface Definition)을 코드에 사용하는 것을 추천합니다.
VPAID의 주의할 점은 많은 경우의 다수의 데이터 수집 VPAID가 페이지 렌더링을 상당히 지연시키고, 시청자에게 부정적인 경험을 제공할수 있는 점이다.
현재 구글에서는 OM SDK를 HTML, Android, iOS 등 여러 플랫폼에서의 OMID를 제공합니다.
https://developers.google.com/interactive-media-ads
VAST의 예제들을 확인할 수 있는 Inspector 링크입니다. 여러 Inline VAST Response를 시험해 볼 수 있습니다.
https://googleads.github.io/googleads-ima-html5/vsi/
해당 Inspector의 소스입니다.
https://github.com/googleads/googleads-ima-html5
[참조 : https://iabtechlab.com/standards/vast/]
'서비스개발(Web, App)' 카테고리의 다른 글
VAST란? - (1) 비디오 광고 및 종류 (0) | 2023.02.11 |
---|