Uber's ad troubles aren't recent news. As early as the start of 2020, there were stories coming out about how they'd realised they'd wasted huge multi-million dollar budgets on fraudulent ads.
For some reason, these stories only received limited attention at the time, and mostly just from within the marketing community. At the start of 2021 however they re-emerged, and with that brought a whole new wave of people asking: how did Uber waste that much ad spend?
Uber wasted a significant proportion of their budgets that were spent on 3rd party advertising networks, sometimes referred to as programmatic advertising.
A 3rd party network allows advertisers to buy ad inventory on all sorts of websites and apps, that aren't affiliated with the network itself. An example of such a network that many are familiar with is Google AdSense. AdSense facilitates the buying of ads on a range of non-Google properties, even though it's owned and managed by Google.
3rd party networks contrast with more standard platforms like Facebook Ads, or Google Ads. Each of these platforms allows advertisers to buy ad space on properties that belong to the ad network (i.e. Facebook or Google).
This question of ownership, of who owns the property that the advertiser is buying ads on, will become important in understanding how ad fraud occurs.
Ad fraud is a collective term for a number of practices that attempt to fraudulently take advertising budgets from advertisers.
A classic example of ad fraud is to sell fake impressions, where impression is advertiser-speak for an ad view. If you're running a website where you sell space via a 3rd party network, it might cross your mind that you could boost your ad revenues by generating fake impressions on your site. For example, by having bots visit your site and causing ads to load, thus generating incremental ad revenue for you.
This is a fairly simplistic form of ad fraud, and one that's relatively easy to detect. Common markers are high volumes of traffic coming from a certain IP, with certain browser characteristics (user-agents, screen sizes etc.).
Even when it's not detected though, it only really harms one sort of advertiser; an advertiser who is optimising to get the most impressions (or reach) possible for their budget.
If an advertiser isn't just concerned with impressions, but they also want to see people clicking on their ads, or going on to download their app after clicking on their ads (á la Uber) then in theory they're less likely to fall victim to ad fraud.
This is because the advertiser will either manually notice that traffic from the fraudulent site isn't converting how they want it to, or because they're running optimisation algorithms which'll shift spend away from that site when they notice its users aren't converting.
Unfortunately though, checking whether users who come through your ads end up downloading wasn't enough to save Uber.
As Kevin Frisch (Uber's ex-head of performance marketing and CRM) notes, they found cases where a user would click on an ad and be signed into Uber 2 seconds later. This is of course practically impossible, and suggests that these sites were using bots which could create and interact with Uber accounts to make it appear as if genuine users were coming from those sites.
This would in turn convince whichever marketing manager or algorithm that was monitoring Uber's spend to shift more budget to those sites, because they appeared to be generating real user interactions.
All of this wins the fraudulent sites more and more of Uber's ad spend, all the while leading to no actual revenue or upside for Uber.
One way to counter ad fraud is to use revenue-driving events to determine how you spend your budget.
What I mean by this, in Uber's case, would be looking at how the different sites you placed ads on fared when it came to generating revenue-driving events, like rides booked. If a site brings you lots of new users, who all start booking rides with Uber, then there's likely little (if any) fraud on the site.
Fraudsters can't spoof this by creating bots which visit their site, download Uber, and start paying for rides. Well, they can, except the amount they spend on rides would have to exceed the ad revenue that their site is generating in order for Uber to want to continue advertising on that site.
So in this sense, optimising your ad delivery based on revenue-driving events greatly diminishes the chance of falling victim to ad fraud.
There are a couple of reasons why Uber may not have done this. One is that display advertising, which is where the fraud occurred, is what advertisers call upper-funnel marketing.
Upper-funnel marketing is good for driving awareness, and brand recognition, and maybe even installs. That said, upper-funnel marketing is generally less good at driving revenue in a short timeframe.
As such, Uber may have decided that they were going to optimise their display advertising solely based on installs, and not a lower-funnel action like rides booked, because they didn't expect to get much data for the latter.
Uber may have effectively assumed that the percentage conversion rate from install to ride booked on these fraudulent display channels would be the same as on non-fraudulent channels, and so believed that they were getting a good deal if they could drive installs on a fraudulent channel at the same cost per install as a non-fraudulent channel. Of course if installs from a fraudulent channel never converted to rides booked (i.e. revenue), then this isn't an effective assumption.
The other thing Kevin Frisch said which I found interesting was:
Straight off the bat it's interesting to note that total install volume stayed constant, while install source shifted in favour of organic. This naturally suggests that paid channels were over-attributing; marketing-speak for taking credit for installs that they didn't actually generate.
The other interesting thing is the suggestion of measuring the efficacy of paid channels by just turning them off.
If you're running paid channels where you expect a low latency between ad impression and conversion, then this is a perfectly valid way to measure the effectiveness of those channels. A great example of this sort of channel would be paid search; if you turn paid search off then (if it's being run well) you should expect conversion numbers to fall almost immediately.
The channels that Uber were running appear to be quite different to the paid search example; they appear to be primarily display and branding channels. Because brand-focused ads work over a much longer timeframe, be it months or years, you can't expect to see an immediate decrease in conversion volume when they're turned off.
If the conversion volume stays high, this could be because of the cumulative effect of all previous ads run. It might be that these ads built such a strong brand for Uber over such a long period of time, that Uber's conversion volume could keep growing organically even after the ads were turned off.
What this really all hinges on is how long Uber waited after turning off the ads before determining that there was "no change in our number of rider app installs". I would assume Uber were smart enough to wait a good period of time (at least 6 months) before determining this. If Uber simply waited a month, that may well not have been long enough to determine the long term impact of pulling ad spend.
The other point it's worth considering is that Frisch says Uber basically saw no change in [Uber's] number of rider app installs. The basically implies that there was likely some change, albeit a very insignificant change in comparison to the reduction in spend.
What's worth noting here is that you don't have to be buying dodgy ads to notice this sort of behaviour, where a huge drop in spend has nearly no impact on volume. The reason for this is that many advertisers unknowingly have incredibly high marginal efficiency metrics, such as marginal cost per install in Uber's case.
This comes about because you're saturating a market so heavily that, while the cost of 90% of your installs might be low, the cost of getting those last 10% is incredibly high. The cost to get one additional install is your marginal cost per install, and it's a metric few advertisers know how to track.
Because advertisers don't typically focus on marginal efficiency metrics, they can often grow to extraordinary values, to the point where a marginal cost per install could be 10x a brand's average cost per install. Advertisers in this position can stand to save huge amounts of ad spend, whilst only losing a small amount of volume, just by pulling back their budgets.
I have no proof whatsoever that this was a determining factor in what Uber noticed, but I'd wager it likely played some part. It's hard to imagine that a brand like Uber, spending $150 million a year, didn't have sky-high marginal costs per install.
Uber wasted a whole bunch of cash. This primarily came because of ad fraud, and the fact that Uber likely weren't monitoring their revenue-driving events closely enough to notice that some (fraudulent) sites weren't driving these events.
Uber's approach of just turning off 2/3rds of their spend is a good way to understand it's impact, but only if you wait long enough to really see the impact of that reduced spend. Uber likely also benefitted from pulling back because their marginal efficiency metrics were so high.