Snorklee Analytics

Snorklee Analytics

Details
View on WordPress

Snorklee Analytics is the official WordPress plugin for Snorklee — a privacy-first, 100% EU-sovereign web analytics service. The plugin auto-injects a single <script> tag on every public page of your site, with two modes :

Standard mode (3rd-party)

The classic snippet : <script defer src="https://snorklee.com/w.js" data-site="yoursite.com"></script>. Simple, lightweight, no server-side load. Drawback : Chrome 121+ in incognito mode and ad-blockers (uBlock Origin, Brave Shields, AdGuard) block requests to third-party “analytics” domains by default. Depending on your audience, 5 to 20 % of sessions silently disappear.

Self-host mode (1st-party — built-in proxy)

The killer feature. With one toggle, the plugin :

  1. Serves the tracker JS from your own domain via a WordPress route (/js/flow.js)
  2. Proxies all events (/api/event, /api/ping, /api/zone, /api/click) through WordPress to snorklee.com
  3. Caches the tracker JS for 1 hour using the WordPress Transients API (no extra DB load)
  4. Forwards X-Forwarded-For so snorklee.com sees the visitor’s real IP for geolocation

The visitor’s browser sees only 1st-party requests to your own domain. uBlock, Brave, AdGuard and Chrome’s Tracking Protection have nothing to filter. No DNS configuration. No Nginx tweak. No cPanel access required. Works on every WordPress hosting, including OVH/IONOS/Infomaniak shared plans.

Privacy by construction

  • No cookie set on the visitor’s browser
  • No persistent identifier (visitor hash rotates daily, salt rotates monthly)
  • No cross-site tracking (each site has an isolated identifier space)
  • No advertising classification (no UTM parsing, no paid/organic split)
  • Honors Do Not Track, Sec-GPC, and a localStorage opt-out flag
  • Designed so that the ePrivacy consent requirement (article 5(3)) is not triggered : nothing is stored on or read from the visitor’s device — documented in the Snorklee compliance dossier

What the plugin does NOT do

  • No phone-home from PHP for visitor tracking in standard mode (everything happens client-side) — the only server-side call is the optional AI-crawler beacon described under “External services”, disabled with one toggle
  • No tracking pixel injected by the plugin itself
  • No data collection beyond what the standard Snorklee JS tracker does
  • No third-party scripts loaded
  • No SQL table created (the plugin only stores 3 options : domain, dashboard URL, self-host toggle)
  • No personal data stored on your WordPress server (in self-host mode, events transit through but are not logged)

Why use the plugin instead of pasting the snippet manually

  • Survives theme updates (the snippet sits in plugin code, not in header.php)
  • Settings page with built-in installation test (HTTP probe on home page)
  • Self-host mode in one click (impossible without writing PHP yourself)
  • Multisite-compatible
  • Clean uninstall : no leftover options, no SQL tables, no transient
  • MIT-licensed source code under 600 lines, fully auditable

External services

This plugin connects to the Snorklee analytics service (https://snorklee.com), which is what it exists for. Three kinds of requests are involved :

  1. Visitor tracking (standard mode) : the visitor’s browser loads the tracker from snorklee.com/w.js and sends pageview events to snorklee.com/api/event. Data sent : page path (query string stripped), referrer, viewport size, user agent. The visitor’s IP is used transiently for country/region geolocation and is never stored. No cookies, no persistent identifier.
  2. Visitor tracking (self-host mode) : same data, but the requests transit through your own WordPress site, which forwards them server-side to snorklee.com.
  3. AI-crawler beacon (server-side, optional, on by default) : when a known AI crawler (GPTBot, ClaudeBot, PerplexityBot…) requests a page, the plugin reports that crawl server-to-server to snorklee.com/api/event (crawler user agent + page path, query string stripped). This concerns bot traffic only, never your human visitors. One toggle on the settings page disables it.

Service provider : Snorklee (France). Terms : https://snorklee.com/docs/en/gdpr · Privacy : https://snorklee.com/en/privacy-compliance · Data collected : https://snorklee.com/docs/en/data-collected

Details

Plugin code:
snorklee-analytics
Plugin version:
2.3.4
Author:
Outdated:
No
WP version:
5.0 or higher
PHP version:
7.4 or higher
Test up to WP version:
7.0
Total installations:
0
Last updated:
2026-06-15
Rating:
Times rated:
0
analytics
gdpr
no-cookies
privacy
statistics