Price floors have been around since openRTB first came into existence. They began as a way for publishers to protect the minimum value of their impressions in an auction environment and quickly found more uses in yield optimization.
Conventionally, publishers used price floors to organize waterfalls, in which each demand partner would compete against the floor price set for it. To win the impression, the platform (ad network/SSP/exchange) needed to return a CPM price higher than the floor, or the impression was pinged to the next partner in line.
Then there was the difference between the highest bid and closing price in second-price auctions (second-highest bid + one cent), which left publishers wondering if they were leaving money on the table. To bridge this gap, publishers decided on manual price floor optimization, which involved:
- Bid landscape analysis to map the impact different price floors could have on overall revenue
- Recovery partner(s) with ~100% fill rate to monetize impressions that weren’t sold due to floors
Pubnation’s Chris Cummings wrote a series of posts on flooring AdX to this effect two years ago, which are definitely worth a read if you are well versed in ad ops terminology. The key takeaway is that if there’s a positive overall revenue potential, even at the cost of eliminating some bids, a price floor could be worth it.
Now that the industry is moving towards first-price auctions, the above use-case for price floors may become redundant. But publishers have found other uses for floors. In this post, we take a look at some of them.
Note: Please don’t try this at home without the supervision of a capable ad ops person.
Forcing AdX to Up its Game
Dynamic Allocation turned the heat up on demand partners that weren’t owned by Google within the ad stack. Since it was so very willing to compete, publishers began experimenting to see if there were ways to make AdX/AdSense work even harder for every impression it snagged from other partners.
DoubleClick AdX uses the highest CPM of eligible line item as the floor price for its own auction. Publishers would turn this value up by a certain factor. Since AdX allows publishers to create separate pricing rules and target them to specific placements, buyers, and more, this approach holds a lot of promise for discerning media sellers.
“We started our optimization by flooring AdX and worrying about other bidders later,” says Danny Khatib, CEO of Granite Media. “It was a very simple approach – creating a dynamic AdX floor that was 10% above the best bid for a particular impression using AdX pricing rules and custom key-value pairs. From there, the approach evolved and deepened.”
Keeping out Bad Ads
Malvertisers love programmatic for the same reason everyone else hates it: It has too many intermediaries, which means nobody can keep track of impression origin or the buyer who bought it. The reach is massive, the threat is low, and entry barriers are laughable.
The attacks are significantly more prevalent on display inventory than video. “That’s because bad guys choose as low-cost means as possible to get their malverts as far and wide as possible, and display sells cheaper than video,” says Dr. Augustine Fou, ad fraud researcher. “Good publishers set floors to prevent this. It’s simple and effective as a deterrent because there is a threshold above which the profitability is lost for malvertiser.”
A low price floor set across the board is all it takes, but the number itself varies between publishers and demand sources.
“We use price floors for header bidding to keep out the bad ads,” says Richard Lam, head of ad ops at Network-N. “We’ve set ours to $0.25 across our demand partners, and it feels about right. We don’t really need to do it for AdSense or AdExchange as they have stricter regulations on bad ads. They’re not immune from it, but we tend to experience fewer malverts coming from Google compared to other platforms.”
On this front, Google maintains its sterling reputation by regularly purging their network of bad ads and scammers.
Flooring Header Bidders
Some publishers opt to put header bidders and AdX on an even keel. Danny explains, “In the case of header bidders, we wanted to try and create a level playing field between bidders and AdX, who naturally gets to see the best bid and use it as second-price in their own auction. We tried to predict what a particular impression would trade for and use that as a header bidding floor, to mimic that last look advantage as best as we would.”
Note that if you want to floor your header bidding demand partners, it’s better to put everyone on the same price. This is to strictly protect the value of your inventory, but also to keep a demand partner (with the higher floor) from being ostracized by the DSPs doing supply path optimization.
The mathematics behind floors is more complicated than adding a static value or percentage and leaving it be.
Most efforts to optimize price floors for particular segments of traffic start with the wrong question: “What is the optimal price floor?” Wrapped into that question is the assumption that there is one, optimal floor. While in reality, the best price floor optimization strategies recognize that setting price floors is a continuous process. Publishers know intuitively that the optimal price floor for December is likely to be a bust in January.
Transparent dynamic floors provide a reasonable substitute for the manual resources. Determined just before sending a bid request by an algorithm that learns from the bid history, dynamic floors adjust themselves in real-time. As of now, DFP’s own optimized pricing is available to selected publishers on open auctions. AdPushup’s Dynamic Price Floor feature works the same way.
The best approach is to complement these floors with human oversight to account for shifts in market and buy-side trends. In a previous post, we covered the impact of specific audience segments on media sales and yield. You’ll find that similar principles apply to price floor optimization. Any combination of placements, key value pairs, advertisers, segments, etc. can be used to determine price floors. Raise or lower floors depending on impression metrics, traffic, and its desirability/performance for advertisers. Keep a close watch on the fill rate. Above all, test and retest flooring assumptions.