The topic of fraud and waste in the programmatic digital advertising has been covered extensively before. So, I’ll assume you remember that more than half of every dollar you spend buying low-cost ads from ad tech vendors goes into their pockets instead of towards showing ads, even in the most ideal situations. This “50% ad tech tax” doesn’t show up excel spreadsheets which tell you how much you spent, how many impressions you got (“reach”), what CPM prices you paid (“cost efficiency”), and what click through rates you got (“performance”). Of course, that was by design, so you wouldn’t find out and complain. After all, they wanted to keep you spending. But the illusion of doing digital marketing is not marketing, even if they show you colorful dashboards and excel spreadsheets full of data. As documented in Uber’s successful lawsuit, mobile ad tech vendors “spun up more BS to Uber,” falsified placement reports to cover their tracks, and in some cases fabricated reports entirely even though no ads were run and they kept all the money.
This article is not about ad fraud; there are nearly 200 of those you can read at your leisure. This article is a deeper dive into the mechanics of programmatic advertising to show you why the reports, spreadsheets, and dashboards shown to marketers don’t adequately reveal the hidden issues in every step of the process, resulting in the illusion of digital marketing — lots of stuff happening — when no marketing was taking place at all.
Auction and ad serving
Real-time bidding (RTB) is the ad tech equivalent of Wall Street — where advertisers and publishers are matched up to buy and sell ad impressions, respectively. An “ad opportunity” is created when a web page is loaded (e.g. when a user visits the page). That opportunity is put up for auction by sending a bid request to an ad exchange. Multiple buyers bid on that opportunity and the winner of that auction gets the right to serve an ad into that ad slot on the seller’s webpage. All of this takes place in a matter of milliseconds; and an estimated 10 trillion such auctions happen every week (equivalent of 10 – 20 million per second). When a bid is won, a call is made to the buyers’ ad server to serve the ad into the ad slot.
All of the above works well in theory, but have you considered the enormous amount of computation and bandwidth needed for it to work in reality? This has certainly driven the adoption of more and more powerful computers and faster and faster network connections in data centers. Those ad tech companies selling these “picks and shovels” certainly profited off the backs of digital advertising speculators, most of whom spent all their money chasing fool’s gold. To be more concrete, what if the bid were won, but no ad was served? What if the ad was served, but never arrived in the device, because of network latency (e.g. lower bandwidth on mobile devices). What if it did arrive, but never got rendered? Advertising speculators paid for all of that for years. But what was being counted and what was being paid for?
Most of these problems were hidden for years in the ‘fine print,” definitions and standards, and the technical details that no one even knew to ask about. For example, for years DoubleClick, the world’s largest ad server (owned by Google) counted ads when they were “served” without any proof that the ad ever arrived in the browser to be shown. Once enough ad buyers realized they were overpaying because of this overcounting, they lobbied together for an update to the standard. It wasn’t until October of 2017 that DoubleClick changed the definition of what they counted and billed for from “served impressions” to “downloaded impressions.” Previously, the metrics were based on “served impressions” — the ad server “sent the ad out.” But even after the adoption of “downloaded impressions,” the fine print reveals that “downloaded” doesn’t actually mean downloaded; it just means that the download of the ad was started, not that it finished downloading so the ad could be rendered (displayed on-screen for the human user to see).