Skip to main content

Analytics

Dashboard → Analytics → Overview. Traffic, engagement and — if you sell things — revenue, for whatever date range you pick. This is the "how is the shop doing" screen; the site Home page is the "what happened today" one, and the two show different numbers on purpose.

The date range

Top right, on every panel at once. Presets are 7, 14, 30 and 90 days, and the default is the last 30 days including today. You can also set explicit start and end dates.

The range lives in the URL, so a link you send a colleague opens on the same window you were looking at.

Days are counted in UTC

Every date on this dashboard is a UTC day, and every daily figure is bucketed on one.

If your shop is on UTC — the UK in winter, Iceland, Portugal — this changes nothing. If it is not, "today" here begins at a different clock time than your own: in California a day starts at 17:00 the previous afternoon, in Sydney at 10:00 the same morning. Comparing a single day against your WooCommerce or Shopify admin, which uses the store's own timezone, can therefore be off by the hours at either end.

The dashboard says so under the range picker when your browser is not on UTC, so you are told before the numbers surprise you rather than after.

Two things this does not affect. Multi-day totals move by hours at the edges, not by a day, so a 30-day comparison is unaffected in any way you would notice. And session replay, error timestamps and everything else with a clock on it are shown in your local time — only the daily buckets are UTC.

A per-store timezone is not available yet. It is not a display option: every rolled-up table is keyed on the UTC date, so changing it means recomputing history. If the difference is causing you real trouble, say so — that is the signal we are waiting for.

The four tiles

TileWhat it counts
PageviewsEvery page view in the range
Unique visitorsDistinct browsers, counted in the database rather than estimated
Avg. time on pageThe average of every page view that reported a duration
Bounce rateSessions with exactly one page view, as a percentage of all sessions

A session is one browser's visit: it spans every tab of that browser and ends after 30 minutes without activity, on sign-out, or after an order. Before 9 September 2026 a session was one tab, so a product opened in a new tab counted as a second session with a direct entry — session counts, bounce rate and the channel breakdown from before that date are not directly comparable with later figures (sessions read lower, pages per session higher, bounce lower).

A bounce here is a single-page-view session, not a "short visit". Someone who lands on a product page, reads it for four minutes and leaves is a bounce; that is the standard definition and it is worth knowing before you read the number as a verdict on quality.

Any tile shows rather than 0 when there is nothing to average — no sessions means no bounce rate, not a bounce rate of zero.

Panels

  • Pageviews & errors — both series on one daily chart, because the question is almost always whether a change in one explains a change in the other. Days with no data are drawn as zero rather than skipped, so a gap looks like a gap.
  • Top pages — the ten most-visited paths with their view count and average time. The full URL is in the tooltip; the table shows the path so the column stays readable.
  • Countries, Devices, Browsers, Operating systems — who visited. Browsers are capped at the top 8 and countries at the top 10; unknown values are labelled rather than dropped, so the parts always add up to the whole.
  • Leads by type — contact forms, checkouts and whatever else your site submits.

Revenue, orders and abandonment

The commerce block sits under the main chart and loads separately from the rest of the page, so a site with no orders does not slow down or break the traffic panels.

CardMeaning
RevenueTotal value of orders placed in the range
OrdersHow many
Avg order valueRevenue divided by orders, computed exactly rather than in floating point
Cart abandonmentThe share of checkouts started in the range that never became an order

Below them, Revenue over time charts daily revenue; when no day in the range has any, the chart is replaced by "No orders in this window yet." rather than an empty grid. When there are abandoned carts, a line under the chart says how many and what they were worth.

Two things about money are deliberate and worth knowing:

  • Amounts are always shown to two decimal places, including zero — 0.00, never 0. A screen that mixes the two reads as two different prices.
  • When a range contains more than one currency, the totals are printed without a currency label. Adding pounds to euros produces a number that is wrong in a way nobody can see, so the label is dropped instead of guessed. If you sell in several currencies, narrow the range or read the per-order figures.

Revenue and orders are counted by when the order was placed. Abandonment is counted by when the checkout started, which is the only way the ratio means anything.

Why a past range can empty the visitor breakdowns

Set an explicit range that ends in the past and you may see this warning:

Device, browser, OS and country breakdowns reflect visitors last active in this window. For a range ending in the past they may read as empty.

Those four breakdowns are counted from the visitor record, which carries the time that visitor was last seen anywhere — not the time of each individual view. A visitor who came back yesterday counts as "last active yesterday" even for the pages they read last month, so a window that ended before yesterday does not contain them.

Pageviews, errors, top pages and the commerce figures are unaffected: they are counted from the events themselves. The warning only appears for custom ranges, because a preset always ends today.

Where the numbers come from

For days that are closed, the figures are read from pre-computed daily rollups; today is computed live from the raw rows by the same code, so the two cannot drift. If any day in your range has never been rolled up, the whole range falls back to live queries rather than mixing the two — so an un-backfilled stretch of history can never show up as zeros.

  • AI digest — the same numbers, written up in prose each morning.
  • Analytics → Conversion funnel — where people drop out of a defined path.
  • Analytics → Heatmap — where they click and how far they scroll, per page. See Heatmaps.