All questions

Ad blockers are blocking Croct requests, how do I keep evaluation working?

Asked by valserra on

Vvalserra

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_CLIENT

Looks like an EasyList rule. How are people routing around this, is there a supported setup or does everyone just accept losing those users

Was this helpful?

1 answer

JWJonas Weber

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.

Was this helpful?
Vvalserra

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.

Still have questions?