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.
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.
Web Vitals give you p75. Not Jane's session.
Averages hide the users who had a terrible time. You need the individual story.
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.
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.
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?
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?
019cec87–8648…
019cec87–873d…
019cec87–873d…
019cec87-873d-7616-8a85-41f3dce61e12
What did this specific visitor experience, step by step?
/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 here768ms
Skeleton visible. Data still loading.
1268ms
Long task detected (85ms)
1.66s
Page actually usable
Witnes measures thisFor 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.
// 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.
Simple, transparent pricing
Start with our free tier. No credit card required. Upgrade anytime for more capacity.
Starter
For individuals getting started
5k page loads
- 2 team members
- 1 project
- 2 years data retention
- Traffic Analytics
- Performance Analytics
- Visit Diagnostics
Growth
For small teams with session diagnostics
25k page loads
- 3 team members
- 5 projects
- 2 years data retention
- Traffic Analytics
- Performance Analytics
- Visit Diagnostics
Business
For growing teams with higher volume
100k page loads
- 6 team members
- 10 projects
- 4 years data retention
- Traffic Analytics
- Performance Analytics
- Visit Diagnostics
- Priority support
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"?
Do I need to be a developer to understand the dashboard?
How is this different from session replay tools like Hotjar?
For Developers
What is the actual performance impact of the tracker?
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?
Does Witnes support Single Page Applications (React, Vue, Next.js)?
Privacy & Compliance
Do I need a consent banner with Witnes?
Where is my data stored and who can access it?
Switching & Comparisons
How is Witnes different from Google Analytics?
How is Witnes different from tools like Hotjar or LogRocket?
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.