Every visit. Every detail. No guessing.

See what every user actually experienced — not just the average.

Witnes connects traffic, performance, and individual sessions in one place. Know where users came from, what slowed them down, and exactly what happened on their screen. No cookies. No compromises.

Privacy-first No cookies EU-based GDPR-ready

Why teams switch to Witnes

You know how many users visited. You don't know how any of them felt.

Traffic numbers without the experience behind them aren't insight — they're noise.

Traffic
Web Vitals give you p75. Not Jane's session.

Averages hide the users who had a terrible time. You need the individual story.

Performance
Most tools stop when the spinner stops. We don't.

Pages that load in stages? We wait for all of it — until the page is actually usable.

Visitor

How It Works

From first click
to full picture.

Three layers. One tool. Always connected.

01

Traffic

Where did they come from? Channel, country, device — tracked without a single cookie.

Direct · Organic · Referral · Germany · Edge · Chrome

02

Performance

What did they experience? Load times, long tasks, layout shifts — per route, per org.

Measures until actually usable — not just when it looks like it

03

Visitor

What happened for that specific person? Every navigation, every load, in order.

Search by user ID · Full session timeline · Exact sequence

Three Levels of Zoom

From your whole customer
to a single page load.

Click any org. Drill into any route. Go all the way to one visit.

Org · 019cec87-8524-7347-a5f1-98f9603ca4bd

How is this entire customer experiencing your product?

Org level

All routes. All sessions. One customer's full picture — p50, p95, and every visit graded Good, NI, or Bad.

Sessions

46

Good

100%

p50

433ms

p95

471ms

/authenticate/login

How is this specific route performing for them?

Route level

019cec87–8648…

Good 9.51s

019cec87–873d…

Good 1.66s

019cec87–873d…

Good 768ms

019cec87-873d-7616-8a85-41f3dce61e12

What did this specific visitor experience, step by step?

Visit level

/authenticate/login

365ms

/dashboard

346ms

/dashboard/visitors

2.2s

Our Differentiator

Most tools stop when the spinner stops.
We don't.

Pages that load in stages? We wait for all of it — deferred data, SPA transitions, API calls — until the page is genuinely usable. Because that's what your users feel.

0ms

Navigation started

192ms

First Contentful Paint

Others stop here

768ms

Skeleton visible. Data still loading.

1268ms

Long task detected (85ms)

1.66s

Page actually usable

Witnes measures this

For Your Whole Team

One product. Three teams get value from day one.

Founder / PM

“Is the product fast enough to keep users?”

See traffic trends, org-level performance health, and how new features affect load times — without asking engineering.

Engineer

“Where exactly is the bottleneck?”

p50, p95, long tasks, network waterfalls — down to the specific route and specific visit that had the issue.

Customer Support

“I just need to see what happened for this user.”

Search by user ID. See their full session timeline. Reproduce the exact sequence that led to their complaint.

For Developers

Two lines of code. Zero config.

Drop in our lightweight JS snippet and call identify() when a user logs in. That's it. We handle the rest — page loads, SPA transitions, API waterfalls, and Web Vitals.

app.js / app.ts index.html
// 1. Add the snippet to your <head>
<script>
  window.witnesConfig = { projectKey: 'YOUR_PROJECT_KEY' };
  window.Witnes = { _q: [], identify: function() { this._q.push(Array.from(arguments)); } };
</script>
<script src="https://cdn.witnes.io/w.min.js" async></script>

// 2. Identify the user anywhere in your code
window.Witnes.identify("user-4821");

// 👈 For more options, check our guide.

Privacy by Design

Your data stays in the EU. Period.

We collect only performance metrics — never personal data. No cookies, no IP storage, no third-party trackers. Just the diagnostics your CS team needs.

Hosted in the EU

All data is stored on Hetzner servers in Germany. Nothing leaves the European Union.

Zero cookies

No cookies, no fingerprinting, no cross-site tracking. We don't need them.

Non-identifiable data

We use daily rotating salt hashes. IP addresses are never stored. You can't trace a visit back to a person.

Never shared

Your data is yours. We never sell, share, or give it to third parties. Period.

Pricing

Simple, transparent pricing

Start with our free tier. No credit card required. Upgrade anytime for more capacity.

Starter

For individuals getting started

Free

5k page loads

Features
  • 2 team members
  • 1 project
  • 2 years data retention
  • Traffic Analytics
  • Performance Analytics
  • Visit Diagnostics
Most Popular

