I’ve rewritten this article no less than 5 times with 5 different titles. I have landed on building a guide for all of my readers to know whether or not the ad tech issue that someone is telling them is some kind of horrible emergency or scandal matters to them – and if it does – how much does it matter.
I feel this is necessary because so much in ad tech is sold on FUD (fear, uncertainty, and doubt), when in reality, ad tech is astoundingly simple in abstraction and almost every problem can be deconstructed into my magical overarching theory of everything (you’re welcome).
The foundation of my framework is that Ad Tech is a numbers game. It’s a quantification, and through quantification it removes human biases and creates efficiency. And if we want to get really deep, once you include attribution, Ad Tech is a tangible, scaled, measured, quantification of human response to stimulus, the likes of which has really never existed before.
What do I mean by quantification?
The fundamental building block of ad tech is the bid request. It’s a packaged up (using some kind of object) bundle of information about an opportunity to advertise. In drastically simplified example form, this looks like this :
domain : website.com
userID : 1230912301923901
Useragent (browsing environment) : 12309sasciawj:1230812
1230912301 other fields like these, with ever growing complexity
A bidder receives _billions_ of these little packets per day and has to make decisions about which ones to buy and not buy. How does it do that ?
Simple!
Machine learning and statistics of all sorts. It looks at the correlation between the fields in these little bundles of information and advertiser outcomes – which are defined by the campaign configuration in the platform. An outcome, in this context, refers to a signal communicated from the advertiser/agency/placer-of-ads to the platform making inventory evaluations that something desirable occurred and it should try to make more of them happen.
What does this process actually look like? There are lots of flavors of this – but at its core, every campaign goes through a “learning” process by which it correlates outcomes (everything from clicks to purchases depending on how you build the campaign) to the numbers it receives in the fields in the bid request bundles.
Some people try to “bootstrap” this process, or make it happen faster using a bunch of methods you’ve almost certainly had pitched to you by a vendor. It could be through targeting, either behavioral/user-based or contextual, or by sharing data from previous campaigns or even from other advertisers present in the bidding system. In this context, allowlists and blocklists are bootstrapping tools – if there are websites you are basically certain will perform or never perform, you can limit the scope of the learning process to a smaller pool which makes correlations happen more quickly due to decreased cardinality. This comes at the cost of potential performance – ostensibly, the more places you learn, the better your correlation machine is able to find outcome bundle combinations.
That’s ad tech. That’s it in its beautiful entirety. In fact, that’s online advertising in its entirety. And that we’ve built pipes that surface almost every impression opportunity on the web to these bidding systems is totally epic.
The Framework for Evaluating Everything
In light of this, I’d like to posit that, at its core, there exists a single problem in all of programmatic advertising. The problem is fundamental, and any other “issue” is an extension of this problem.
That single problem is when our magical machines can’t find a correlation between outcomes and the attributes/fields/numbers in bid request objects – or when they can’t find it fast enough.
When the magic machines aren’t correlating, it means that advertisers aren’t achieving results. And no matter how you spell it, if there aren’t results, the industry dies. Right now the problem is that walled gardens, like facebook, are driving better results with their correlation finding machines than programmatic correlation finding machines. This is the lens I use to view the world – will X fundamentally disrupt the functionality of the correlation machines?
Now some of you might be like “Gareth there are so many other problems!! You’re so wrong!” so let me pre-empt the whining for a few of these :
Advertisers run on websites that they don’t think look good/have bad viewability/have lots of ads/ blah blah blah!
This is not an ad tech problem. Ugly websites might drive outcome correlation for you. The name of websites does not matter past the values in the bid request objects. The ad density does not matter past the fact that it impacts expected value in correlation calculations (and ad density measurements can be be included in bid request objects, at which point they’ll create an optimization node). If your attribution system communicating outcomes is configured properly with your magic correlation machine, no attributes of the website matter past their relationship to outcomes over time. This means properly configured campaigns will stop buying from websites that don’t work for them – if your campaigns aren’t doing that, the problem is not inventory, it’s your outcomes or your magic machine.
CPMs from this system are too low! Publishers don’t make enough money!
Make a website, or attract users, that drives better outcomes based on the bid packets it sends out. If your bid request objects and impressions don’t correlate to advertiser outcomes, your business does not “deserve” to get advertising revenue. Reputation does not matter. Only advertiser outcomes do.
There’s so much inefficiency! Middle men are taking money left and right, and buying on shitty websites!
As long as advertisers are pumping meaningful goals into the magic bidding machines (and as long as there aren’t monopolistic forces at play, which god knows there are), the inefficiency will be squeezed out over time. We are indeed seeing this right now with header bidding squeezing down exchange and network take rates.
I believe that every scandal, every problem, in ad tech should be viewed through this lens. Is there something happening that is breaking our correlation machines? If we’re breaking the correlation machines, we need to mobilize like white blood cells, surround, and extract.
Notice, this does not mean that I think there is a dire need to change inventory curation, SPO, DPO, do direct sales, be more premium, blah blah blah. Why? Those things aren’t solving problems that break correlation machines. Sure, the problems they’re attempting to address might slow them down or help them, maybe? There’s only one person who knows the answer to that question – and that’s the DSP executing the correlations and their data scientists, and I trust them to find market efficiency on this one (as long as their outcomes are properly defined, which is a whole separate set of issues but the programmatic supply chain isn’t really responsible for that). It’s their job to evaluate the fields inside of the bid request objects – and their job to determine whether fields correlate to outcomes or not.
If I can send one message with this piece it’s this – I’m a deep believer that an ecosystem with properly configured outcomes, and survival of the fittest amongst the magic correlation machines, will naturally steer itself away from inefficient configurations and inventory. And history supports this. We just need to let it keep playing out.
SO LET’S RUN THROUGH SOME EXAMPLES JUST FOR FUN
NOTE – for all of these examples where I say “test,” the only way to test things is with a test/control framework. Within a single campaign you need to be able to do a thing a % of the time – if you have two separate campaigns that are identically configured that’s “okay,” but if there are any different variables at all, you ain’t testing a thing. This goes for running campaigns in general as well – in fact, I think all campaigns should serve a statistically significant % of PSAs to prove that the campaign is doing anything at all.
Bootstrapper = potentially makes campaigns optimize more quickly and perform better
Destroyer = always makes campaigns perform worse
3rd party user segments - When I include this 3rd party user segment, does my cost per outcome improve when compared with a control group (ie. a campaign configured identically other than the targeting of the segment)? Give a shit category – low, “bootstrapper,” “I’ll test it.”
ID Bridging and ID Fraud - My correlation machine is being fed falsified data. Holy shit, this breaks all of my processes, this is probably the worst thing that can happen. Give a shit category – maximum, “destroyer,” “I’m literally calling the police”
MFA Vendors - When I include MFA sites in my campaign, does my cost per outcome become worse than when compared to not including MFA sites? Give a shit category –low, “bootstrapper,” “I’ll test it.” Zero difference between an MFA vendor and a contextual data provider.
Domain Spoofing - My correlation machine is being told I’m on domain X, but I’m actually on domain Y. Give a shit category – maximum, “destroyer,” “I’m literally calling the police”
Anti Fraud Vendors - When I include anti-fraud prebid targeting, for people that this vendor thinks are fraud but others don’t necessarily, does my cost per outcome decrease? Give a shit category – medium, “destroyer,” “I’ll test it.”
All Campaign Targeting - When I manually add targeting to a campaign, does my cost per outcome decrease faster/further than when I don’t have targeting? A note – I don’t believe anyone should ever be putting targeting on their campaigns. DSPs should provide correlated bootstrap data for the learn process by advertiser category, and algorithms should be able to handle the rest, but I digress. This is a future that needs to come sooner rather than later. Give a shit category – low, “bootstrapper,” “I’ll test it.”
SPO / available purchase channels - does this publisher sell on lots of exchanges? Should I pick a single place or a small number of places to buy their traffic? Give a shit category - low, “bootstrapper,” “I’ll test it.” Note : I don’t think this will do anything because Prebid creates a downstream unified auction
Google Being a Monopoly and controlling access to bid requests - Is google manipulating auctions to limit what information can be communicated to who, when? Are they introduce errors into the delivery of bids and creatives? Give a shit category - high, “destroyer,” “Call the FTC”
Please feel free to pepper me with more requests about things you’d like slotted into the framework / disagree with my characterization of things! Have a wonderful week everyone!