Google recently announced that they would move Google Ad Exchange auctions to first price from their current method of second price. Further, they also announced a new structure for setting Floor Prices called Unified Pricing Rules (as opposed to Open Auction Pricing Rules, which is set to deprecate shortly). There seems to be a great deal of confusion regarding how Google Ad Manager & Ad Exchange behave with these changes as well as confusion around how these two major changes interplay with each-other. Some of this confusion arises because both these changes are happening in parallel, however a lot of this confusion stems from the lack of clear documentation & adequate support from Google’s side. It’s astonishing, the number of conversations I have had with publishers across the globe over the past couple of weeks trying to clarify these changes and the lack of understanding even with the largest of publishers. Further, my team & I have spent a ton of time looking for information, dissecting Google’s documentation, speaking to Google support & running our own experiments to understand exactly how these changes impact publishers. This article tries to demystify some of these confusions.
First Price Auctions Vs Second Price Auctions
For those of you who are not aware of how first price auctions & second price auctions behave (especially with Floor Prices), below is a quick refresher –
Its not critical, but good to know that Google Ad Exchange basically pops in the Floor Price as another bid on behalf of the publisher and then runs the auction. If the publisher’s bid (aka Floor Price) is the highest, the publisher wins the auction and the ad request is directed back to the publisher.
Now that we know how first price and second price auctions behave, let’s take a quick look at all the auctions that run in a typical setup of a publisher’s monetization stack. The below illustration shows the flow of an adrequest generated when a user visits a webpage/app screen. The illustration shows the flow of this adrequest through a typical setup and the kinds of auctions being run at various stages. There are 4 key optimization points in a typical setup as listed below:
Header Bidding (running a first price auction)
Dynamic Allocation from DFP
Exchange Bidding (Google’s server side version of Header Bidding) running a first price auction
Google Ad Exchange (running a second price auction but transitioning to a first price auction)
Unified Pricing Rules
Pricing Rules are Google Ad Manager’s way of specifying Floor Prices or minimum prices at which Google Ad Exchange must run the auction. Google launched Unified Pricing Rules on 6th May 2019. The key differences between Unified Pricing Rules and Open Auction Pricing Rules are as follows:
Open Auction Pricing Rules follow a priority-based structure. So, if there are multiple rules applicable to a particular auction, the rule with the highest priority applies. For example: Let’s say you have two pricing rules as defined below:
Pricing Rule 1: Country = United States, Device = Android, anonymous floor = $0.60 and branded floor = $1.3
Pricing Rule 2: AdUnit = Homepage_300x250, anonymous floor = $0.65 and branded floor = $1.7
Now, for an adrequest originating in the United States from the Homepage_300x250 adunit on an Android device, both pricing rules are applicable. Google ad manager will run through the list of rules according to their priority and picks up the Floor Price for the first rule that matches the targeting criteria of the adrequest and conducts the auction. It will ignore the rest of the pricing rules. So, in this case, Pricing Rule 1 will be applied. In the case of Unified Pricing Rules, there is no concept of priority. So here, Google will run through the entire list of pricing rules, pick out all the rules which match the targeting criteria and picks up the highest floor from all the rules. So, if these were Unified Pricing Rules, Google would apply Pricing Rule 2. Since, in real-time, there are only so many rules that Google can run through without hitting latency issues, the number of Unified Pricing Rules has been limited to 100.
Unified pricing rules are applicable for all line-items of priority 12 (Ad Exchange, Network, Bulk, Price Priority) as well as for all your Exchange Bidding partners. Focusing on Exchange Bidding partners – this means that publishers no longer need to maintain Floor Prices in each of their Exchange Bidding partner consoles. They can now control their Floor Prices from one location there by making things much easier. Since managing Floor Prices is fairly complex and time consuming, most publishers have an elaborate structure for Google Ad Exchange (since its their largest source of programmatic demand) and generally keep a simple structure for their Exchange Bidding partners. This means, typically Exchange Bidding exchanges get a lower Floor Price and chances of bidders moving outside of Google Ad Exchange to buy at lower rates is a common occurrence. With Unified Pricing Rules, the Floor Price is uniform across all Exchange Bidding partners as well as Google Ad Exchange.
Last, but most important of all is that Unified Pricing Rules are applicable for first price auctions as well as second price auctions. This means that, as of today, if you switch off your Open Auction Pricing Rules and setup a couple of Unified Pricing Rules – all your Google Ad Exchange auctions will run using Unified Pricing Rules. This is also true even if you have your Open Auction Pricing Rules active, but your Unified Pricing Rules have higher floors than your Open Auction Pricing Rules. Due to lack of clear communication from Google, there is a misconception that only first price auctions will use Unified Pricing Rules. This is not true. However, the other way around is true i.e. first price auctions will only use Unified Pricing Rules and not Open Auction Pricing Rules.
This is a bit confusing I know, but the above illustration should make things clear. So, when running a second price auction, Google Ad Exchange picks up all your Open Auction Pricing Rules as well as your Unified Pricing Rules before determining the Floor Price to apply for the auction. However, when running a first price auction, Google Ad Exchange only picks up your Unified Pricing Rules when determining the Floor Price to apply. If there are no Unified Pricing Rules, Google Ad Exchange assumes a zero floor when running the first price auction.
Transitioning to Unified Pricing Rules
The first step to transitioning to Unified Pricing Rules is to make sure you are capturing the first price auctions (currently at 5%) properly. For this, you need to replicate your Open Auction Pricing Rule structure to Unified Pricing Rules, but with slightly lower pricing. For ex: if you have a Pricing Rule 1 targeting adunit Homepage_300x250 and country United States with a pricing of anonymous: $ 0.80 / branded: $ 1.9. Then you would create a corresponding Unified Pricing Rule 1 targeting adunit Homepage_300x250 and country United States, but with branded pricing of $ 0.75. Do note that that Unified Pricing Rules don’t have an option to set pricing for anonymous auctions (there are no anonymous auctions anymore). Also, do note that the pricing in the Unified Pricing Rule has to be lower than the anonymous pricing in the corresponding Open Auction Pricing Rule. Otherwise, the Unified Pricing Rule will start applying to the second price auctions as well. Although the pricing is a bit in-efficient, this setup will make sure that the Unified Pricing Rules will apply only to first price auctions and not to second price auctions keeping your transition clean. Also, after you set this up, you will see clearly that exactly 5% of the adrequests (not more, not less) is taken by your Unified Pricing Rules.
The next step to the transition is to pick a bunch of adunits (start with the lower priority adunits) and make a clean switch to Unified Pricing Rules. For this, you need to replicate your Open Auction Pricing Rules to Unified Pricing Rules (keep your Floor Price the same as the branded pricing) and completely deactivate the Open Auction Pricing Rules for these adunits. Then, you monitor your revenue, fill rate & CPM metrics closely & tweak the Floor Price to optimize your revenue. You can repeat this process for the rest of the adunits to complete your full transition.
Critical Questions Unanswered by Google
There are two open questions, which Google has not been able to provide answers to and these make things more difficult for a publisher to manage the transition to Unified Pricing Rules and First Price auctions:
How does a publisher know which auctions have run on first price and which have run on second price? For example, is there a dimension in DFP or Adx reporting which will help us differentiate between first price auctions & second price auctions? OR is there a field in data transfer reports, which will indicate whether a request ran through a first price auction or a second price auction? This is critical if a publisher needs to smoothly manage the transition to first price auctions. (As a side note, here’s a bit of interesting and relevant info: Google introduced a flag on the buy side which informs bidders in real-time for every adrequest they bid on whether the bid will be run through a first price or second price auction. This provides clear advantage to bidders so that they can bid accordingly. More details here: https://developers.google.com/authorized-buyers/rtb/relnotes#updates-2019-03-13)
How do we evaluate the performance of a Unified Pricing Rule? As of now, when a Unified Pricing Rule is set, the fill rate for this rule is always shown as 100% in Google reporting. This is irrespective of what floor is used in the rule. So, there is no way to evaluate if a Unified Pricing Rule is performing good or bad.
Buyer Behavior & Dynamic Pricing
With second price auctions, the typical bidding strategy used by most Bidders would be to bid the highest possible to win an auction. This strategy works because the closing price would generally be much lower than the winning bid. However, when auctions move to first price, Bidders will change their strategy to bid to the lowest amount they can without losing the auction. This strategy is known as Bid Shading. Since at any point in time, a Bidder is chasing a limited set of users on behalf of a brand, this strategy of bidding the lowest possible will not change. Consequently, there will be very little difference or impact in the long term on the publisher’s yield when Google Ad Exchange moves to first price auctions.
Bid Shading is not a new concept; Bidders have adopted Bid Shading for every other exchange (ex: OpenX, Index, Pubmatic, Rubicon, etc.) that moved to first price. In fact, Bid Shading is now being provided by some SSPs as a perk to Bidders after the move to first price auctions. (https://pubmatic.com/blog/first-price-auctions-auction-dynamics/). Google too has offered a Bid Shading feature to Bidders where Google Ad Manager will automatically reduce the Bidder’s second price Bid to fit into a first price scenario. More details here: https://developers.google.com/authorized-buyers/rtb/relnotes#updates-2019-03-13
Lastly, AdExchanger.com published a particularly interesting article recently (https://adexchanger.com/online-advertising/rubicon-grows-revenue-but-bid-shading-is-driving-down-publisher-cpms/) with confirmations from The Trade Desk (“Employ Bid Shading to reduce Bids by 20%”), Rubicon (“Buyers started aggressive Bid – a fact confirmed by many Publishers and borne out in Rubicon Project’s earnings.”)
So, irrespective of first price auctions or second price auctions – the only way to maintain auction pressure is to ensure user based Floor Prices so that we are constantly challenging Bidders to bid the highest they can (& not the lowest they can). Ensuring auction pressure is key to high yields and real-time auction level Floor Prices by Tercept can do this better than any other strategy. Bidders will continue to evolve their tech & take advantage of mis-priced inventory, drive down CPMs and drive up ROI for brands. Publishers need to gear up with equivalent tech working on their side to ensure they are getting the highest price possible for their user base & inventory.