Plans and limits
The free plan
Section titled “The free plan”| Limit | Free | Scope |
|---|---|---|
| Projects per account | 2 | Account |
| Events per project per month | 10000 | Project |
| Sites per project | 1 | Project |
| Synthetic runs per account, month | 10 | Account |
| PR audits per project, month | 5 | Project |
What counts as an event
Section titled “What counts as an event”One accepted page view is one event. Two things follow from that word:
Accepted. A page view the SDK sampled out never reaches the collector and
never counts. At the default sample rate of 0.25, an allowance of 10,000
events covers roughly 40,000 page views.
Page view. The interaction event that shares a page view’s measurementId
is not charged separately. Soft navigations are page views — a single-page app
that rewrites the URL five times during one visit produces five.
If your app pushes history state for something that is not a view change, that
is a real cost. data-track-soft-navigations="false" measures only the initial
document load; see Configuration.
What happens at the ceiling
Section titled “What happens at the ceiling”Events. The collector starts returning 429 and stops accepting
measurements for that project until the month rolls over. Nothing else is
affected — the dashboard keeps working, and the data already collected stays.
The counter is exact, but the check reading it can be a minute behind, so the cutoff is approximate at the boundary. It errs toward accepting.
Projects, sites. The form refuses, at the moment you submit it. These are rare, transactional decisions and they are exact by construction.
PR audits. Charged per new commit, not per workflow run — re-running a job on the same SHA does not spend another one. Past the cap the API declines the report and the Action comments that it did, without failing your build.
Synthetic runs. The “run” button declines. This is the one limit that is deliberately not exact: each run spends a third-party quota, and the check is a count taken at the moment you press it, so two runs started at the same instant can both be allowed.
Sampling is the lever
Section titled “Sampling is the lever”The sample rate is the thing to reach for when a site outgrows its allowance. Performance data is a population statistic — the p75 of 2,500 page views and the p75 of 25,000 are the same number for any site with real traffic. Halving the sample rate halves the cost and changes the answer by nothing you can see.
What sampling does cost you is the tail: a rare slow route with few views may stop producing enough measurements to have a meaningful p75 at all. If that is the thing you are trying to watch, sample it up rather than down.
Overrides
Section titled “Overrides”Limits resolve most-specific-first — a per-project override, then a per-account
default, then the plan. null at any level means inherit; zero is a real
answer and switches the feature off rather than falling back to a default.