1 snippetno cookiesGDPR by default< 2 kb

See what's working.
Ship what matters.

Statjot is product analytics for founders who don't have time for dashboards that don't ship with them. One snippet. No cookies. No analyst required.

index.html — the entire install
<!-- Step 1: add to <head> -->
<script src="https://statjot.com/track.js" defer></script>

<!-- Step 2: init -->
<script>
  analytics.init('pk_your_key_here')
</script>

<!-- That's it. -->
Used by founders shipping at
beforeitbills.comshiptrack.iocrafter.soformbase.devpricehawk.appnoteplan.co

What you get

Answers, not options.

Most analytics tools are built for marketing teams. Statjot is built for you — the person who writes the code, ships the feature, and needs to know if it worked.

Traffic at a glance

See which pages, referrers, and campaigns are actually driving growth. Period-over-period comparison so you always know if this week is better than last week.

Custom events in one line

Track signups, upgrades, and any interaction you care about. analytics.track('upgraded') — that's it. No schema, no config, no setup.

Trend before it's a problem

7-day, 30-day, and 90-day windows with automatic comparison to the previous period. Spot a drop the day it happens, not when a user complains.

Private by design, not by policy

No cookies. No localStorage. No IP storage. No fingerprinting. GDPR, CCPA, and PECR compliant by default — not because we checked a box, but because we never collect the data in the first place.

Setup

Running in 60 seconds.

No npm package. No build step. No account for your account. Three steps and you're tracking.

1

Paste two lines

Drop the snippet into your <head>. Works on any stack — static HTML, Next.js, Webflow, Framer, whatever.

<script src="…/track.js" defer></script>
<script>
  analytics.init('pk_…')
</script>
2

Events flow in

Pageviews track automatically. For custom events call analytics.track() anywhere in your JS.

// one line per event
analytics.track('signed_up', {
  plan: 'indie',
})

analytics.track('upgraded')
3

See it live

Open your dashboard. Your first pageview lands within seconds. No waiting, no webhooks to configure.

Live nowreceiving events

Pageviews

1,284

↑ 18% vs last period

Visitors

743

↑ 12% vs last period

Pricing

Pay for what you use.

No seat fees. No feature gates. Every plan includes everything — it only scales on event volume.

Free

$0/mo
  • 3,000 events / month
  • 1 site
  • Pageviews + custom events
  • 7 / 30 / 90-day ranges
Get started free
Most popular

Indie

$9/mo
  • 100,000 events / month
  • 3 sites
  • Everything in Free
  • Weekly email reports
Start with Indie

Builder

$19/mo
  • 500,000 events / month
  • 10 sites
  • Everything in Indie
  • CSV export
Start with Builder

Studio

$49/mo
  • 5,000,000 events / month
  • Unlimited sites
  • Everything in Builder
  • Priority support
Start with Studio

All plans include: no cookies, no PII, GDPR compliant, unlimited team members, and full data ownership.

What founders say

From founders. Not marketing.

"I switched from Plausible. Statjot has everything I actually check and nothing I don't. Onboarding was one copy-paste. I was looking at data in under a minute."

M

Marcus Albrecht

@mkedev · founder of Sidetrack

"Finally, analytics that doesn't make me feel like I'm working for a marketing agency. I see what I need in 10 seconds and get back to building."

V

Vera Ström

@vera_builds · indie maker

"Set it up on my SaaS in under a minute. No GDPR cookie banner needed anywhere. That alone saved me a weekend of compliance work."

J

Jakob Müllerova

@jakobfm · indie developer

Common questions

FAQ

How is Statjot different from Google Analytics?

Google Analytics is built for marketing teams and ad networks. Statjot is built for founders. No data sharing, no ad profiles, no 50-tab dashboard to configure. Just the numbers you actually care about. It also requires no cookie consent banner because we collect no personal data.

Is Statjot really GDPR compliant without a cookie banner?

Yes. We never store cookies, IP addresses, or any personally identifiable information. Session IDs are generated in-memory and scoped to the browser tab — they reset on every new tab. There's no cross-site tracking and no data we could hand over even if asked.

What counts as an "event"?

Every pageview is one event. Every analytics.track() call is one event. No double-counting, no session overhead, no hidden event types.

Can I track custom events and properties?

Yes. Call analytics.track('event_name', { key: 'value' }) anywhere in your JS. Properties support strings, numbers, and booleans. No schema definition required.

Do you store IP addresses?

No. We read the IP only to derive the country code, then discard it immediately — it is never written to a database. Country is the only geographic dimension we store.

What happens when I hit my monthly limit?

We stop recording new events for that billing period. Your existing data stays intact and your dashboard stays accessible. You'll see a warning at 80% of your limit so you have time to upgrade.

Can I use Statjot on multiple sites?

Yes. Free gets 1 site, Indie gets 3, Builder gets 10, Studio is unlimited. Each site gets its own public key and isolated data — events never bleed across sites.

Ready?

Stop guessing.
Start knowing.

Add the snippet, see your first pageview in under a minute. Free plan ships with everything you need to validate your idea.

Free forever on the free plan. No credit card. Cancel any paid plan anytime.