Overview
Supapulse is privacy-first web analytics with revenue attribution. No cookies, no consent banner, one small script.
Supapulse counts pageviews, custom events and revenue for your sites. It identifies visitors with a hash built on the server instead of a cookie, so the tracker stores nothing in the browser. Revenue from Stripe, Paddle or any other payment processor is credited to the visit that first brought the customer.
Quick start
Add a site, paste one script tag and see your first pageview.
@supapulse/core
The framework-agnostic tracker: pageviews, events and SPA support.
Revenue tracking
Send purchases and renewals from your payment webhooks.
@supapulse/react
A provider and hooks for React, safe to render on the server.
How it works
The tracker sends each pageview and event to POST /api/ingest with your site's public token. A queue worker builds a visitor hash from the IP address, the user agent, the site and a per-site salt, looks up the country, and stores the record without the IP address.
Cookieless by design.
The salt rotates every 24 hours by default. You can choose 24 hours, 3 days, 7 days, 14 days or 30 days per site, or rotate it by hand. After a rotation a returning visitor counts as new, and the old hash can't be linked to the new one.
Revenue comes from Stripe's webhook or from your server with the site's secret token. You identify customers in the browser, and revenue reports credit each payment to the visit that first brought the customer. Revenue tracking explains the flow.
Pick your framework
Next.js
App Router and Pages Router.
Remix
Client-side transitions are tracked automatically.
React Router
Works with data routers and declarative routes.
HTML
One script tag, any site.
Popular pages
Questions the docs don't answer go to support@supapulse.app.