New Year, New Ideas -- Rethinking Programmatic and The Open Internet
Simple Solutions for Complicated Problems
Welcome to the first article of 2024! And apologies for the delay. For today’s article, I want to focus on something that’s really been bugging me – why does facebook (and truly, all social media) perform so well vs programmatic for performance advertisers. It’s my hope that this exploration will uncover some things that can help programmatic as a whole improve, and thereby improve humanity by creating a more successful free and open internet yay.
My thesis here is that doomers who believe that online publishing is broken and that all online publishing is going to die are wrong because while they have successfully diagnosed the symptoms afflicting legacy publishing (less moneyz), they have overlooked the root cause of the illness and therefore the cure. I’m also going to give you guys some free business ideas, and I would gladly chat about them in more detail if someone was really interested in fixing these things.
Background
The commonly held belief at many “premium” publishers is that programmatic CPMs are so far below direct sold that they need to focus on direct sales and PMPs, and not only that, if they didn’t have direct sales and PMPs they’d be out of business. And based on current data, that’s often true!
But I’m a firm believer that current data is actually a misrepresentation of what open programmatic could be. The CPMs generated by open auction today are crappy and low and unsustainable, yes, but that doesn’t have to be the case! And my thinking for why this doesn’t have to be the case is that the average CPMs on Facebook (and even sometimes on GDN, but I digress), are actually insane, like, $10,$20,$30. And while I’m not certain we can get programmatic all the way there (wouldn’t that be nice), my belief is that programmatic is broken, but broken in such a way that it can be fixed.
For our prototype, this article will look at Facebook, a wildly imperfect, impossible to use marketing UI, that has generated CPMs for Facebook’s inventory (read : banner ads with little squigglies on them on a UGC forum publisher) that would rescue just about every publishing business on the internet. We’re going to start with the nature of facebook inventory and media buying, see if we can identify some deltas, and then run through some possible solutions. The question we’re working to answer here is “can we make programmatic behave like facebook,” or at least, “can we make programmatic behave enough like facebook that our average CPMs increase 5x.” And no, I do not expect that this article is exhaustive, so please feel free to mention other things in conversation but don’t yell at me for “forgetting XYZ.”
What is the facebook advertising experience?
Facebook is, at its core, a user-generated content website. It’s a forum. It’s a forum that connects you to your real-world (and non real-world) peers, and allows them to share images and content pertaining to their lives and interests in a curated feed, a feed simply optimized to engagement metrics (like viewability or “attention” or CTR). It is not a magnificently difficult thing to build – Facebook’s difficulty comes in its network effect scale, which is nigh impossible to replicate as the switching costs are massive for users who have uploaded their lives to their system.
But this means the advertising experience is simply not all that different from the advertising experience on a normal website.
There are ads in the sidebars, ads in the content well, and on your mobile phone there are big 300x500 ads that occur probably at a higher density than your average publishing website. On my mobile feed, every 2-3 tiles with content I get a gigantic ad. This is comparable ad density to MFA inventory, and as Ari illuminated on his podcast, not only is the experience similar – MFA sites are often facebook traffic!
This brings us to the crux of our discussion — if Facebook has MFA ad density, and MFA users, why is facebook a viable channel for every D2C advertiser I’ve ever spoken to? On a post-click CPA goal no less? And while charging freaking $30 CPMs sometimes?!?!
Two Possible Explanations
Explanation #1 - Facebook’s behavioral data is simply that valuable. This is perfectly possible. Facebook has social graph data, it has demographic data, and they certainly say that they use it! But programmatic has data providers too. Programmatic has credit card data, has perfect deterministic user behavior data (or did when it had 3p cookies), and all sorts of other fancy stuff. Hell, programmatic companies spent and spend literally billions https://www.forrester.com/blogs/epsilonpublicis/ building data solutions to improve the performance of their campaigns. But even with all of that, is programmatic really 10-20x worse at data than facebook is? I’m not so certain…
Explanation #2 - My controversial opinion here is that the inefficiency of ad tech is what causes the lion’s share of the delta in price for facebook traffic versus your average programmatic website. The high prices are not a result of their behavioral user data, though that certainly helps, rather there are a number of things in the guts of programmatic that are keeping us from reaching these CPMs, or at least closer to them. If I’m wrong, then I blame all of you data companies that are supposedly adding so much value to the ecosystem while you funnel money away from publishers.
A Few Potential Differences
So, on to the assumptions – what are some issues that facebook doesn’t have that modern programmatic does? Let’s start with the construction of the inventory itself, and then move on to general industry inefficiencies that I think are “in the weeds” but are low hanging fruit.
Fix Inventory Categorization
Problem
Inventory Categorization on the open internet is fundamentally broken. This manifests itself in a few ways – but the one I’d like to focus in on is the concept of “placement” or “ad unit” or whatever. For the uninitiated, these are definitions that map loosely to ad slots on publishers pages, but also might not, but also sometimes do, but also sometimes exist across multiple sites, but also are expected to be the point around which all optimization rotates…. Get the picture? The notion of ad slot in programmatic, and across exchanges is nonsensical.
Know what Facebook’s bidder isn’t stuffed with? The same ad opportunity being described as placement 12345, ad unit 938123, inventory_code Purple_Elephants_Ate_My_shoes, and cid 92XsasjS2 – when it’s literally the exact same ad slot in the exact same experience as before. Or, even a step further, we don’t have different employees at facebook adding their own method of categorizing ad units to the page for different sections of facebook. Facebook’s inventory categorization is static, predictable, and reliable from an optimization perspective.
We have structured independent programmatic advertising in such a way that arguably the most important thing for monetizing a website, the structure of the ad unit objects, is determined piecemeal by each of the hundreds of thousands of publishers in the space. This is actually fucking bonkers. Literally every publisher is expected to categorize their own inventory and lay out the ads on their websites.
WHY!?
WHY IS THERE NOT A COMPANY THAT CENTRALIZES THIS AND DOES THIS FOR EVERYONE!?!
This is probably the deepest issue with the construction of independent publishing that inherently makes significant swaths of the internet basically unbuyable and unusable for the purposes of online advertising. And I’m sure there are some sophisticated publishers who will read this who are saying “Well, I can do better, so I’m glad I have control” – to which I reply, great, good for you, your website isn’t attracting tens of billions of dollars in performance marketing spend that would keep our entire ecosystem alive. We need a solution that works at scale, not just one or two pubs who think they’re savvy.
Solution
There should be a company that generates optimization-stable and performance insightful GPIDs (Global Placement Identifier, thank you Prebid and Trade Desk for at least conceptualizing this, though I give some old Magnite buddies credit for PBAdslot which was supposed to be the same thing) on behalf of publishers as a service, looking at things like page geometry and page content. This company needs to exist. Every publisher who uses prebid should be able to work with them, and this company should provide a consistent, predictable, and standardized method to categorize the inventory on publisher’s pages. And no, super sophisticated fancy publisher, I’m not talking to you. You clearly aren’t moving the needle for saving our industry. I’m talking to the 95% of publishers who don’t have the time or resources to invest in this.
Fix Inventory Itself
Problem
Buckle up folks, this one is a little radical. Let’s say we’ve fixed inventory categorization, and my magical vendor that works all kinds of magic with GPIDs exists. That vendor still has to work relatively hard – there are so many bazillions of ways that publishers mess up their websites with inconsistencies, outstream video players (lol), and all kinds of on page madness, that buyer predictability still suffers.
Facebook does not suffer from this. Every part of facebook is very very very consistent. They know precisely what it is, and there’s very little guesswork.
Solution
What if we rebuilt the internet to take the guesswork out of it? What if there were an IAB/OpenRTB defined “centralized site layout” that maximizes performance and standardizes things like ad-density? Could be on Wordpress, or any CMS really, but there should be an advertising industry sanctioned open source website template! This layout should be available for free, and it should be available to all publishers who want to make as much money from their ads as possible. It should lead to automatic approvals from Ad Exchanges and DSPs, and it will help the independent internet grow. This is a pipe dream, and probably won’t happen, but if TTD wants to build it maybe we could get a bunch of mid tail publishers to use it, and we could have an ecosystem emerge around customizing it without meaningfully changing the guts of it (and if it's open source, we can have substantive conversations about what would be involved in maintaining its core goals while making modifications). I expect it to function a little bit like native advertising in reverse, which should also be completely open source.
The next few that I’d like to propose are not so much inventory specific, rather programmatic ecosystem specific. These are changes that I’d like to see in Prebid, or in the programmatic ecosystem at large.
Demand Filtering :
Problem
One thing we regularly discussed at Prebid was demand filtering – aka – brand safety controls.
Most publishers with any form of direct sales, or publishers with brands they’d like to protect somehow, have advertiser and category restrictions on what kind of ads can run on their sites. The problem is that these are configured ad exchange by ad exchange – and every ad exchange has its own taxonomy! This means that an advertiser can be blocked in one exchange, not in another, or restricted in a third – or even just completely overlooked if a publisher adops person forgot to log in to one of their 10 ad exchanges. And maintaining this taxonomy, and this mapping of advertiser URLs to brands to categories, is a huge pain in the ass for the ad exchanges themselves, and something they all invest money into.
Solution
We need an open source company that maintains a centralized repository of all brands running in online advertising. In order to be eligible to run a campaign, you need to register your brand with all of your landing page URLs with a centralized service that will provide you with a brand identifier, that can then be centrally managed in an advertiser quality module on top of Prebid. This will be open source so everyone can see everything, there are no disagreements, and there’s no asymmetry. It will also provide publishers data on which advertisers are running on their sites – something Publishers deserve – or at the very least allow them to say they don’t care. And Google, I’m looking at you, with your “various adwords publishers” categorization.
First and Third Party data communication
Problem
Ad Exchanges and OpenRTB are a messy hodgepodge of data communication structures. We have EIDs, we have FPD and PPID, we have PMPs which act as proxies for data providers in lots of ad exchanges, and I’m sure there are a bunch of other acronyms that I don’t know that are used in moving data back and forth. This shit is crazy. Know who doesn’t have 123091231029 ways to communicate data, and therefore optimize against that data? Facebook.
Solution
We need one, centrally managed data insertion point – and Prebid is the perfect candidate once again. Publishers need to hold single prebid auctions for all of the ad units on their site (per my other articles, please don’t screw this up by loading a bunch of different prebid instances and fragmenting your demand stack), and within that prebid auction we need a central taxonomy adding any relevant data providers to the impression opportunity and then blasting any of the relevant data out to all of the exchanges in a standard OpenRTB field. The notion that there are so many decentralized ways to dress inventory up, and that exchanges are often doing this as a value prop, is ludicrous and we need better solutions. A lot of the infrastructure already exists for this – but things are still done piecemeal because ad sales people be ad salesin. Stop it.
I promise, The Trade Desk has lots of people working in their machine learning department. If on every impression, from every exchange, they had 55 uniformly communicated but discrete segments that provided varying levels of utility, they’d be thrilled to filter the signal from the noise and optimize their campaigns using them. Let’s just actually give our sophisticated bidding platforms a chance, and get them de-duplicated centralized information about impressions that isn’t asymmetrical on every exchange they buy from. And now, when every exchange is sending the exact same data for the exact same impressions (and the same number of them, if you’re bid jamming in this scenario you’re very easy to catch), we get to have a real race to the bottom on fees and figure out why ad exchanges exist.
I’ll also take this opportunity to indict the modern day ad network – companies that buy average inventory, apply some kind of data to it, and then mark it up for resale with non transparent margins. Yes, that business makes lots of money. No, that business is not good for independent ad tech. Do you want Publishers to keep dying? Because this is how we kill publishers.
Refocus on Performance
Buy-side, this article is not letting you escape unscathed. The foundation of Facebook advertising is performance buyers. These are people who are looking for Direct Response, and not just Direct Response, real post-click sales of goods and services.
Problem
If Programmatic doesn’t work for DR sales for mom and pops, which right now it really doesn’t, it doesn’t have a bright future. The CPMs we see on facebook can only be generated by actual value generated for advertisers – not by vanity loosely attributed metrics, but by sales. Because then a mom and pop shop, or a D2C startup, can pump money into it and have a company - but spending $10,000 on “lots of high-attention ads” and “high probability of walk-ins having seen a digital ad” doesn’t help them.
Programmatic’s backbone is agency bulldinkie with loose performance goals that are easily manipulated. This is also why it’s so vulnerable to ad fraud.
Solution
Non-Retargeting Programmatic has to refocus on CPA, and even more specifically, has to get good at post-click CPA. Yes, I know this can be gamed. No, I don’t think it’s easier to game this than just about anything else. If you refocus your whole business on post-click CPA, I promise, you can stop paying fraud providers and stop paying middle men data providers who protect you from “THE BOTS.” Because bots don’t click and then buy, or if they do, they don’t do it en masse. Therefore you will stop buying traffic from them if you’re optimizing properly and if we re-do the internet with performance in mind.
Conclusion and Disclaimer
I’m bullish on banners. I really am. I think as time passes, as long as we don’t let privacy infrastructure lead to the entire internet becoming a walled garden, we really have a chance here. But it requires some creative thinking, it requires some cooperation, and it requires some disruption. And also, if we let any self-interested players roll out infrastructure that obviates the need for and breaks all of the things that we as an industry have worked so hard to build, all of these ideas could be rearranging deck chairs on the titanic.
Thank you for coming to my Ted talk, I fully expect zero of this to happen, but hey, a guy can dream.
Thank you for this... especially the fact that FB is just user-generated content. Exactly what I have been thinking. FB depends on the users themselves to make the content that drives high CPMs. For free! Makes for a great ad business.
The problem, as you're talking about, is that all the "freedom" in the open internet creates fragmentation. This makes the UX harder and inventory a mess. The Instagram app, well, it just... works. Chrome or Safari... it works as well as the website and every experience is a new thing. I think that mobile has a lot to do with this. If we're just pulling the internet out of our pockets like a snack, we're going to use the apps that can deliver that snack the fastest.
Great post, lots of amazing thoughts (love the standardized layout one!) but I think point 5 about delivering upon sales targets for SMB's is most pertinent to really shifting the dial on spend to publishers.
Do you think cookie degradation can help with this?