TL;DR: Router-based blocking is fairly effective for now, but not guaranteed.
Host-based adblocking works if advertising delivery comes from servers distinct from content, and is delivered directly to the client (that is, the end-user's web browser) rather than "rendered" on the server side.
There are reasons the independent ad hosting solution's come about, not a few of which revolve around measurement and fraud --- a freestanding ad infrastructure gives metrics independent of the ads venue. In a world in which trustworthy data are hard to come by, this had been strongly embraced.
The rise and success of host-based adblocking creates an evolutionary arms race between advertisers and ads-averse publics. There are several possible countermeasures:
- Advertising can be intermixed with content, either with ads coming from content servers, or content coming from ads servers.
- Ad payload and content bait can be pre-rendered on the content delivery site. The user no longer has a separately-identifiable data stream to discriminate the advertising content.
There are other adblocking methods. Some rely on determining what parts of a web page (the "DOM", or document object model) correspond to advertising. Typically, dimensions (ads are sold in standard sizes), element names (usually HTML attributes including CSS class and ID values), or display attributes (fixed or floating elements especially) are used. The story's complicated. Browser-based adblocking typically includes several of these heuristics, in addition to host-based blocking.
And there are new technologies which will make even those methods less effective. (Look up direct canvas rendering as a leading option.)
Router-based blocking is virtually always to determining the source of a data stream, but not its content (thanks in part to the security and encryption now part of most Web traffic, thanks to HTTPS and SSL/TLS security protocols). PiHole and its equivalents have been largely effective to date, but still leak some ads, and may be less effective in future.
Host-based adblocking works if advertising delivery comes from servers distinct from content, and is delivered directly to the client (that is, the end-user's web browser) rather than "rendered" on the server side.
There are reasons the independent ad hosting solution's come about, not a few of which revolve around measurement and fraud --- a freestanding ad infrastructure gives metrics independent of the ads venue. In a world in which trustworthy data are hard to come by, this had been strongly embraced.
The rise and success of host-based adblocking creates an evolutionary arms race between advertisers and ads-averse publics. There are several possible countermeasures:
- Advertising can be intermixed with content, either with ads coming from content servers, or content coming from ads servers.
- Ad payload and content bait can be pre-rendered on the content delivery site. The user no longer has a separately-identifiable data stream to discriminate the advertising content.
There are other adblocking methods. Some rely on determining what parts of a web page (the "DOM", or document object model) correspond to advertising. Typically, dimensions (ads are sold in standard sizes), element names (usually HTML attributes including CSS class and ID values), or display attributes (fixed or floating elements especially) are used. The story's complicated. Browser-based adblocking typically includes several of these heuristics, in addition to host-based blocking.
And there are new technologies which will make even those methods less effective. (Look up direct canvas rendering as a leading option.)
Router-based blocking is virtually always to determining the source of a data stream, but not its content (thanks in part to the security and encryption now part of most Web traffic, thanks to HTTPS and SSL/TLS security protocols). PiHole and its equivalents have been largely effective to date, but still leak some ads, and may be less effective in future.