I have wondered for a long time, but the article at the top of HN as i write, "Adblocking people and non-adblocking people experience a different web" reminded me.
Am I wrong that all a publisher needs to do to defeat ad blockers is to serve ads from their own domain? Or at least make it appear as such? Surely the money at stake would make that an easy problem to solve.
But obviously I must be wrong. Why?
Third parties are necessary in advertising for this reason.<p>If ads were served by the publisher than the advertiser would always think that the publisher was cheating and claiming they showed more impressions and generated more clicks.<p>If ads were server by the advertiser then the publisher would always think that the advertiser was cheating and claiming that they showed fewer impressions and got fewer clicks.<p>Both could believe that a third party is honest. Both will feel even more assured if the site has 50 different trackers from 50 different third parties tracking the process.
This is exactly why almost all advertising companies now offer CNAME cloaking support or a similar technique where their ad server is aware of the DNS domain that it was "called by" and serves ads accordingly.<p>This way stupid clients just follow the domain and think it's subdomain.publisher.tld and dont care about the CNAME pointer to the advertising tracker.<p>And you've assumed correctly: This is a cat and mouse game, and if you take a closer look at all those adblocker lists you'll identify lots and lots of randomized subdomains that are there just for the purpose of temporary obfuscation.
I just posted in another section: most ads simply don't target the kinds of people who use adblockers. Why spend so much effort and resources to force your ads in people's faces when they're just going to ignore them?<p>Of course, why do advertising companies spend so much effort and resources to force ads in people's faces in TV/billboards/mobile games/unblocked web? I suppose those advertisements actually net the company back revenue. But trying to send advertisements to someone who has uBlock and PiHole, VPN, etc. is not only extremely difficult, but basically useless.
Interesting question.<p>I think it boils down to the fact that the ads are delivered with the content. You can just choose to not look at the ads, right? This is the same principle that the ad blockers work on.<p>To get around that, Another way to do it is to deliver the ads first, have the browser attest the ads were played and then serve the content. The problem is the end user can always modify what you serve them. Getting the browser to attest to something like that is very hard if not impossible.<p>There's no good way to do it. The advertisers will always be playing a game of cat and mouse. They take what they can get, because that's all they can do.
In the future webpages will be streamed from a server and we will only see a video stream. No ad block will be possible as the whole page will just be a single html canvas (or some new stream element). It will suck.
> Am I wrong that all a publisher needs to do to defeat ad blockers is to serve ads from their own domain?<p>Yes, you are wrong. If it can be served (regardless of from where), it can be blocked.