Understanding Real-time Bidding for AVOD Services
We have in previous blog articles described the principles behind server-side ad-insertion and described some of the challenges with it as well. In this article we will look at the technology that makes real-time bidding marketplaces (or programmatic buying) possible. This article is written by Jonas Rydholm Birmé, streaming video specialist at Eyevinn Technology.
There are basically two ways to monetize on an inventory of good content and an audience with an interest in this content. One is where the user pay a monthly or a one-time fee to gain access to this content, and the other way is to sell time slots to advertisers where they can communicate their message. In this area there are a number of ways this can be done: sponsored content, product placement, native advertising and TV-like ad breaks. In this article we will focus on the TV-like ad breaks where the program is interrupted with a break where a sequence of ads are shown. In previous articles we have described how a seamless and smooth transition between the ads can be achieved with server-side ad insertion, and in this article we will have a look at how it is decided what ads are inserted in a break.
Before we continue let us settle for a terminology that we will use in this article. A streaming service provider with the content and an audience is a Publisher and the streaming service is a Site. An Impression Opportunity is what we call the opportunity for a Publisher to place an ad. An the estimated total of Impression Opportunities is the Publisher’s Inventory. For a regular website this could be the amount of page views a page is estimated to have times the number of ads that can be placed on the screen. And for a streaming service this is instead the number of ad breaks in a program times the number of ads in a break times the estimated number of viewers. A Creative is the actual content conveying the message and in this context normally a 15 to 30 seconds long video clip, and a Creative belongs to an Ad, and an Ad normally belongs to a Campaign. An ad break with a sequence of ads are called an Ad Pod. As part of a campaign it can be planned that a specific Ad should be shown at least 300 000 times for persons in the age span of 30 to 50 years old. This raises a Demand for 300 000 impressions on the advertiser side that the supply/sell side, the Publishers, can offer to meet with its (estimated) Inventory.
Real-time Bidding Marketplace
There are a number of ways this demand can be met and I will not go into all the various commercial agreements here, and in this article focus on the concept where the demand/buyer side and supply/sell side meets on a “marketplace” where Impression Opportunities are sold to highest bidder. An auction that happens in real-time when an Impression Opportunity is created, i.e. a user is watching. This is what we call a Real-time Bidding Marketplace.
The Real-time bidding marketplace brings the ad networks representing the buyer, together with the ad networks working for the publisher. Though these marketplaces exist it is still very common that deals directly between publisher and advertiser is closed in advance and more intimately. Similar to the traditional method of selling ad space. A way for high-quality advertisers to guarantee a valuable audience, and for publishers to guarantee high-quality ads in their premium service. A “hybrid” of this approach is a private marketplace (PMP) where a network of premium publishers invites a selected group of high-quality advertisers. The actual deals can happen in real-time but only with this pre-selected group of actors.
Waterfall Auction and Header Bidding
When a user starts playing a program and just before it reaches an ad break the following takes place on the marketplace without the user noticing it. In the background the publisher provides a floor price, or minimum bid, to one of the demand sources. The first demand source offers its highest bid and if this bid does not exceed the floor price the publisher goes to the next demand source. And the first demand source to meet the floor price is the winner. This is referred to as a Waterfall Auction. The obvious problem with this is that if the demand source next in line would have offered a higher bid the publisher would have earned more money. The other option is Header Bidding which means that the publishers offers the inventory to several demand sources and chooses the one with the highest bid. The issue with header bidding is that it can lead to longer time to select a winner, and a challenge to manage for ad insertion in live programs when you have a very short time to react as it is not always known in advance when the break will take place.
The communication protocol between buyers of advertising and sellers of publisher’s inventory is an open industry standard called OpenRTB. A project that was launched in 2010 and started as a pilot project between three demand-side platforms (DataXu, MediaMath and Turn) and three sell-side platforms (Admeld, PubMatic, and The Rubicon Project). Version 1.0 was released in December 2010. In January 2012 with the release of version 2.1 the standard was adopted as an IAB standard, however the governance over the technical content and specification remains with the OpenRTB community and its governance rules.
The sequence that takes place once a publisher requests an ad, or in our scenario, a sequence of ads (Ad Pod) is the following:
- The Video Ad Inserter (either server-side or client-side component) issues an Ad Request containing tags, user data, IAB categories, device data, and desired duration to fill to the Sell-side Platform (SSP)
- The SSP constructs an OpenRTB Bid Request that is “broadcasted” to the Demand-side Platforms (DSP) on its list. Including in the Bid Request a floor price is set.
- Each DSP responds with a Bid Reponse and its bid.
- The SSP chooses a winner (waterfall or header) and sends a notice to the winning DSP with the settlement price.
- In response to the win notification the SSP receives the Ad Markup including impression tracking URLs, creatives etc.
- The Ad Markup is then returned to the Video Ad Inserter.
The transport protocol is HTTP and for the bid request/response HTTP POST is used. The win notification is normally an HTTP GET. The data format for OpenRTB is JSON and the Ad Markup for video is VAST or VMAP.
The win notification URL can contain substitution macros to for example provide data to the winner for example clearing price. It can be noted that there is no provision for loss notification to the bidder and that needs to be sorted outside the scope of an RTB request/response. A win notification URL with substitution macro can for example look like this and is constructed by the bidder/DSP:
The SSP will then, prior to issuing a win notice, replace this macro with the settlement price. These macros can also be placed in the Ad Markup, as it can sometimes be provided in the Bid Response, in those cases where the bidder wants the win notice to be signaled from the device itself.
There are a number of ways advertisers can target the ads, in our context for example: keyword targeting, geo-targeting and contextual targeting.
Keyword targeting means that you provide a list of keywords around the content. For example a home cooking show could include keywords around that subject in the Bid Request.
Geo-targeting means that information about the viewers location is provided and the advertiser can show ads relevant around that location.
And contextual targeting is in the streaming video domain relatively new but it means that by using image processing algorithms and machine learning the content of a video can automatically be identified and mapped into keywords that is used to provide relevant ads.
Thank you for reading and if you have any comments or questions please join the conversation in the Streaming Tech Sweden slack.