HACKER Q&A
📣 sagebird

Why are ad-blockers so effective


Why are ad-blockers so effective?

My naive take is: wouldn't it be easy to go around ad blockers by:

1.) Making all ad traffic route through the origin website.

2.) Serving ads in the same way that the content is served -- so it is more difficult to separate.

Note: To get some things out of the way: I like that ad blockers are effective. I understand that content producers need to make money and sometimes the only viable option may be ads. Some exceptions: youtube and some social media sites are able to serve ads effectively. I am focused on the "web" in general.


  👤 surround Accepted Answer ✓
Most websites use 3rd-party ad networks. To prevent ad fraud, these 3rd-party ad networks require that the ads are served from their own 3rd-party server. This makes it easy for adblockers to distinguish between ad-traffic and content.

> “1.) Making all ad traffic route through the origin website.”

AFAIK, ad networks don’t want to do this because it would allow the origin website to tamper with the traffic and commit ad fraud.

However, there are some ways to make it look like it’s coming from the origin website (when it’s really not):

- CNAME cloaking: set the DNS record of one of your sub-domains to point to an ad network (b.example.com -> adnetwork.com). This method used to be effective, but now adblockers (such as uBlock Origin) will check the DNS records for CNAMEs and prevent this.

- Instart Logic: I don’t quite understand how, but somehow this company successfully (!) made 3rd-party requests look like 1st-party (on Chrome only. Firefox doesn’t have this issue). A separate extension, uBlock Origin Extra, is required in order to un-disguise these ads.

There is more. Facebook runs its own ads, so it doesn’t rely on a 3rd-party. It has been successfully disguising Sponsored posts as normal posts for years. Adblockers still can’t distinguish between the two. https://www.dylanpaulus.com/2019-11-24-how-fb-avoids-adblock...


👤 PaulHoule
If the ads were being served by the origin web site the buyer would have to trust what the origin site says about impressions.

Even if the origin web site were honest there are many technical reasons statistics like that can be wrong; for instance a browser might render the page out of a cache.

The origin could have the ads served by the buyer but then the origin has to trust what the buyer says.

Having a third party serve the ads makes it at least possible that an impression or click is honest, but even with the safeguards we have the ad fraud problem is dire:

https://ppcprotect.com/ad-fraud-statistics/


👤 simonblack
As well as an ad-blocker, my system also uses a 'hosts' file that converts many notorious ad-site web-addresses to that of my own machine. It's practically a certainty that any page title requested from one of the ad-servers won't be found anywhere on my own web-server, so no ad from that ad-server ever gets displayed.