Quick answer
A pageview is one display of one page in a browser. Every load, reload or in-app route change that shows a new page counts once.
Formula: pageviews = number of times any page was displayed in the period
What counts as a pageview
The pageview is the oldest web metric: the server, and later the analytics script, writes one line each time a page is shown. It does not care who the visitor is or how long they stayed. If one person opens your pricing page, reads the FAQ, then goes back to pricing, that is three pageviews and two distinct pages.
On a classic site every page is a full load, so counting is easy. On a single-page app (React, Vue, Next.js) the browser only loads once and then swaps content as the URL changes. A tool that only listens for the load event will see one pageview for an entire visit; a good script also listens for history changes and counts each new URL.
A worked example
In one afternoon three people visit a store:
- Ana reads the home page, a category page and two product pages: 4 pageviews.
- Ben opens a product page from an ad and leaves: 1 pageview.
- Chen opens the same product page twice in two tabs and reloads one of them: 3 pageviews.
Total: 8 pageviews, 3 visitors, 5 distinct pages. Pageviews per visitor = 8 ÷ 3 ≈ 2.7. Notice that Chen alone produced as many pageviews as Ben and half of Ana — pageviews measure activity, not people.
Pageviews, sessions and visitors
The three numbers answer different questions:
- Pageviews — how much was read. Right for content sites, documentation and ad inventory.
- Sessions — how many visits happened. One session can hold many pageviews.
- Unique visitors — how many people came. One visitor can have many sessions.
So pageviews ≥ sessions ≥ visitors, always. If a report shows otherwise, two different filters or data sets are being compared.
How TapCub counts pageviews
The TapCub script sends a pageview when a page loads and again whenever the URL changes inside a single-page app, so client-side routing is counted without extra code. Two rules keep the number honest:
- The same URL shown twice in a row without a change in between (for example a route that re-renders) is counted once.
- A tab left in the background for more than 30 minutes and then opened again counts as a new pageview, because the visitor is effectively starting a new visit.
Bot traffic is detected separately and kept out of human pageviews by default, and you can exclude paths such as internal admin pages from tracking. Pageviews appear on the overview and in the pages report, next to visitors, entries, exits and average time.
Common mistakes
- Reading growth from pageviews alone. A redesign that splits one long page into three will triple pageviews with the same audience.
- Forgetting single-page apps. If pageviews per session suddenly sit at 1.0 after a front-end rewrite, route changes are probably not being tracked.
- Leaving bots in. Crawlers load many pages quickly. On small sites they can make up a large share of raw pageviews.
- Comparing with server logs. Logs count every request, including bots, prefetches and failed loads. A script counts pages a browser actually displayed. The two will never match.
Related guides: Analytics Metrics. See also how to check website traffic.
Was this explanation clear?
We use your answers to fix and expand this page.
Couldn’t send. Please try again in a minute.
Thanks for the feedback. We’ll use it to improve this page.You’ve already sent feedback on this page. Thanks.

Data Analyst
Explores traffic sources, conversion funnels, and retention, using clear metric definitions and concrete examples to explain what the numbers mean.