Neomanex Logo
FoundationInternal

Internal at Neomanex — commercialisation deferred

Analytics that ad blockers can't touch.

NeoAnalytics is a Nuxt module and ingestion API that tracks events server-side — where ad blockers, spoofed headers, and lost beacons can't reach. SSR page visits, SPA navigations, and custom events flow through a single pipeline, linked by correlation IDs across the full session lifecycle.

FoundationInternal

At a glance

Privacy-first analytics for AI-powered applications

Status
Internal — commercialisation deferred
Built for
Frontend engineers and platform teams building Nuxt applications that need accurate, privacy-respecting analytics
analyticsserver-sidenuxtprivacy-firstinternal

Why it matters

Positioning pillars

  • Server-side first

    Data accuracy is architectural.

    The SSR middleware captures every page visit before the browser renders. Browser events route through a Nitro server proxy that injects real HTTP context — IP, user agent, referrer — from headers that cannot be spoofed client-side. The analytics API URL never touches the browser. Data accuracy is an architectural guarantee, not a best-effort hope.

  • Zero-config Nuxt integration

    Two options. Tracking starts.

    Add the module to nuxt.config.ts, set two options (apiUrl, source), and tracking starts. page.visit, page.view, session.start, and page.leave fire automatically — no manual instrumentation required. For custom events, the useAnalytics() composable exposes a single track() function. The module handles correlation IDs, proxy routing, retry queues, and sendBeacon teardown without configuration.

  • Full-stack correlation

    One session timeline, end to end.

    Every SSR render generates a correlation ID injected into the HTML via a meta tag. The browser plugin reads it and tags all client events with the same ID. The result: a single session timeline that spans server-rendered page visits, SPA route changes, custom UI interactions, and tab-close events — linked end-to-end without cookies or fingerprinting.

The mechanics

How it works

  1. Step 1

    SSR middleware tracking

    The Nuxt server middleware fires a page.visit event on every SSR render — before the browser loads any scripts. Ad blockers, disabled JavaScript, and bot traffic are all captured accurately at the server layer.

  2. Step 2

    Secure proxy forwarding

    Browser events route through a same-origin /api/_analytics proxy, not an external analytics endpoint. The proxy injects real HTTP headers (IP, user agent, referrer) that cannot be spoofed client-side. Ad blockers see a first-party request, not a tracking domain.

  3. Step 3

    Automatic events

    Four events fire out of the box: page.visit (server-side, every SSR render), page.view (client-side, SPA route changes), session.start (first page view per session), and page.leave (tab close via sendBeacon). Custom events use the useAnalytics() composable — one function call.

  4. Step 4

    Correlation IDs

    Every SSR render generates a UUID stored in a <meta x-correlation-id> tag. The browser plugin reads the tag and attaches the ID to every client event. The analytics API groups events by correlation ID — a unified timeline of server and browser activity per page render, no cookies required.

Neomanex internal analytics

NeoAnalytics powers analytics across every Neomanex product — neomanex.com, Gnosari, and the rest of the portfolio. The SSR middleware and secure proxy run in production, tracking page visits and custom events with full correlation-ID linking. Internal since 2025; load-bearing for the entire analytics pipeline.

The contrast

How we compare

  • Them

    Google Analytics — client-side tag that ad blockers routinely strip

    Us

    Server-side SSR middleware captures every visit before the browser loads. No third-party domain, no data sharing, no sampling.

  • Them

    Plausible / Fathom — privacy-focused but no SSR integration

    Us

    Built for Nuxt SSR. The server middleware fires before hydration; the proxy enriches browser events with real HTTP context. Privacy by architecture, not by script placement.

  • Them

    Build your own analytics pipeline

    Us

    One Nuxt module, two config options, four automatic events. Correlation IDs, proxy routing, retry queues, and sendBeacon teardown — zero instrumentation needed.

  • Them

    Raw event logging — firehose without structure

    Us

    Structured events with correlation IDs that stitch server and client into a single session timeline. Queryable, attributable, and linked end-to-end.

The ecosystem

Fits into the portfolio

Uses under the hood

Questions, answered

Frequently asked questions

See how we're using it inside Neomanex.