Skip to content

Events

Custom events with properties, and history you can fix

Send custom events from JavaScript, HTML attributes or your server. Attach up to 30 typed properties, pivot on them, and clean up names later without losing data.

Typed properties

Strings, numbers and booleans. Numbers get sum, average, median and p90.

No-code tracking

Add a data attribute to a button or form and it's tracked. Outbound links, downloads and 404s can be captured automatically.

Rename and merge with history

Fix a typo once and it's fixed everywhere, including past data. Merge two events into one.

Three ways to send events

Call privatus.track('signup', { plan: 'pro' }) in JavaScript, add HTML attributes to elements, or post batches to the server-side ingest API from your backend.

The PII scrubber runs on every value

Email addresses, long numbers, tokens and similar values are replaced with placeholders before anything is stored. A per-site counter shows how often it happened, so you can fix the source.

An explorer for your events

See every event with completions, visits and conversion rate. Pivot on up to three properties and export the table.

Questions and answers

Do events count toward my plan?

Yes, each custom event counts as one event, like a pageview. Engagement pings, Web Vitals and API calls don't count.

Can I send events from my server?

Yes, with the server-side ingest API on every plan. IP and user agent, if you pass them, are handled in memory exactly as in the browser.

Start measuring without cookies

No cookies, no fingerprinting and no consent banner needed for measurement.

The free plan includes 10k events a month, 10 sites, 3 team members and 6 months of history. No card required.