Page view tracking fires on navigation
Why it matters
Single-page applications do not issue new HTTP requests on navigation, so analytics SDKs see exactly one pageview per session — the landing page. Every subsequent route the user visits is invisible. Funnel analysis breaks: you cannot tell which internal pages drive conversion, which articles users read, or where they drop off. Bounce rate looks artificially perfect because no second pageview ever fires. This is the most common analytics failure mode in Next.js, Remix, and SvelteKit apps.
Severity rationale
High because missing route-change tracking silently discards the majority of pageview data in any SPA.
Remediation
Fire a pageview event on every client-side route change. In Next.js App Router, create components/analytics-provider.tsx with usePathname() and useSearchParams() inside a useEffect that calls your SDK's pageview function whenever either value changes. Mount the provider inside a <Suspense> boundary in app/layout.tsx. For Pages Router, attach router.events.on('routeChangeComplete', ...) in _app.tsx.
DetectionPro
The detection method for this pattern is part of AuditBuffet Pro.
The full method (what to look for, pass and fail conditions, and how results get reported) ships inside the Analytics & Tracking Audit. The pattern definition, severity rationale, and remediation remain openly licensed under CC-BY-4.0.
Taxons
History
- 2026-04-18·v1.0.0·Initial import from marketing-analytics·automated