squirrelscan
GitHub

EasyPrivacy matches: analytics that silently does not run

Privacy filters block trackers by default in several browsers, so your analytics quietly under-counts. squirrel reports which resources they block.

What privacy filtering blocks

EasyPrivacy is the tracker list, separate from the advertising one. Blocking it is not a niche setting: uBlock Origin uses it by default, Brave blocks equivalent hosts, and Firefox’s strict mode blocks a comparable set.

The effect on your measurement is silent, even though the browser is not. A blocked script can raise an error event and show up in developer tools, but nothing reaches the analytics dashboard, so those visitors are absent from the numbers with no gap to notice. That skews the data most where your audience is most technical, which is often the audience you most want to understand.

What squirrel checks

The rule is site-wide and reads a result the cloud blocklist service produced before the rules ran, matched server-side against the full EasyPrivacy rules. It emits a single check named privacy-blocked:

  • Skipped when no result is available. Message: Privacy filter check skipped, with a readable skip reason.
  • Pass when nothing matched. Message: No resources match EasyPrivacy tracking filters.
  • Warn otherwise. Message: 6 resource(s) would be blocked by privacy filters (EasyPrivacy), listing up to maxMatchesToReport of them. Severity warning, weight 2.

The three blocking rules share one blocklist check per audit.

How to fix it

Move measurement first-party or server-side, so it is a request to your own domain rather than to a host on the list. That may reduce blocking rather than end it: filters can match a first-party endpoint, and forwarding server-side cannot recover an event whose browser request was blocked. Privacy-focused analytics products are built for this and are usually a smaller change than proxying an existing tool.

Whatever you do, treat the numbers you already have as an undercount rather than as the truth.

Rule IDadblock/privacy-blocked
CategoryBlocking → Privacy blocking
ScopeSite-wide
Severitywarning
Weight2/10

Options

OptionTypeDefaultDescription
maxMatchesToReportnumber10Maximum privacy-blocked matches to report in detail

Configuration example

[rule_options."adblock/privacy-blocked"]
maxMatchesToReport = 25

Enable / disable

Disable this rule

[rules]
disable = ["adblock/privacy-blocked"]

Disable all blocking rules

[rules]
disable = ["adblock/*"]

Enable only this rule

[rules]
enable = ["adblock/privacy-blocked"]
disable = ["*"]

Blocking findings ship in every audit next to the SEO, performance and agent experience rules. See Fix SEO issues with AI for how an agent works through a report.

References

Check your site

Run squirrel audit https://example.com and open the Blocking section of the report. Each blocked tracker is listed, up to the configured maximum. Local audits are free.

Type to search…

↑↓ navigate openesc close