Ad Networks, Fraud

I’m Getting Screwed By My Ad Network, What Do I Do?

Nick Jones Ad Blockers, Ad Networks Leave a Comment

Good question.

There are more ad networks out there than we can count and more are added every day. If it feels like they’re out to get you, it’s probably because the majority of them don’t have your best interest at heart.

By some estimates, there were over 20 trillion ads run on the internet alone this year, based on an average CPM of $2.50. That’s a whopping $57 billion in digital ad spend this year alone (eMarketer), surpassing TV ads for the first time. That’s already more than double the amount spent on digital advertising in 2015.

A Growing Discrepancy

Digital ads are big business yet, according to Google, there can be up to a 20% discrepancy on reported impressions and clicks between ad servers and third-party hosts. 20% might not sound like a lot right now but if every week I billed you for 5 apples but only ever gave you 4, you’re probably going to be put off. The question you might have is how, in 2016, is a 20% discrepancy considered acceptable?

Again, according to Google, reasons include latency, tracking methodology, ads not actually filling, and filtering. Let’s dig through and address each of these issues and get to the truth.


This is the difference between when an ad is served and when it eventually appears. This is actually misleading, as the true issue is not latency but differences in tracking methodologies, as we will see next. For now consider that it doesn’t really matter how long it takes for an ad to arrive on a screen because, if nothing else goes awry, the numbers will eventually match.

Tracking Methodologies

Also known as differing opinions on what counts as an impression.

Ad servers typically count requests while host services track pixel rendering. The issue is caused by the two systems comparing apples to oranges and each has an answer to why they should be counting apples and why the other should be counting oranges. Still, a discrepancy of 20% should be reason enough to collaborate. After all, the customer should be king, right?

Ultimately, advertisers should only have to pay for an actual screen serving, e.g. the ad fills in the designated ad spot, the ad displays on the user’s screen and a pixel is dropped when the ad shows on the visitors screen. All required in order to be MOAT compliant. As it turns out, this is Google’s definition of an impression as well.

Sounds reasonable?

However, ad requests tracked by ad servers don’t always line up to this because ads don’t always fill. This is a big issue, and it is why you need a third party to help count impressions and keep both sides honest.

At Swift, we know that high-value ad spots like a 300×250 have a fill rate of over 90% (Check out Sovrn, for example.) In fact, we created a plugin for WordPress to test and compare fill rates among networks. We found that many of the ad networks were much more accurate on sites with better in-house analytics and renown. Makes you think, doesn’t it?

Filtering: A Minor Conspiracy

This is the big one. There are two types of filtering: filtering ‘users’ (A.K.A. bots, spiders, back-to-back clicks and so on) and filtering ads themselves via some form of ad blocking.

Could filtering via ad blocker actually account for the 20% discrepancy? It could. There are quite a few people running ad blockers out there. And ad blocking has the potential to leave ad networks saying an impression was maybe served, but also maybe not. However, do you know how much of your traffic is running ad blockers? My bet is it’s a lot lower than 20% and the ad block pandemic simply provides a little bit more leeway for ad networks to fudge the numbers.

How about we dive a little bit into a hypothetical conspiracy. Let’s say you own an ad network that has millions of impressions going through it. What’s to keep you from taking advantage of a situation and telling a few less technically sound publishers that some impressions didn’t make it through? All while still reporting the actual numbers to the advertisers paying your bill.

Auditing Impression Count

About a year ago, we started wondering if ad networks were being honest with our publishers and decided to test it out by running a network-wide audit with the publishers we worked with.

We took our Swift Post plugin and set up an audit where we would compare the number of impressions we counted with what they reported back. Even when we measured everything the same; tracking methodology, latency, filtering, etc., we found each network underreported by over 25%.

So we went to another publisher’s site (with permission, of course) and ran the same test with the same ad network. Same thing happened. Even when we accounted for all the individuals running an ad blocker.

Tired another ad network. That time it was over 30%.

Another ad network, same thing.

But we found out something interesting. The better internal reporting you had as a publisher, the less underreporting occurred. Hmmm…. Interesting.

So… chances are you’re getting screwed by your ad network. What do you do?

It’s time you started running an internal audit and showing ad networks you’re measuring the traffic too. Install AdLander’s robust metric tracking or the Swift Post plugin for WordPress today and start measuring the actual impressions you are serving.

PS… It’s free.

Leave a Reply