The best analytics tool.

Track revenue, users, errors and much more.

Free up to 10k pageviews a month. No card.

script, gzipped
< 3 KB
cookies, so no consent banner
0
recent errors kept per site
100
proxy recipes, Next.js to Nginx
5

Set up in a minute

The proxy is optional. It's also how you catch the visitors other tools miss.

  1. Step 1
    Add the script
    Paste it into your <head>. Pageviews and errors start coming in.
    index.html
    <script
      defer
      data-website-id="your-site-id"
      src="https://usedatasense.com/js/script.js"
    ></script>
  2. Step 2
    Serve it from your domain
    Two rewrites, and ad blockers see a first-party request.
    next.config.ts
    { source: "/_ds/js/script.js", destination: "https://usedatasense.com/js/script.js" }
    { source: "/_ds/api/e", destination: "https://usedatasense.com/api/e" }
  3. Step 3
    Watch, track, export
    Visitors show up in about a second. Goals are one line of code.
    anywhere in your app
    window.datasense("signup", { plan: "pro" })
    
    <button data-ds-goal="checkout">Buy</button>

What page-view counters miss

The basics are covered. These are the parts you'll actually use.

Live visitors37 online
Realtime

Realtime, to the second

Who's online, what they're reading, and where they came from.

Console errors87 of 100 kept
Errors

Your last 100 console errors

Crashes, failed assets and console.error from real browsers, grouped by page.

events.csv CSV JSON
Export

Export everything

Raw events or errors for any date range, as CSV or JSON.

Same request, two routes
Proxy

A proxy ad blockers don't stop

Requests come from your own domain, so uBlock, Brave and private windows still count.

  • Goals & custom eventsOne function call or a data attribute.
  • Sources & UTMReferrers and campaigns, attributed per session.
  • Cookieless by designDaily-rotating hashes. No raw IPs stored.
  • FeatherweightUnder 3 KB. Never blocks render.

Count the visitors other tools can't see

Ad blockers drop requests to known analytics domains. Serve the script from your own domain and there's nothing to block.

  • Works with uBlock Origin, Brave, Safari private and Firefox strict mode
  • Pick your own path, so filter lists can't guess it
  • Recipes for Next.js, Vercel, Netlify, Cloudflare and Nginx
Pick your stack
Your dashboard fills in your site ID.
next.config.ts
// next.config.ts
import type { NextConfig } from "next"

const nextConfig: NextConfig = {
  async rewrites() {
    return [
      { source: "/_ds/js/script.js", destination: "https://usedatasense.com/js/script.js" },
      { source: "/_ds/api/e", destination: "https://usedatasense.com/api/e" },
    ]
  },
}

export default nextConfig
Then load the script from your own domain
<script
  defer
  data-website-id="your-site-id"
  src="/_ds/js/script.js"
></script>

Pay for pageviews. Every plan has errors and realtime.

Hobby
For side projects and personal sites.
$0forever
  • 10k pageviews / month
  • 1 site
  • Realtime & last 100 errors
  • CSV export
Pro
Most picked
For products with real traffic.
$9per month
  • 100k pageviews / month
  • 10 sites
  • First-party proxy
  • Goals & custom events
  • CSV & JSON export
Team
For teams that ship every day.
$29per month
  • 1M pageviews / month
  • Unlimited sites
  • Shared dashboards
  • Error alerts
  • Priority support

Short answers

Still curious? Try the live demo.

It answers fewer, better questions: who's here, where they came from, and what broke. No cookies means no consent banner, and the proxy brings back visitors ad blockers hide.

Your next visitor is loading a page right now.

Add one script tag and watch them arrive: where they came from, what they opened, and what broke.

Free up to 10k pageviews a month. No card.