Skip to main content

Documentation Index

Fetch the complete documentation index at: https://revlytics.co/docs/llms.txt

Use this file to discover all available pages before exploring further.

How it works

Revlytics automatically tracks pageviews when the script loads. No configuration is needed. Every pageview event captures:
FieldDescription
urlFull page URL
pathURL path (e.g., /pricing)
hostnameDomain name
titlePage title
referrerReferring URL
utm_source, utm_medium, etc.UTM campaign parameters
screenScreen dimensions, viewport, pixel ratio
languageBrowser language
is_entryWhether this is the first page in the session

SPA navigation

For single-page applications, Revlytics listens for:
  • pushState — triggered by client-side routers
  • replaceState — triggered by URL updates without navigation
  • popstate — triggered by browser back/forward buttons
  • hashchange — triggered by hash-based routing (e.g., #/about)
This means frameworks like Next.js, React Router, Vue Router, and SvelteKit work automatically.

Hash-based routing

If your app uses hash-based routing (e.g., example.com/#/about), Revlytics treats #/about as path /about. This is detected automatically.

Pageview deduplication

Same-URL pageviews are deduplicated within a 1-minute window. If a user navigates to the same URL multiple times in quick succession, only the first pageview is sent.

Page duration

When a user leaves a page (navigates away or closes the tab), a pageleave event is sent with the time spent on that page in milliseconds. This uses navigator.sendBeacon for reliable delivery even on tab close.

Entry pages

The first pageview in a session is marked with is_entry: true. This lets the dashboard show which pages visitors land on most frequently.