Ad blockers are blocking Croct requests, how do I keep evaluation working?
Seeing this in devtools with uBlock enabled:
api.croct.io/client/web/evaluate net::ERR_BLOCKED_BY_CLIENTapi.croct.io/client/web/track net::ERR_BLOCKED_BY_CLIENTLooks like an EasyList rule. How are people routing around this, is there a supported setup or does everyone just accept losing those users
1 answer
EasyList and EasyPrivacy block /client/web/evaluate, /client/web/track, and /content when they are called on the vendor domain, so what you are seeing is expected with uBlock defaults.
The supported remedy is first-party proxying. The plug accepts baseEndpointUrl and cidAssignerEndpointUrl options, so you point both at your own domain and proxy the requests server-side to Croct. Filter lists match the vendor host, not your origin, so the requests go through.
Also worth knowing: if you fetch content server-side with fetchContent, ad blockers are irrelevant for that path entirely, since the requests originate from your server and never touch the browser.
Do not just accept losing those users, by the way. It is not only lost personalization: blocked users silently drop out of experiments, which skews your traffic and can bias results toward the demographic that does not run blockers.
Set up the proxy behind /api/croct on our domain, requests pass with uBlock on now. Good point on the experiment skew, had not considered that.