We'll discuss what ad blockers are, how they work, and how they affect Qubit's technology.
Ad blockers generally employ one of two methods to block ads, network filtering, and cosmetic filtering.
Network filtering consists of blocking network requests made by the browser. Ad blockers generally use publicly maintained lists, for example, EasyList, to determine which requests to block.
An example of network filtering would be preventing all outbound requests to URLs including doubleclick.net, to prevent doubleclick banner ads from showing.
Cosmetic filtering consists of identifying HTML elements based on rules and preventing those elements from rendering or executing. This method usually targets HTML elements with Ids or classes containing keywords such as ad.
An example of cosmetic filtering would be to block the top banner on a particular site if it is known to contain ads.
Of particular interest to Qubit is the fact that cosmetic filtering can prevent inline scripts from running in certain ad blockers.
The following list shows which of the top ad blockers allow inline script filtering, true as as of May 2017:
Estimated Users (from Chrome Web Store)
Allows Inline Script Filtering
Yes, via custom configuration
Yes, via custom configuration
Qubit's technology is loaded through the smartserve script, which is loaded as an inline script, for example:
And there are edge cases where smartserve is loaded through a third-party tag manager.
However loaded, Qubit cannot serve experiences or collect data unless the inline script runs successfully.
Other parts of Qubit's technology leverage calls to HTTPS APIs, for example our Social proof API, Tally and our Recommendations API. If these requests are blocked, the affected parts of the technology will not work.
Most inline scripts are crucial to the proper functioning of a web page. Because of this, ad blockers typically don't block inline scripts.
Qubit's inline scripts can only be prevented from running when an end-user sets up a specific rule to target it. This is not considered a typical use case and therefore is not a major concern.
Network filtering could affect Qubit's technology if, for example,
smartserve- was added to a list of blocked hosts, either manually by an end-user, or generally in a public list. Qubit's technology could also be affected if requests to a Qubit API were blocked.
Because public lists tend to focus on ad-serving technology, first-party technologies like Qubit, Optimizely, and Monetate, have historically been excluded from them. The most well-known ad-blocking list is EasyList, which does not block Qubit's technology.
One popular list that does block Qubit's scripts is EasyPrivacy. It also blocks all known third-party technologies. In effect, a user employing EasyPrivacy is explicitly enforcing the same protections that the browser setting do not track should theoretically provide.
EasyPrivacy's market share is hard to determine, though in 2011, it was around 5% of AdBlock Plus users. For more information, see EasyList Statistics: August 2011.
For clients that suspect our smartserve is being blocked, we recommend self-hosting the smartserve script and renaming it to a name that is much more difficult for ad-blockers to track.