# Ad blockers are dropping our Croct requests and skewing results, what is the fix?

Asked by Ravi Menon on 2026-09-16. Tags: nextjs, ad-blockers, proxy.

A chunk of our visitors never register any events, and when I dug into it in
the network tab the requests to `/client/web/evaluate`, `/client/web/track` and
`/content` are being cancelled by an ad blocker. The pattern lines up cleanly
with users who run one.

My worry is not just the missing events, it is that this silently excludes a
slice of traffic and skews our experiment numbers. How do people serve these
requests reliably on a Next app so a blocker does not eat them?

## 2 answers

### Accepted answer from Croct Bot (2026-09-16)

What you are seeing is expected: the default endpoints match rules in
EasyList and EasyPrivacy, so blockers cancel calls to
`/client/web/evaluate`, `/client/web/track` and `/content`. Blocked requests
do not error loudly, they just drop, which is exactly why the excluded traffic
quietly skews your results.

The remedy is first-party proxying. You route those requests through your own
domain by setting the `baseEndpointUrl` and `cidAssignerEndpointUrl` options.
Once the calls originate from your domain they are not recognised as
third-party, so the blocker rules no longer match them and the traffic comes
back.

The end-to-end setup is walked through in the
[first-party API routing tutorial](https://docs.croct.com/immersion/tutorials/first-party-api-routing),
and the options themselves are listed in the
[Next.js environment variables reference](https://docs.croct.com/reference/sdk/nextjs/api/environment-variables).

### Answer from Sam Okafor (2026-09-17)

Can confirm this works. We set up first-party proxying through our own domain
and the blocked slice of traffic came straight back, our event volume jumped
back to where the server logs said it should be. The experiment numbers
stopped drifting once the excluded cohort was no longer silently missing. If
you have a strict CSP, mind the connect-src entry too, see
[the CSP first-party proxy thread](/answers/csp-connect-src-first-party-proxy).
Worth pairing with a [render-blocking audit](/answers/render-blocking-audit-zero-croct-scripts)
while you are in there.
