Optimizely with Ad-Block
Apologies if this has been posted / covered previously, but i can't find anything on this via google or the forum search.
It has been suggested by one of my colleagues that previously a question had been raised as to how Optimizely performs when a visitor has an ad blocker running on their browser (e.g. ABP or similar).
I would assume that Optimizely handles this simply by detecting that the script is blocked and handling the visit as null in terms of any tests running on the page, but can anyone just confirm this is the case? or at least that ad-blocking doesn't introduce anomalies into our tests?
Really interesting question.
The answer will depend slightly on which adblock program you use, but to take Adblock Plus as an example, ABP has two mechanisms to block content on websites:
Element hiding: A CSS snippet is injected in the website to hide elements which should be blocked. The result is that ads are hidden from the page without impacting the structure of the site. However, these resources not prevented from loading.
Request blocking: Certain HTTP requests for retrieving resources will be prevented from loading completely.
In the latter instance, the visitor would not be bucketed and would not see an experiment at all, since Optimizely would be prevented from loading. In the former instance, it's possible that certain elements that had been modified using Optimizely would not be visible. Really it depends on the test setup.
We don't have a fallback mechanism in place in situations where adblockers block the Optimizely CDN snippet, because all the variables needed to do so are defined in that snippet. However, in my experience, adblockers tend not to block the snippet unless a special filter has been set up by the user to do so. This has to do with the fact that users tend to test essential portions and elements on their site using Optimizely, which are elements that are not generally hidden using the element hiding mechanism.
Thanks for the reply!
I set up a little test this afternoon to investigate this - and results were as you described (not that i doubted you )
I chose a page on our site that was no longer included in the nav, and which hadn't seen any traffic for at least 6 months (an old product landing page previously used for PPC). I ran a quick test to remove the hero image on this page, with 100% of the traffic pointed at the variation.
I accessed the test 3 times using Chrome; once with no blockers in place, once with Adblock-Plus active, and once with both Adblock-Plus and Ghostery active within the browser. I left both ABP and Ghostery on standard 'fresh install' settings as i figure that's what the majority would use, and cleared cookies etc between visits.
Ghostery claims to detect and block the Optimizely snippet by default, whereas ABP doesnt make any mention of blocking it (so i assume it doesn't).
Results as follows:
Clean Browser - Variation shown, 1 Visitor, 1 Goal
ABP - Variation shown, 1 Visitor, 1 Goal
ABP and Ghostery - Original shown, no visit recorded, no goal recorded
So basically it looks like it works fine, with the caveat that anyone with Ghostery or another equally stringent blocking tool wont be included in any optimizely-driven tests. Which is fine as far as i'm concerned, as at least this doesn't skew results.