Bid Caching: Catching (and Preventing) More Programmatic Mischief

Lucidity
The Lucidity Developer Corner
5 min readAug 29, 2018

You wouldn’t think that much could go wrong in 200 milliseconds.

And yet, time after time, we learn of some additional way in which advertisers are snake-bitten by programmatic advertising’s admittedly murky process.

As a quick reminder, programmatic advertising is the automated auctioning of ads that occurs every time a web browser (or app) is loaded on screen. These auctions take about 200 milliseconds, and rely on upwards of 7–14 centralized technologies across the supply chain to successfully deliver an ad once an auction is won.

No one has full visibility into the programmatic process. So what happens behind the scenes is anyone’s guess.

Uncovered practices like domain spoofing — where fraudsters pretend to be legitimate websites in order to steal traffic — have caused advertisers to unknowingly waste millions placing ads alongside bad content.

And now bid caching is the latest controversy to stir the industry’s ire.

What Exactly is Bid Caching?

The publisher pushes a request to an SSP which passes to DSP. Advertiser’s bid is intended for 1st look / early session impression (step 1). If bid is not won, the bid is cached for some amount of time and used to bid repeatedly until winning some later placement. This circumvents the 1:1 bid:placement originally intended by the advertiser (step 2).

Bid caching is the practice whereby an ad exchange will “hold on to” a losing bid in a programmatic auction to use later on another piece of inventory. The buyer thinks they’re bidding for high-value inventory and early session impressions. Instead, they receive different, often lower-value inventory in its place.

The publisher pushes a request to an SSP which passes to DSP. Advertiser’s bid is intended for 1st look / early session impression (step 1). If bid is not won, the bid is cached for some amount of time and used to bid repeatedly until winning some later placement. This circumvents the 1:1 bid:placement originally intended by the advertiser (step 2).

It would be like if you paid top-dollar for front row seats to a concert, and then were later mailed tickets to seats in the nosebleeds.

And you’re still expected to pay the same top-dollar price.

Bid caching hurts advertisers in more places than just their pocket. It also causes advertisers to potentially market to the wrong segment of consumers, or on a non-brand safe site.

It can even cause issues with over-bidding if the advertiser is already bidding on the inventory they end up receiving as a replacement.

Some sellers — in this case exchanges — will argue that bid caching is simply a way to generate extra revenue. But most advertising buyers see the practice as something more nefarious.

It’s a classic bait and switch. It’s a way to sell less for more. It’s probably fraud. And it’s bullshit.

Shady Practices Flourish in the Dark

Regardless of its justification (or lack thereof), the bid caching controversy is another example of how trust erodes in an ecosystem without transparency. With no incentive to disclose what they’re up to, the myriad of technologies that touch the programmatic process will continue to find ways to implement self-serving practices or apply hidden fees.

And all of it done without the knowledge of the end buyer.

Indeed, many in the industry didn’t know bid caching was a thing until recently. It took an uninvolved party’s sleuthing and reporting for it to be brought into the light.

Solving transparency problems like these and enforcing digital measurement standards in multi-party ecosystems are what blockchain was built for.

Each touchpoint in the programmatic supply chain captures a different view of how the ad campaign performed. By having a shared ledger that enforces agreed-upon measurement standards, this data could be reconciled and validated.

The result is an immutable, decentralized record of ad campaign performance and cost.

But what about flagging specific practices like bid caching? Can blockchain bring those practices into the light as well?

It can. Here’s how.

A Blockchain Remedy

In a typical bid caching scenario, an ad exchange will request bids from a demand-side platform. That demand-side platform (or DSP) will check its advertiser’s targeting parameters and budget to find a match.

If a match is found, the DSP submits a bid for the available inventory. If the bid wins, the ad gets placed just as normal. However, if the bid loses, an exchange that’s practicing bid caching will hold onto and use that bid later on another piece of inventory that the original bid wasn’t intended for.

Using blockchain technology, we can catch bid caching in the act. In a properly conducted auction, the DSP submits a bid request with a unique Session ID. If the Session ID of the final placement of the ad doesn’t match the Session ID from the auction, that means bid caching took place and the impression is flagged as invalid.

In a properly conducted auction, the DSP is responding to a bid request identified by a unique SessionID. If the SessionID of the final placement of the ad doesn’t match the SessionID from the auction, it is an invalid impression and possibly a result of Bid Caching. Lucidity identifies it as an invalid impression

In a properly conducted auction, the DSP is responding to a bid request identified by a unique SessionID. If the SessionID of the final placement of the ad doesn’t match the SessionID from the auction, it is an invalid impression and possibly a result of Bid Caching. Lucidity identifies it as an invalid impression

Using this method, not only can we flag impressions that went to the wrong inventory slot, but also impressions that went to the wrong website.

This is the true benefit of creating a shared ledger of advertising events using blockchain technology. Decentralized so no single authority can dictate the rules. Immutable so no one can alter what happened after the fact.

In short, it creates an ability to audit what happens during those 200 millisecond auctions. Everyone in the supply chain has access to the same numbers. And no one can implement self-serving practices behind the scenes.

Let’s finally shed some light on the programmatic process.

Join us on Telegram → https://t.me/luciditytech

Check out our whitepaper → https://lucidity.tech/whitepaperdownload/

Follow us on Twitter → https://twitter.com/lucidity_tech

Join our community on Facebook → https://www.facebook.com/luciditytech/

Or follow us on LinkedIn → https://www.linkedin.com/company/luciditytech/

Originally published at lucidity.tech on August 29, 2018.

--

--

Lucidity
The Lucidity Developer Corner

The blockchain protocol for digital advertising transparency