Hacker News new | ask | show | jobs
by kenhwang 1097 days ago
I work in ad tech, the difficulty in serving ads isn't showing the ads (which can be pretty annoying in itself for advanced ad formats), it's collecting enough metrics consistently enough across platforms to convince the advertisers that fraud and brand safety aren't a concern.

Verification metrics for basic ads are things like: when was the ad shown, how much of the ad was visible, which parts (pixels and video timeline), what content was also visible while the ad was shown, clicks, bot/script/adblock detection, and whether the ad was on-target (age/gender/location of user).

Ideally, these metrics are also independently verified, so Reddit's tracking and the advertiser's own provided/preferred tracking (like DoubleClick Verification).

Typically the video player or ad renderer needs to be customized to collect these metrics and understand VPAID/VAST/VMAP/MRAID for how/when to show the ad and what tracking is needed. Plus support for mixing content and ad encoding formats.

It's basically an arms race to compete against Facebook/Google's ad serving and tracking capabilities and I'd say even most 1st party premium ad publishers with full time ad tech teams often have difficulty consistently passing verification convincingly enough. So it's understandable that Reddit has very low confidence in single developer apps being able to pass the ad verification bar, much less over API which isn't a well worn ad serving path.

2 comments

So basically, a native app where the publisher has full control can get metadata important to advertisers, especially enabling third-party anti-fraud processes. Makes sense, and thanks for the enlightenment.
This may sound very ignorant but: why are advertisers so paranoid about the people they pay to? If you are going so far as to track visible pixels of your ad you probably have something more fundamentally wrong with how you're communicating your product.
There's a lot of ad fraud in the industry, there's a lot of money in advertising. Everyone is incentivized to say they showed an ad but not actually show the ad. There's a lot of very sophisticated ad fraud operations and the tracking is designed to be difficult to defeat. We've seen app developers try to render ads in hidden iframes or muted behind/under content or on server farms with headless browsers or click scripts being served with the ad.

The default is to not pay for an ad shown until the publisher can prove it was actually shown and independent verification matches. It's a lose-lose situation for the user and publisher to show an ad but not get paid for it (but the advertiser still benefits, so they'll make a good effort to find reasons to not pay).

Brand safety is also the highest priority for most advertisers. They don't want their ads shown next to content they disagree with. Which the publisher also has to prove they've done in a way that can be independently verified.

Some of these problems are very hard to solve with tech, and for these cases, the solution is often "just trust me". It's not uncommon to simply let advertisers have access to audit ad serving code. It's easy to trust a big entity like Google or Facebook or even Reddit, but it's very hard (and a lot of work) to trust random single dev apps (or even companies lead by untrustworthy figures like Twitter).

The bigger (unsolved) problem is: how do you prove your advertising actually worked? How do you convince a customer like Coke or McDonalds with massive advertising budgets and not immediate trackable sale/action that their money was well spent? So far the tech solution is to just provide a lot of data supporting that the ad was served exactly as the advertiser wanted.

> Everyone is incentivized to say they showed an ad but not actually show the ad.

People don't want to see ads because ads are intrusive. The solution to this problem that the ad industry sees is to make ads more intrusive. So it's kind of a positive feedback loop of user-hostile garbage forced upon them, and no wonder that people want to make ad-free experiences.

I'd say there's two kinds of publishers.

The "good" publishers will simply charge more per ad and do more hidden proof of trustworthiness, such as being more open to code audits/transparency, more user tolerable ad practices/product deisgn to minimize bad behavior/increase tolerability, or better ad targeting to simply demonstrate more effective conversions. Think Facebook (the tradeoff here is they know a lot more personal information about you to be able to do this).

Unfortunately, most ad publishers fall into the "bad" camp where they know they won't receive payout for some portion of their ads, so they increase the amount of ads shown to make up for the shrink or simply show lower paying ads that have more lenient verification requirements. This is more what Google does/encourages.

My experience is advertisers would love to show less ads with higher conversions, because it makes their lives way easier. But they can only buy what's offered, and there's a lot of cheap user hostile publishers desperate for ads (even most of the ad strategy suggestions in this thread are pushing for more ads) and very very few high quality ad publishers.