"Which tool reports our authentication success rate?" sounds like a procurement question with one answer. In most enterprises it has six, one per category of tool already in the stack. Each of them reports something different under the same name.

Authentication Analytics Whitepaper. Practical guidance, rollout patterns and KPIs for passkey programs.
That is why the numbers never match. Analytics says 94 percent, the identity provider says 98 percent, the support queue says something else entirely and every party is reading its own instrument correctly.
Section 2 pins the metric down tightly enough to hold a tool against it. Section 3 goes through the six categories one at a time and section 4 puts them side by side in a matrix. Section 5 turns all of that into five questions you can ask in a vendor demo, where two minutes of answers tell you more about the measurement point than any feature list.
The metric is simple: successful authentications divided by authentication attempts. The difficult part sits in the word "attempt".
Five things have to be true before a tool can report the rate honestly:
Hold each category against those five points.
The tools disagree because each one looks at a different part of the journey once it is installed and configured normally. Some categories can be extended past their own bar and section 4 covers what that costs:
One category per subsection, each held against the five points above. This is a buying view, not a data model. For how these sources are stitched together once you own several of them, the authentication analytics playbook covers that side.
Tools such as Adobe Analytics and Google Analytics 4 measure pages, screens and the events you send them and they are the right home for how a user reached the login and what the session produced afterwards. The limit is structural rather than a question of quality: they report what a tag sends them and a login that fails inside the browser sends nothing. Why Adobe Analytics cannot debug login failures works through the Adobe case, tracking logins in Google Analytics 4 the GA4 one.
Answers: traffic to the login, conversion after it, page-level drop-off. Misses: anything that fails without rendering, navigating or clicking.
Tools such as Amplitude and Mixpanel are event-first instead of page-first, which fits the problem better in principle. A well-instrumented login flow does produce a usable funnel here. The limit is the same one a level higher up: they only know the events your engineers defined. A cancelled Face ID prompt becomes an event only if somebody wrapped the authentication call. Once that is done, the hard part is already behind you.
Answers: funnels over the events you defined, cohorts, retention after signup. Misses: whatever was never instrumented, which is usually the failure path.
Tools such as Quantum Metric, Glassbox, Contentsquare and FullStory reconstruct what the user experienced: rage clicks, struggle detection, form field friction, replay of the session. On a password form that works well. On a passkey login a replay rebuilds your page from what was in the document, while the passkey prompt, the autofill dropdown and the Face ID sheet are drawn by the browser and the operating system on top of it. The moment the login failed is the one frame the recording does not contain.
Answers: friction in your own form elements, hesitation, error messages you rendered. Misses: everything drawn outside the document, which is where authentication now happens.
Tools such as Datadog, New Relic and Sentry see the request, the error, the latency and the stack trace. If your login endpoint is slow or throwing, this is where you find out first. What they cover is the server side plus the JavaScript errors nobody caught. A user who dismisses a Face ID sheet does produce an error, usually NotAllowedError, but your own code catches it, so it never counts as unhandled. No request leaves the browser either. Seen from an APM tool, that login never happened.
Answers: availability, latency, server errors, unhandled client exceptions. Misses: user-side abandonment, which produces neither a request nor an error.
The dashboards inside Auth0, Okta, Microsoft Entra ID, Ping and similar platforms report what reached their API: authentications, failures by reason code, MFA challenges, risk decisions. That is authoritative for everything server side and it is the number your security team will quote. Two gaps remain. An attempt that never became a request is invisible and most failures on the user's device never become one. The reporting is also organised by tenant and policy instead of by step in the flow, so drop-off inside a multi-step login has to be pieced together from log lines.
Answers: what happened once the request arrived, by reason code. Misses: the attempt that never became a request and the shape of the funnel.
The youngest category, defined by where it measures: inside the login itself. It wraps the navigator.credentials calls, records what the browser was capable of beforehand, times the call, keeps the outcome and stitches the steps back together across devices. The same measurement point applies to the methods that have nothing to do with passkeys: a password submitted, a one-time code requested and then submitted or not, a step-up MFA challenge answered or abandoned. Each is a step with an entry, an exit and a duration, which is what makes a rate out of it. Its limits belong in the same paragraph. It knows nothing about your marketing attribution, it does not own page-level analytics and it cannot read a reason the browser refuses to give out, only work that reason out from the signals around the call. Corbado Observe sits in this category and authentication observability describes it in full.
Answers: attempts including the invisible ones, method breakdown, error attribution, per-user reconstruction. Misses: everything outside the authentication flow, deliberately.
Try passkeys in a live demo.
The six categories held against the five requirements above.
| Category | Attempt before outcome | Ceremony level | Method dimension | Failure reason | Cross-device journey |
|---|---|---|---|---|---|
| Web analytics | Only if hand-built | No | Only if sent | Only if sent | No |
| Product analytics | Only if hand-built | No | Only if sent | Only if sent | Partial |
| Session replay | No | No | No | No | No |
| APM and RUM | Server side only | No | Partial | Server side | No |
| Identity provider | Server side only | No | Yes | Server side | Partial |
| Authentication observability | Yes | Yes | Yes | Reconstructed | Yes |
"Only if hand-built" carries a lot of weight in that table. The first two rows can technically get there. It takes a JavaScript layer around every authentication call, rules in the tag manager, a schema, the configuration in the analytics tool and someone to maintain all of it whenever browser behaviour changes. That is a component your team owns, not a setting somebody enables.
These five sort the tools faster than any feature list, because they ask where the measurement happens.
Igor Gjorgjioski
Head of Digital Channels & Platform Enablement, VicRoads
We hit 80% mobile passkey activation across 5M+ users without replacing our IDP.
See how VicRoads scaled passkeys to 5M+ users, alongside their existing IDP.
Read the case studyNone of this is a replacement argument. Enterprises run several of these categories at once for good reasons. What matters is which category owns which question, not which one owns the stack.
| Question | Category |
|---|---|
| How did the user reach the login and what did the session produce? | Web analytics |
| Is the login endpoint healthy? | APM and RUM |
| What did the identity provider decide and why? | Identity provider |
| Where does the user struggle in our own form? | Session replay |
| Did the login itself succeed? If not, why? | Authentication observability |
Reconciling the analytics number with the identity provider number is the cheapest first step and it needs no new contract. Be precise about what it buys you. It exposes definition and population mismatches between the two systems and it exposes attempts the page saw that never reached the identity provider. It does not expose the failures that are missing from both counts. Those need an attempt recorded at the ceremony.
Only one row in the matrix above measures where the authentication happens. Corbado Observe is the authentication observability layer that fills it. It is a client-side integration next to the login you already run, it works with any identity provider and any authentication method and it sends UUID-only telemetry with no PII, so it adds a row to the stack instead of replacing one.
NotAllowedError broken down by call duration, by client capability and by what the user did next, on the error page.Everything else in your stack keeps its own column.
Every category on this list reports something real. They disagree because they measure at different points on the same journey. That disagreement is information rather than an error.
Decide which point you need before comparing feature lists. For how users arrive and what they do afterwards, web analytics already answers it. For whether the authentication itself worked and why it did not, the measurement has to sit inside the login. Only one category does that. The authentication analytics playbook has the metric definitions and passkey analytics covers the passkey-specific metrics in more depth.
Corbado is the Passkey Intelligence Platform for large-scale CIAM teams running consumer authentication. We help you see what IDP logs and generic analytics tools can't: where passkeys, passwords, OTP, social login and fallback journeys succeed, stall or fail, which devices and browsers create friction, and when an OS update silently breaks login. Two products: Corbado Observe layers process mining and observability across authentication journeys. Corbado Connect adds managed passkeys with analytics built in alongside your IDP. VicRoads runs passkeys for 5M+ users with Corbado (+80% passkey activation). Talk to a Passkey Expert →
Six categories touch the question. Web analytics and product analytics report a page-level or event-level version of it, digital experience and session replay tools show the interaction around it, application monitoring reports the server side, identity providers report what reached their API and authentication observability tools measure the ceremony in the browser. Only the last two see authentication directly and they see different halves of it.
Because they count in different places. Analytics counts what the page observed, the identity provider counts what reached its API. The two use different populations and definitions. That alone makes the reconciliation worth the afternoon. What the difference does not reveal is the failure that happened in between, such as a cancelled biometric prompt or a passkey ceremony that times out, because that failure is absent from both counts. It becomes visible only once an attempt is recorded at the ceremony itself, before the outcome is known.
Not for the client-side cases. Replay tools reconstruct the DOM, while the passkey prompt, the autofill dropdown and the biometric sheet are browser and operating system interface elements drawn outside the document. They never appear in a replay, so the moment the login actually failed is the one frame the recording does not contain.
It covers everything that reached the identity provider, which makes it authoritative for what happened server side. It cannot see an attempt that never produced a request. Most client-side authentication failures never produce one. It also reports per tenant instead of per funnel step, so drop-off inside a multi-step flow has to be reconstructed from log lines.
Ask where the attempt is counted, whether a cancelled passkey ceremony appears anywhere in the product, how errors are attributed when the browser returns a single opaque code, whether one user's login history can be reconstructed for a support ticket and what happens to a cross-device flow that finishes on another device. The answers separate page instrumentation from ceremony instrumentation quickly.
Subscribe to our Passkeys Substack for the latest news.
Related Articles
Table of Contents