Header Bidding wrappers preempt latency issues by setting a universal timeout under which all bidders participating in the auction should produce bids or bite the dust close to the finish line.
Prebid.org advises timeout setups between 1,000 milliseconds or less for internal auctions and 3,000 milliseconds for Prebid tags.
These and other industry benchmarks are mere best practices that can vary from Publisher to Publisher, depending on their stack and site performance. Furthermore, each Demand partner and the network itself can face their own latency issues. In other words, some Pubs could easily double those timeout rates without batting an eyelid but for others, every millisecond counts. The fundamental question here is if longer time outs will result in higher bid rates and thus higher Revenue? While logic would point that way, AdOps teams still need to consider which demand partners take longer than others, what inventory types yield higher than others, among other considerations around auction dynamics.
To shed more light on this topic, let’s take a look at the economics behind this. There are at least 3 basic concepts you need to understand:
Timeout Rate: How often a bidder times out during an auction.
Timeout Rate = (Number of bid requests / number of times the bidder timedout ) X 100
Bid Rate: the amount of bids made by a demand partner on auctionable impressions.
Bid Rate = (Number of impressions available / number of bids ) X 100
Win Rate: the amount of impressions won over the number of bids made by a demand partner.
Win Rate = (Number of Impressions Won/Number of Bids) x 100
Based on the above, if a bidder is given more time to produce bids, its bid rate will increase and consequently, so will its chances to win more bids. Nevertheless there is also a chance that the demand partner chooses not to bid on the ad impression. In this scenario increasing the timeout on your wrapper won’t have any impact on the win rate but could affect your latency.
At a first glance, the AdOps professional could simply monitor the “No Bid Rate” (% of times the bidder chose not to bid) and match it against the number of times the same bidder timed out. While this should simplify the decision to increase or decrease the timeout setting on the wrapper, it will still remain unclear why the demand partner chose not to bid.
To find out the reasons for “No-bid” and increase the Win Rates of Tier 1 Demand partners we propose the following experiment:
Your total Programmatic ad revenue from yesterday dropped 20% across the board. This could be caused by certain bidders being down or experiencing technical issues. In the past, your AdOps team identified that Tier 1 Demand partners were experiencing 2X higher timeout rates than the rest of the Demand Partners in the mix and therefore the team has decided to increase the timeout on the prebid setup to give top bidders more room to breathe. Despite visible improvements of the Bid Rate across all SSPs, the Winning Rate of the Tier 1 Demand partners kept dropping consistently, resulting in further revenue loss. Since it is safe to disregard any technical related cause (e.g. Latency in Network or latency in DSP System), the main challenge for the AdOps team is to troubleshoot the further causes for Win Rate drop by looking into further ad quality related metrics.
Solution & Methodology
Tie Win Rate fluctuations to external events related to ad quality levels such as viewability, # of malvertising related incidents, invalid traffic percentage, etc.
Monitor performance of a Tier 1 Demand partner (bid rate, win rate and revenue) in connection with the number of non/viewable ad impressions registered during a 7 day window.
Process & Execution
- Define your Event. Since your goal is to improve the win rate of a top tier demand partner that usually yields 2x higher than other partners, set the Avg. daily Win Rate of the previous day of that particular Demand partner as your main event.
- Define your Benchmark. Benchmark your previously defined event against the Avg. Last 7 days performance of the same event. In this case Avg. Daily Win Rate of the last 7 days of the Demand partner. You could also use the last 30 days Win rate average if fluctuations have been moderate.
- Set a trigger. Define what percentage of decrease or increase on your Event should pop a red flag. E.g. if yesterday’s Win Rate drops 10% v.s. the Avg. Win Rate experienced in the previous 7 days.
- Include a variable. In this case you want to dig deeper into causes of Win Rate drop. Start by tying Win Rate performance to Viewability performance by creating a second event, where you monitor the number of non viewable ads delivered yesterday against the average daily non-viewable ads delivered in the last 7 or 30 days.
Notice that a fluctuation of Win rate (positive or negative) should only matter to you if the % of non-viewable ads also experienced fluctuations.
- Include further variables. Variables also help you keep your feet on the ground. Your ultimate goal is maximize the Revenue generated by that demand partner, regardless if that happens at lower Win Rates. Tie the Revenue performance to the Win Rate fluctuations by setting the avg. Daily “Revenue” generated yesterday by that Demand partner as second Event. Similar to your main and secondary events this third event should include a Benchmark (avg. revenue generated by the Demand partner the last 7 days) and a Trigger (% of increase or decrease of the Revenue vs the benchmark). If your goal is to protect UX and latency you could set Page Views or Bounce Rate as a variable.
Expected outcome & validation.
By doing this you should be able to:
- Be aware at all times about fluctuations of Win Rate on top demand partners by isolating them from the mix;
- Tie connections between Win Rate and Viewability;
- Tie connections between Viewability and RPM;
- Tie connections between Latency and Timeout rates;
- Conduct more experiments fine tuning your Prebid Setup to maximize yield.
- Use yieldPass Smart Dashboards to unify all your data sources in one place.
- Use yieldPass Surveillance Software to set customized alerts.