Growth

For small teams with session diagnostics

€29 /month

25k page loads

Features
  • 3 team members
  • 5 projects
  • 2 years data retention
  • Traffic Analytics
  • Performance Analytics
  • Visit Diagnostics

Business

For growing teams with higher volume

€80 /month

100k page loads

Features
  • 6 team members
  • 10 projects
  • 4 years data retention
  • Traffic Analytics
  • Performance Analytics
  • Visit Diagnostics
  • Priority support
Enterprise

Need more?

Custom plans for larger teams with advanced features, dedicated support, and flexible pricing.

Got questions?

Frequently asked questions

Everything you need to know about Witnes, whether you're in support or engineering.

For Support & CS Teams

How does Witnes help when a user says "the site is slow"?
It replaces the "guessing game" with a Session Receipt. Instead of asking the user for screenshots or their internet speed, you simply look up their ID in Witnes. You'll see an up to 30-day chronological history that proves if the lag was caused by their local Wi-Fi, a slow response from your server (API), or a frontend render issue.
Do I need to be a developer to understand the dashboard?
No. While we capture deep technical data, we translate it for your Support team. We clearly label bottlenecks as "Slow Wi-Fi," "API Latency," or "Frontend Render" so anyone can identify the root cause of a ticket in seconds without escalating to engineering.
How is this different from session replay tools like Hotjar?
Most tools show you what the user did (video); Witnes shows you why the site failed them (data). We are a lightweight diagnostic tool focused on the technical evidence — network waterfalls, API timings, and device health — rather than just a video of a mouse moving.

For Developers

What is the actual performance impact of the tracker?
Negligible. The w.min.js script is under 5kb and loads asynchronously. We use the PerformanceObserver API for passive monitoring and navigator.sendBeacon to transmit data. This ensures we capture every detail without ever blocking the main thread or impacting your Core Web Vitals. See Security & Trust for the technical privacy and transport model.
How do you distinguish between Network, API, and Frontend lag?
We pull raw data from the Resource Timing API for every interaction. By calculating the delta between requestStart and responseStart, we isolate TTFB (Server processing). We then compare this to the user's effective bandwidth and RTT to determine if the bottleneck is the user's connection or your infrastructure.
Does Witnes support Single Page Applications (React, Vue, Next.js)?
Yes, automatically. We intercept the browser's History API (pushState and replaceState). When a user navigates between "pages" in an SPA, Witnes detects the route change and captures a new performance snapshot after a brief "settle" period, ensuring soft-navigations are tracked just as accurately as full page loads.

Privacy & Compliance

Do I need a consent banner with Witnes?
No. Witnes does not use cookies, fingerprinting, or any form of cross-site tracking. We collect only performance metrics — no personal data is stored. Because we operate without cookies and don't process personal data under GDPR's definition, no consent banner is required. You get full analytics coverage without interrupting your users.
Where is my data stored and who can access it?
All data is stored exclusively on servers in Germany — it never leaves the European Union. We use daily rotating salt hashes so IP addresses are never stored in any identifiable form. Your data is yours. We never sell it, share it, or give access to third parties. Ever. You can read the full technical breakdown on our Security & Trust page.

Switching & Comparisons

How is Witnes different from Google Analytics?
Think of Witnes as GA with privacy built in from the ground up — plus performance analytics on top. You get the same traffic picture: page loads, unique visitors, channels, geography, devices, and campaigns. No cookies, no consent banner, no GDPR headaches. And unlike GA, every visit is connected to real performance data — load times, long tasks, and individual session diagnostics. So you don't just know someone visited, you know what they experienced when they got there. Our traffic analytics are currently in Beta and growing fast — but if you've been flying blind since dropping GA, this is your replacement.
How is Witnes different from tools like Hotjar or LogRocket?
Hotjar and LogRocket are great tools — they show you what users did through session replay and interaction tracking. Witnes focuses on a different question: not what they did, but what they experienced technically. Instead of recording screens, we capture the full performance evidence — network waterfalls, real load times, SPA transitions, long tasks, and individual session timelines. And because traffic, performance, and visitor diagnostics are all connected in one place, you get the complete picture without stitching together multiple tools. No screen recording, no cookie consent, no personal data stored. Just the technical story of every visit.

Get started today

Set up in minutes. Know your users by end of day.

One script tag. No backend changes. Works with any framework including React, Next.js, and Vue. Hosted in the EU.

Privacy-first No cookies EU-based GDPR-ready