How to track website traffic
What it takes to start counting visits to a site you own: choosing a tool, getting the code onto every page, confirming it works and reading the first reports.
- checked 2026-09-18
- The table of tools →
How to track website traffic
To track traffic to a site you own, put a tracking code on every page, confirm that the first visits are recorded, and then read a small set of reports on a fixed schedule. Installing takes minutes. The reading is the part that returns something.
Two different jobs share those words. Measuring a site you control means collecting records as people use it, which is what this page is about. Working out how much traffic a site you do not control receives means modelling it from outside, from panels and other indirect signals, and no code of yours is involved. The words behind the counts, such as pageview, visit, visitor and event, are set out in the guide on what web analytics is.
Three routes get the code onto your pages: a snippet pasted into the page template, a tag manager that delivers the snippet for you, or a plugin or app written for the platform your site runs on. Which routes are open depends on the platform more than on the tool.
Step one: settle what you cannot change
Settle the constraints before you look at products, because they remove most of the field in one step. Four of them do most of the work: where the data may be stored, whether anything may be written to the visitor’s browser, whether the software has to run on your own server, and whether your platform has a route the vendor documents.
What survives those questions can be compared on the ordinary columns: price at the traffic you expect, the unit each vendor bills in, script size, retention. The table of tools carries them for 44 tools with the date each value was checked, and 22 of those tools have a free plan in the vendor’s cloud. The methodology sets out what each column means, and the market log records closures and changes of owner, which is worth a minute before you build a habit on a service.
Step two: get the code onto every page
A snippet in the page head is the common route. You paste a few lines into the template that builds your pages, publish, and clear whatever cache sits in front of the site, since visitors otherwise keep receiving the old version. One copy per page is the rule: a second copy counts some visits twice. If your pages carry a content security policy, the vendor’s domain has to be allowed there. Some scripts also switch themselves off on localhost by design, Plausible’s among them, so a local test proves nothing either way.
A tag manager is the second route. Google documents its container as two blocks of code: the first goes as high in the page head as possible, the second immediately after the opening body tag. A container by itself records nothing. It delivers the analytics tag you configure inside it, so the thing to verify later is that the tag fires, not that the container loads.
The platform route is the third, and usually the shortest. Google’s setup guide lists site builders and content systems with a field for a tag ID, where pasting the ID is the whole installation. Several vendors publish a plugin of their own for WordPress, which puts the code on every page without a theme edit and keeps doing so after a theme change; the page of tools with a WordPress plugin sets out which vendors do that. A store on Shopify needs two parts, a snippet in the theme and a pixel for the checkout pages, which the Shopify guide covers.
Coverage is the thing to check on any route. Pages that are not built from the template you edited stay uncounted: checkout flows, help centres on another address, landing pages published by a separate service.
Step three: confirm that data is arriving
Do not treat pasting as done. Google states that “data collection may take up to 30 minutes to begin” and that you can then use the Realtime report to confirm data is being received, while reports and explorations “can take 24-48 hours to process data from your website or app”. Tools built around a live dashboard behave differently: Plausible’s documentation states that the dashboard shows stats as soon as the first visit is counted and that there are no delays with its data, and its installation check sends test traffic that is deliberately kept out of your numbers.
Then check by hand. Open two pages from a device and browser that are not blocking scripts, and look for those two pageviews. When nothing appears, the causes repeat: a cache still serving pages without the snippet, the address registered in the tool differing from the address people use, a consent banner that loads the script only after acceptance, an extension or network filter on your own machine, two copies of the snippet, or a test run on localhost.
If you plan to record events, send one now and watch it land. An event that was never confirmed has a way of turning into a month of missing data.
What the first week is for
Three questions are enough at the start: which pages people open, where they arrive from, and whether the thing you wanted counted is being counted.
Sources need one piece of work from you. Visits without a referrer are grouped as direct, which mixes typed addresses with clicks from email and messaging applications, so links you control should carry campaign parameters. Google’s list names utm_source, utm_medium and utm_campaign as the ones to use every time, with utm_id, utm_term and utm_content for finer splits, and states that missing parameters “will result in (not set) values being present in reporting”. Keep the spelling of your values fixed, because Newsletter and newsletter become two sources.
Testing those links has a trap worth knowing. Attribution is decided when a visit starts, so a tagged link opened during a visit that is already running changes nothing in the reports. Plausible’s documentation puts the session window at 30 minutes after the last pageview and suggests testing from a device or network that has not visited recently. It notes that the same rule keeps payment gateways and other redirect domains out of its referral sources.
Compare the week with the week before it, in one tool. Totals from another site, or from a service that estimates other people’s traffic, are not a benchmark you can act on.
The numbers that mislead at the start
Your own visits are the first. A vendor’s plugin may leave them out on purpose: Plausible’s documentation states that its WordPress plugin excludes logged-in administrator visits by default, and that you switch the administrator role back on to see yourself. Google Analytics 4 handles the same problem through a filter on IP addresses, with a warning attached, since once the filter is active “the excluded data is never processed and will never be available in Analytics or BigQuery”.
Blocked visits are the second. Extensions, privacy browsers and network-level filters keep some requests from leaving the page, and a visit stopped that way leaves no record at all. A traffic total is a floor rather than a census, and how large the gap is depends on who reads you and on what they browse with.
Automated traffic is the third. Crawlers and monitors request pages all day, each tool decides which of them to drop, and the decision is rarely visible to you. Google’s exclusion of known bots cannot be switched off or inspected.
Disagreement between tools is the fourth, and it is not a fault. Plausible’s documentation states that it and Google Analytics “will never show identical numbers”, calls a difference of 10 to 20 per cent normal, expects larger gaps in some cases, and names the reasons: different rules for what starts a visit, different bot filtering, blockers, sampling on large properties. Run two tools if you like, but read trends inside one of them.
Attribution noise is the fifth. Sessions that return from a payment provider or from another of your own domains can be recorded as new visits from that domain; Google Analytics 4 answers this with a list of unwanted referrals, up to 50 per data stream, which marks matching events so the referrer is ignored.
Questions and answers
How long before I see traffic data?
Between a few seconds and two days, depending on the tool. Google states that collection may take up to 30 minutes to begin, that the Realtime report is the way to confirm it, and that standard reports can take 24 to 48 hours to process. Tools that report live show the first visit within seconds. Neither behaviour says anything about accuracy, only about how the vendor processes what it receives.
Do I need Google Analytics to count traffic?
No. Any tool in the table counts pages, visits and sources, and the column that usually decides the choice is not the reporting but the conditions: where data is stored, what is written to the visitor’s browser, what the plan costs at your traffic. Google Analytics 4 is one row among them, and it is the tool most third-party guides and integrations assume, which matters if you depend on other people’s instructions.
Why do two tools show different traffic for the same site?
Because they define and filter differently. Each vendor sets its own rule for when a visit ends, keeps its own list of bots, and loses a different share of requests to blockers, and some tools sample on large properties. The gap is normal and stable; what is not normal is a sudden break in one tool, which usually means a deployment removed the snippet or a cache is serving old pages.
Can I track traffic without putting a script on the page?
Yes, in two ways, and both have limits. Your server already writes a log line for every request it answers, and Matomo publishes an importer that turns such logs into reports, though logs lack what only the browser knows and miss anything served from a cache or a delivery network. Events sent from your own backend cover what the browser never sees, such as a payment that cleared, and Google describes that route for Google Analytics 4 as an addition to collection from the page rather than a replacement for it.
Can I see how much traffic another site gets?
Not by measuring it. Figures for sites you do not own come from services that model traffic from panels and other indirect signals, which is a different kind of product from the tools in this directory and a different kind of number. Anything collected on a site is available only to whoever installed the code there.
Tools named on this page
Each card shows the values we check, with the date of the last check.

Google Analytics 4
Cloud web analytics, with an optional cookieless mode.

Matomo
Cloud or self-hosted web analytics, with an optional cookieless mode, open source.

Plausible
Cloud or self-hosted web analytics, cookieless by default, open source.
Values in this guide come from the directory and carry the date they were checked. Seehow we check every value and thefull table of tools.