Your plan's traffic step is a limit on events per month, not on visitors. This page says exactly what is counted and what is not.
What is counted
| Thing | Counts |
| A page load | 1 event |
| An in-app navigation in a single-page app | 1 event each |
| A custom goal event | 1 event |
| A scroll event | 1 event |
| An AI or search crawler fetching a page | 1 event |
A fetch of llms.txt or another machine-readable surface | 1 event |
What is not counted
| Thing | Why |
| A page view from an excluded path | Never stored |
| A page view from an excluded IP | Never stored |
| A visit from a browser with the ignore flag set | Never sent |
A view on localhost without data-allow-localhost | Never sent |
| A visitor with an ad blocker | Never reaches us |
| A rejected event — bad name, oversized payload | Not stored, so not counted |
| A dashboard load, an API call, an export | Reading is free |
Excluded traffic is genuinely free. Path and IP exclusions are applied before the row is written, so an excluded view never enters the counter. That makes exclusions a real cost lever, not a display preference — if a large share of your traffic is your own admin area, excluding it directly reduces your usage. See Excluding your own visits.
Crawler traffic counts, and here is the trade
Every AI crawler view and every search crawler view is a stored event against your limit.
That is the direct consequence of how the AI panel works. Other analytics products discard crawler hits when they arrive, which is why crawler traffic costs them nothing — and why they can never show you which assistants read your site. A hit that was never written cannot be reported later.
We keep them. The row costs you an event and buys you the panel. See Why other analytics tools cannot show you this.
On a small site this can be a large share. A new site with a few hundred human views a month can easily see a few hundred crawler views on top. If that pushes you over a step, the honest framing is that you are paying for the feature you came for.
There is no switch to stop counting crawler traffic, and there will not be — it would mean discarding the rows, and then the panel would be empty.
What single-page apps cost
A visitor moving through five routes generates five events. Their session is one visitor and five page views, and your quota sees five.
That is the same accounting every analytics product uses, but it is worth stating, because SPA traffic can be several times the event count you would estimate from page loads.
Navigations are debounced at 100 ms, so a router calling replaceState
immediately after pushState is one event, not two. See
Single-page apps.
Checking your usage
Your billing page shows events used against your limit for the current period, and when the period rolls over.
The usage panel is part of the billing screens still being built. Until it is live, the API's usage endpoint returns the same numbers — see Endpoint reference.
The billing page usage meter showing events used against the limit for the current period — around 70% consumed, with the period end date. Light theme, desktop. Capture once the billing screens ship.
Reducing your usage
In order of how much each typically saves:
Exclude your admin area and any staging paths. Free, and often the largest single reduction.
Exclude your own IP, or set the ignore flag in the browsers you use to check the site.
Check for a double install. Two tags on one page doubles every number, including your usage. See Duplicate events.
Reconsider scroll tracking on long pages. Each tracked element fires once per page visit, so a page with ten tracked sections can cost eleven events per visitor.
The period
Your event count resets at the start of each billing period, which runs from your subscription date rather than from the first of the month. Your billing page shows the exact boundary.