Vitals → Revenue
Vitals → Revenue in the Analyze area (Behavior) — route /analyze/web-vitals-revenue.
Vitals → Revenue lives in the Analyze area of the dashboard, under Behavior.
At a glance#
| Dashboard route | /analyze/web-vitals-revenue |
| Area | Analyze (analyze) |
| Group | Behavior |
| Platforms | Web apps only. Hidden for mobile apps. |
What it does#
This page puts a number on what poor performance costs you. It joins Core Web Vitals to revenue at the session level: for each of LCP, INP and CLS, it shows conversion rate and revenue across the three threshold buckets — good, needs improvement, and poor.
The join is per session. A visit's measured vitals are matched against the revenue events tracked in that same visit, so what you are reading is the observed difference between fast sessions and slow ones on your own site.
When to use it#
When you need performance work approved. "LCP is 4.2 seconds" does not compete for engineering time against a feature request. "Sessions in the poor LCP bucket convert at half the rate of good ones, across this much revenue" does — and it is the same fact.
Also to decide which vital to fix first. They do not all cost the same, and on your site the ranking may not match the general advice.
Workflow#
Compare the good and poor buckets for each metric
The gap is the cost. The metric with the largest gap is where the work pays back most.
Check session counts in each bucket
A dramatic conversion difference across forty poor sessions is noise. This page needs volume before it is persuasive.
Present the revenue figure, not the millisecond figure
The whole point of the page is translation. Lead with the money.
Fix using the attribution, not this page
This tells you which metric costs most. Web Vitals and Jank tell you what to change.
Permissions and prerequisites#
Web apps only. Requires both halves of the join: Web Vitals reporting, and revenue-bearing tracked events. Without revenue events the page has conversion counts and no money.
Limits and edge cases#
Buckets use the published web.dev thresholds, not percentiles of your own distribution.
A session with no vitals recorded is excluded rather than counted as good.
INP and CLS accumulate over a visit, so they are structurally correlated with session length — which is itself correlated with converting.
Troubleshooting#
Revenue is zero everywhere. No revenue-bearing events are being tracked. See Events for attaching revenue to an event.
The poor bucket converts better. Usually the length effect above, or a bucket too small to mean anything. Check the session counts.
Where the data comes from#
A per-session join of recorded LCP / INP / CLS against revenue-bearing tracked events — it needs both halves, and reports conversion without money if revenue is not tracked.
From the SDK
Served by
Dashboard