Everything VisitWatch does, on every plan.

No feature gates and no enterprise tier. Pick a volume and get all 24 of these, on the smallest plan and on the largest one.

Read the numbers

Every report answers the same question.

What happened, and compared to what. One window and one comparison, carried across every screen, so you are never reading two things that measured different days.

OverviewVisitors, pageviews, bounce rate, average visit time and conversions, with the trend under them.

Pick a metric and the chart below follows it. Under the chart, four breakdowns open in place — pages, sources, countries and devices — so the answer to "which page" is on the same screen as the number that prompted it.

Read more
RealtimeWho is on the site right now: live pages, sources and countries, placed on a globe.

Sessions arrive as they happen rather than on a refresh. The globe is drawn from the city resolved for the request; no coordinate is stored against a visitor.

Read more
Pages, entries and exitsTop pages, where visits began and where they ended, as tabs on one module.

Three questions about the same set of paths, so they sit on one report instead of three. Open a module and it goes from four rows to the full list without leaving the page.

Read more
Sources, channels and hostnamesReferrers as they arrived, grouped into channels, and which of your hostnames served the visit.

Channels are the grouping — search, social, referral, direct — so a hundred referrer rows become five lines you can act on. Hostnames matter once a site has a blog on a subdomain and you need to know which one earned the visit.

Read more
Countries, devices and browsersEvery dimension is a tab on the same report, and each carries conversions beside visits.

The split between who visited and who converted is the useful one, and it is easy to lose when the two live on different screens. Here they are columns on one row.

Always against the period beforeThe dotted line on every chart is the window before this one.

Comparison is not a switch you have to remember. Change the range and the comparison moves with it, because a number with nothing behind it is not yet a result.

Nine windows, from today to all timeToday, yesterday, 24 hours, 7, 30 and 90 days, 6 and 12 months, and everything you have.

The window is in the URL, so a link to what you are looking at is a link to what you are looking at. Day boundaries follow the site's own reporting timezone, not the server's.

Follow the journey

Where people drop off, and whether they come back.

Totals tell you how many. These tell you which step lost them, which group behaves differently, and whether last week's visitors were ever seen again.

FunnelsBuild a multi-step funnel from the pages and events you already collect.

No extra instrumentation: a step is a path or an event that is already arriving. Each step shows how many reached it, what share that is, and the drop since the step before, with the worst one marked.

Read more
Who stopped, and whereScope the breakdown to one step and see the devices, browsers and countries of the people who stopped there.

A drop-off rate says a step is losing people. This says which people, which is the difference between a number and something you can change.

Read more
Retention cohortsA cohort per week, and the curve of how many came back.

The grid is the detail and the curve is the shape. Read across a row for one week's visitors, or down a column to compare the same week of life across cohorts.

Read more
SegmentsSplit the audience once and every report reads for that group instead of the average.

An average is a blend of people who behave nothing alike. A segment is defined in one place and then applies to the reports you already know, rather than becoming a separate screen to learn.

Read more
EventsSend the actions that matter with one function call, and they become rows you can build a funnel on.

An event is a name and nothing else by default. Nothing about the person is attached to it, because there is no identity layer here to attach anything to.

One goal, on every tableName an event or a path as the conversion and it becomes a column beside visits.

One goal per site, on purpose. A page with six conversion rates on it is a page nobody reads; a single rate, carried onto every breakdown, is one you can compare across sources and countries.

Respect your visitors

Cookieless by default, and the whole field list is in the app.

Privacy claims are worth nothing unless the list is public. Settings shows every field an event can carry, including the ones that are never sent, and the app will not let that list go stale.

No cookies, and no banner from usNothing is written to the visitor's device, so there is no consent banner to click away.

Sessions are counted with a key derived from the request and rotated daily. Nobody is asked to agree to something in order to be counted, because nothing was stored on them in the first place.

Read more
Every field, listedSite settings shows all eighteen fields an event can carry, and marks the ones that are never sent.

It is built from the same definition the tracker is, so it cannot drift from what actually happens — a field you switch on moves from never to pending to yes on that screen. Against each one it says what the field is for, including the ones that are never sent.

Read more
The IP address is never storedIt derives the daily key and is then discarded.

The country and, where the request carries it, the region and city are resolved at that moment. No coordinate is kept, and the address itself does not reach the database.

Nobody is followed off your siteThere is no cross-site identifier and no user id.

A visit ends at your domain. That is a property of what is collected rather than a setting somebody could turn off, which is why it is in the field list rather than in a policy.

Read more
Export anytimeEvery report exports to CSV, selected rows or all of them.

Your numbers leave the way they came in. There is no export tier and no request to make; the control is on the report itself.

Run it with your team

One workspace, everyone in it, one price.

Sites and people are unlimited on every plan. What you pay for is the volume of visitors across the workspace, and nothing is gated behind a tier.

Unlimited sitesAdd as many as you like. The allowance is visitors across the workspace, not a count of sites.

A side project costs nothing extra to watch, which is the point: the decision to add a site should be about whether you want the numbers, not about the bill.

Read more
Unlimited team membersEverybody who needs the numbers can have them, on any plan.

Per-seat pricing ends with one person screenshotting a dashboard into a channel every Monday. Nobody is kept out of a report to save money.

Three levels of accessOwner, can edit, and can view — with what each one permits written beside it.

The definition sits under the list of members rather than in documentation, because a role name four hundred pixels from its meaning is a role name nobody checks.

One line to installA single script tag in the head, and the dashboard tells you when the first event lands.

Settings shows whether the tracker is reporting and when the last event arrived, so installing it is something you can confirm rather than something you hope worked.

Find anything from the keyboard⌘K opens the palette: any site, any report, any setting, without the mouse.

It is the same list the sidebar shows, reachable in two keystrokes from wherever you are.

Light, dark, or whatever your machine is doingThree states, and system keeps following your machine rather than copying it once.

A laptop that goes dark at sunset takes the app with it. The choice is yours rather than the workspace's, so it is stored in your browser and not against your account.

Free14 days, no card

Find out what your traffic is actually worth

Every report on this page, on your own site, in the time it takes to paste one line into the head.

14-day free trial. No credit card required.