"Brand Aware” explores the data-driven digital ad ecosystem from the marketer's point of view.
Today's column is written by Bennett Rosenblatt, rider display marketing lead at Uber.
At Uber, our programmatic strategy prioritizes transparency and trust above all. We run campaigns in an enterprise self-service demand-side platform (DSP) and leverage a transparent ad server to build engaging creative and provide unique measurement capabilities. We’ve built deep relationships with the largest exchanges, data providers and mobile technology companies.
Programmatic display is among the most strategic channels for Uber moving forward, which was definitely not true a few years ago. As our internal sophistication grows, so too do our tools. One such evolution is our creative. Flat image files have given way to rich, dynamic, interactive experiences.
But as we traveled deeper into the world of rich creative, we discovered a massive problem in the ecosystem. When it comes to creative compatibility, the programmatic exchanges are not taking their responsibility to advertisers seriously. Ultimately, we found that some exchanges don’t run simple compatibility checks on their publishers and trust them to self-report accurately in the face of an obvious counterincentive: higher CPMs.
An Ad Tech ‘Whodunit’
In late Q4, we launched a series of small rich-media-based mobile brand campaigns to dip our toes in the water and establish performance benchmarks. We ran the tests for a few days then reviewed the data. This health check uncovered some odd trends.
First, our click-through rates were almost zero. For in-app static 300x250s with impression and click trackers, we could sometimes see as high as 2% click-through rates (CTRs). But exciting, motion-enabled, dynamic ads were generating sub-0.10% CTRs. It just didn’t make sense. On top of that, incrementality was completely flat across various short-term metrics.
Something was wrong. We were buying significant inventory across well-known, major exchanges, but it was as if our ads weren’t being served at all.
It’s important at this point to emphasize the distinction between a few key terms. First is the load rate, which is the ratio of rendered impressions – the number of ads that are served – over requested impressions, or the number of impressions won in auctions.
Most of us will agree that there are unavoidable cases, through no fault of the exchange, DSP or ad server, where an ad fails to load. The user, for example, closed a web page too quickly. Or the user went to the next level in a favorite app before the interstitial loaded. There are so many moving parts when it comes to programmatic advertising that this is just something you have to accept.
But for these small branding campaigns we tested, we were shocked to learn the load rate was 50%. A load rate of 50% means that of 1 million impressions we won and paid for, only 500,000 were served.
Thus began our “whodunit.” Where was the breakage? Which party was responsible?
When we looked at the logs in our ad server, which is the technology that handles our creative and tracks our load rate, we saw several errors. This was the most common error: “MRAID Object Doesn’t Exist.”
This error happens when the DSP tries to stuff an MRAID (mobile rich-media ad interface definitions) creative into a non-MRAID-compatible impression. In this case, either the DSP is at fault for buying “MRAID=0” placements, or the supply-side platform (SSP) is at fault for allowing non-MRAID inventory to declare as “MRAID=1.”
Our investigation ruled out the DSPs, and we determined that the issue existed on the SSP side. But to this point, the SSPs had completely resisted the idea that they were responsible.
Our hypothesis was that some exchanges were not performing basic validation of their inventory for things like MRAID compliance. We confirmed this hypothesis when multiple exchanges told us that they rely on publishers to self-declare MRAID compliance. There’s a clear and obvious reason that publishers might be incentivized to declare as MRAID-compliant: higher CPMs. In at least one case, an exchange asked us to provide our ad server logs so it could identify bad actors.
There appeared to be no prior awareness by SSPs of the issue.
Sounding The Alarm
I’m writing about this issue for four major reasons.
First, programmatic advertisers must educate themselves about load rates. The most basic assumption you can make – “my ads are being served” – is surprisingly flimsy. You might be shocked at how much of your budget is being wasted in an almost untraceable way and how hard certain parties will fight to hide that information.
Second, viewability has created a false sense of security among advertisers and has, in some ways, hidden this problem. The viewability pixel only fires when an impression is rendered, and viewability measurement doesn’t work in the majority of mobile environments. Ninety-percent viewability doesn’t sound as good when 50% of impressions weren’t served in the first place.
Third, transparency is key. Our team would have never realized the scale of this problem if we didn’t work with an ad server that transparently reported load rates and a DSP that acts as a genuine trusted adviser on our behalf. I was surprised to learn while writing this column that many of the top ad servers don’t report the percentage of ads they successfully served. That’s absurd to me.
If I have learned one thing over the past quarter, it is that exchanges are not monitoring their own inventory for basic issues like MRAID compatibility. Load rates are a much bigger problem than people realize, and if we didn’t have partners that prioritize transparency, we would have never found this issue.
Finally, I want to sound the alarms that major exchanges are not taking their duty to advertisers seriously. We are completely pulling our spend from multiple exchanges until they address this problem, and we are doubling down on those exchanges that proactively take steps to validate their inventory. MRAID compatibility is just one symptom of a much larger issue and underscores the need for exchanges to take accountability so that advertisers can get what they pay for.