Why mediation is the primary front in the mobile advertising wars post-ATT

In-app bidding made true programmatic fulfillment and real-time yield optimization accessible to mobile publishers. The in-app bidding model (vs. the waterfall model) has existed within the mobile landscape for years; this MDM guest post from June 2018 provides an in-depth overview of the mechanics of in-app bidding, and I wrote In-app header bidding and the road to programmatic that same month. From the piece (emphasis added to make a point):

In-app header bidding will provide better yields to publishers (and, if the market operates efficiently, that increase in yield should generate some cost savings for advertisers). But that feels like less of a substantive evolutional moment than a broader shift towards programmatic buying on the part of advertisers, which would likely lead to many ad networks outside of the top tier to become extinct. That’s the real, fundamental market shift that has perennially been “next”: the collapsing of the participant chain on the demand side.

This prognostication from 2018 — which was certainly not unique to me, nor was it especially adventurous — has now materialized, evidenced most profoundly through Applovin’s acquisition of MoPub last October, but also through last week’s announcement of the impending merger between ironSource and Unity. In my piece exploring the motivations of that deal, I identified two impetuses for the union: mediation and profit. Here, I’ll further unpack the power and necessity of mediation in the current, post-App Tracking Transparency (ATT) environment.

I use the word “mediation” here simply because it’s a term of art in mobile advertising, but there are two broad benefits that are captured by that concept: real-time yield optimization through impression-level auctions, and data. I explain the real-time yield optimization component in this article, and it is also well articulated in this QuantMar thread, but at a high level: prior to in-app bidding, mediation platforms simply allowed publishers to rank demand partners by their historical average CPM payouts. A publisher would give priority to demand partners that had delivered higher average CPMs for them in the previous month or months, regardless of the CPM that a demand partner could provide for any given impression.

This is obviously inefficient: a publisher would want each impression to be filled by the highest bid, and the waterfall method granted privileged access based on historical performance that might not match the current market environment. In-app bidding addresses this by forcing an auction for each impression and rewarding it to the demand partner that submits the highest bid.

The advantages for publishers of real-time bidding relative to ranked historical CPM are self-evident. But it’s clear through recent consolidation that ownership of the supply side of the advertising workflow is increasingly important for ad networks and platforms.

The reason for this is that aggregation of supply provides pricing insights that are critical for efficiently managing demand in the post-ATT environment, in which user-level data cannot be gleaned and aggregated, either into user profiles or simple device graphs. If targeting can’t be accomplished and optimized by understanding how individual users behave after being exposed to ads, then ad platforms must acquire that awareness using the next best thing: advertiser bids.

Before exploring that, it’s important to conceptualize the generalized mobile advertising workflow, per the diagram below. Considering this from a two-party (advertiser, publisher) model: the publisher sees an impression become available, it notifies its supply-side platform (SSP) of that fact, the SSP notifies demand platforms (ad networks and DSPs), those demand platforms submit bids on behalf of their advertisers, and the advertiser with the winning bid places an ad into the impression.

There are more than two parties involved in this transaction, though: multiple advertisers’ bids are submitted for an available impression in a programmatic workflow, and those bids are entered into an auction, with the auction determining which advertiser’s ad is placed into the impression.

It’s important to consider here what each of the participants in this process knows at the end of it. Each demand platform knows the bid it submitted on behalf of its advertising client, and it also knows whether that client won or lost the auction. The advertisers similarly know that information. But the SSP knows the submitted bid prices of each of the advertisers that entered the auction. At the end of the process — when the impression has been filled and the auction has been transacted — the SSP has gleaned much more information than the demand partners and advertisers, which essentially only now know whether their bid was competitive for inventory in that app (read: game).

Note that an advertiser’s bid for inventory is effectively an approximation of the LTV that the advertiser expects that prospective user to generate in its app, adjusted by various conversion filters (click rate, install rate, etc.). In essence, a bid is an LTV estimate. An SSP can interpret a bid as the pairwise expected value of a user in App A (the advertiser’s game) when acquired from App B (the publisher’s game).

If SSPs have proxy data for user value, then they have access to something to which demand side partners have been starved through ATT, which is average user value. Prior to ATT, through the events stream, demand platforms — even broker ad networks — could receive user-level events from advertisers that helped those platforms to bid efficiently for traffic on behalf of those advertisers. This isn’t possible with ATT because SKAdNetwork only allows for a very limited amount of in-app data to be transmitted at the campaign level, with a number of other limitations on the granularity of how that data can be aggregated, which I explore here. Note here that broker ad networks don’t necessarily need data at the level of an individual user: since they primarily target contextually (that is: app to app), they really only need to dimensionalize data across various features, like phone model, geography, etc. But, for the most part, the limits of SKAdNetwork preclude even that (although SKAdNetwork 4.0 will allow for additional granularity).

Given that SSPs can now aggregate this dimensionalized, pairwise average user value by interpreting bids this way, then they are attractive assets for ad networks, which can no longer do that on the demand side on behalf of their advertising clients through access to in-app data. And so Applovin’s acquisition of MoPub and Unity’s merger with ironSource make sense for this reason: they are both acquiring data from SSP operations that can be used to benefit advertiser campaigns with demand-side operations. These are ultimately data acquisitions: their targeting tools are being fed with data gleaned through yield optimization to better guide advertiser spend.