MEASURE · ANALYTICS

Analytics that show their working.

Every number is counted from the events in your site's own database, with no sampling and no third-party tag. Every answer says where it came from and who is missing from it, and a visitor count can open into the people behind it. Where Praxis looks for what drives a result, it tests the finding, corrects for chance, and labels it correlated, not proven.

Every figure on this page is as of October 2026.
On this pageWhat it does
  1. What it does
  2. The site at a glance, in a sentence first.
  3. "What do you want to know?"
  4. "Do visitors come back?"
  5. Where people stop, and what goes with stopping.
  6. Where people came from, and what they did next.
  7. What each campaign earned.
  8. Define a measure once, and use it everywhere.
  9. Told when a number moves, not when you remember to look.
  10. What is recorded is decided by you.
  11. Goals that count the past.
  12. Questions with no template.
  13. Google Analytics 4, if you already use it.
  14. How it works
  15. How a number is made
  16. Where Praxis tests a finding, it tells you how sure it is.
  17. What keeps it honest
  18. Common questions

What it does

Analytics lives in Insights, with Events & Capture, Goals, Explore and Connections. One "Period" governs every tab: "Today", "7d", "28d", "90d" or "Pick dates", up to 365 days. It lives in the page's address, so a shared link opens exactly the same view. "Ask the copilot (⌘J)" sits beside it.

Insights, the Analytics overview of a demo store for the last 28 days: 5 people visited, the key measures, people over time and where they came from.

Overview

The site at a glance, in a sentence first.

  • It opens with a sentence, not a chart: how many people visited in the period.
  • Tiles for "People", "Visits", "Pages read" and your site's goal, each with its change and a sparkline.
  • "People over time", "Where they came from", "What they read" and "What they did".
  • "How these numbers are made": the rules behind the tiles, on the same screen.
Analytics, Reports on a demo store: visitors, pageviews, revenue and events, and the question cards under “What do you want to know?”.

Reports

"What do you want to know?"

  • Six starting questions: "What are people reading?", "Where do people come from?", "What are people doing?", "Who is coming back?", "Where do people give up?" and "How is one audience different?".
  • Topic sections, each with its own questions: Revenue ("How much did we earn?", "Which campaigns earned it?", "Which experiment arm earned it?", "Where did paying visitors come from?"), Products, Engagement, Retention, Acquisition, and Recommendations ("Are recommendations working?").
  • "Change what this counts": what to count, split by, then by, the top N, filters, and a comparison with any audience.
  • A visitor count can open the people behind it.

Retention

"Do visitors come back?"

  • A cohort triangle by day, week or month: up to 31 days, 26 weeks or 12 months.
  • A cohort starts at a person's first arrival, or at a first-visit event you choose.
  • "Narrow these cohorts" by "Channel", "Audience" or "Landing page".
  • Every share belongs to its own row's cohort: the people who first arrived that week, never the site's total.
  • A person who is erased leaves every cohort.

Funnels

Where people stop, and what goes with stopping.

  • Two to six steps, in order, strictly in order or in any order; "Convert within" 1 to 92 days; counted by visitors or by sessions; one exclusion.
  • "Your largest drop", said in a sentence.
  • "What hurts most here" and "What helps most here": the signals that go with dropping and with converting, each with its size and how sure it is.
  • "where did they go?" follows the people who left a step; "why?" opens the tested signals behind it.
  • "Where the people went": unique visitors, in order, inside the window, with "nothing estimated, nothing backfilled."
  • "Save as a funnel", and archive the ones you no longer need.
Analytics, Sources on a demo store, converting on the goal “Demo data: reached the shop”: Direct 80% and not classified 20%.

Sources

Where people came from, and what they did next.

  • Drill by "Channel", "Ad platform", "Source", "Campaign", "Referring site" and "Messaging event".
  • "Converting on" any goal.
  • "Group by" your own channel groups: your buckets, written as ordered rules, created behind approval, up to 20 of them.
  • When your own visits are not being counted, because your browser sends Global Privacy Control or Do Not Track, or you have not accepted analytics, the screen says so, and why. A saved analytics acceptance takes precedence over Do Not Track, but never over Global Privacy Control.

Campaigns

What each campaign earned.

  • People, visits, engaged visits, engagement rate, time per visit, conversions and revenue for every campaign, by first touch or by last touch.

Measures and the metric studio

Define a measure once, and use it everywhere.

  • "Measures" is the dictionary of every measure, dimension and goal on the site. 30 dimensions and 22 measures ship with every site.
  • "New measure" opens the "Compound metric studio", with five kinds: "Journey", "Ratio", "Capped count", "Goal conversions" and "Goal value".
  • Every measure is versioned, and experiments read the very same definitions.
The form Alerts on Visitors on a demo store, set to warn by email when visitors over 7 days fall more than two times the usual swing below the baseline, with Create this alert and the note that it is created only after you approve it.

Alerts

Told when a number moves, not when you remember to look.

  • Beside any answer in Reports, "Set an alert" on its measure: a threshold you choose, or "The baseline", the usual swing of the last six windows, crossed by 1 to 6 times that swing, 2 unless you change it.
  • A window of 1 to 90 days, delivered "By email" or "On this screen".
  • Checked every hour, firing at most once per window, with up to 50 alerts on a site.
  • "Evaluate now" checks one on demand, and each firing says whether it arrived: "Email sent", "Channel silent", "Not delivered" or "On screen only".
  • An alert is created only after approval.
Events & Capture, the Catalog on a demo store: 38 events, 8 of 9 automatic capture classes on, with Add to cart selected.

Events & Capture

What is recorded is decided by you.

  • "Catalog": 39 built-in events, from "Page view" to "Purchase", plus your own.
  • "Query parameters": up to 10 parameter names captured on arrival.
  • "Automatic capture": nine classes, from section views to video, each switched on or off behind approval.
  • "Needs review" holds event types that arrived with no definition; "Capture health" shows the per-page caps and counts every event dropped.
Events and capture, in detail
A goal's editor on a demo store: page reach, the path /shop as a prefix, and the backtest “Would have matched 9 events from 4 visitors in the last 28 days.”

Goals

Goals that count the past.

  • Three kinds: "Event match", "Page reach" and "Explicit goal post", worth a fixed value or a value read from the event.
  • "Live backtest preview": before you save, the goal shows how many events and visitors it would have matched over the last 1 to 90 days. Then "Approve & apply".
  • A goal is a rule over the events you already hold, so a goal defined today counts last month as well.
Explore on a demo store: compose a query, and the four starting points.

Explore

Questions with no template.

  • "Visitors": starting queries; a composer with "all of", "any of" and "none of" groups; "did A, then B" within the days you set; an exact count; and a quick profile of any visitor.
  • "Content / Products": views, adds to cart, conversions and engagement for every item.
  • "Audiences": every audience, in one list.
  • "Events": a live feed that refreshes every 5 seconds and can be paused, or the full history, with every targeting decision in it explained.

Connections

Google Analytics 4, if you already use it.

  • "Google Analytics 4": your property id and a service-account key, sealed when it is saved, with "Check now", "Rotate key" and "Disconnect".
  • It gives the copilot two abilities: reading a GA4 report, and writing an annotation, which waits at an approval card. Google Analytics stays in Google Analytics, and the copilot can read it for you.

In a sentence

  • "Visitors this week, by source?" · "Define a sign-up goal and check how often it would have fired" · "Why do people drop off between cart and checkout?" · "Email me if sign-ups fall 30% below normal". The copilot answers from the same engine as the screens, through governed actions for analytics, goals and funnels. Alerts, channel groups and the Google Analytics connection each wait at an approval card.

How it works

How a number is made

  1. Recorded in your database.

    The browser sends an event only once the visitor has allowed analytics, and the server keeps it in your site's own database, with its time, its page, its visit and how the visitor arrived. Some events, such as a paid order, are recorded by the server itself.

  2. Read by one engine.

    The Overview, Reports, the copilot, the CSV downloads and every alert ask the same query engine, and funnels run on an engine built to the same rules. Both are deterministic, call no AI model, and cannot reach another site.

  3. Counted, never sampled.

    A question too large to count is refused rather than sampled: up to 2,000,000 rows per question asked on screen, at most 3 dimensions, the top 25 by default and 1,000 at most, with any cut tail flagged.

  4. Defined once.

    People are distinct visitors. A visit ends after 30 minutes of inactivity, or at 24 hours. An engaged visit has 10 seconds in view, or 2 pages, or a goal. Revenue is purchases minus refunds, never converted between currencies.

  5. Stated on its terms.

    Each answer records its source, the version of every definition it used, its population and its currency, and carries a sentence on who is missing from it.

The statistics inside

Where Praxis tests a finding, it tells you how sure it is.

Comparisons in the Overview and in Reports read as plain differences between periods. The significance tests live in Experiments and in the funnel drivers.

Experimentation

What drives drop-off.

For every signal, a two-by-two table of did or did not, against converted or dropped; a risk ratio with its 95% interval; a chi-squared test, or Fisher's exact test when the counts are small; a Benjamini-Hochberg correction across every signal; minimum counts before anything is shown; and a refusal to judge when one outcome outnumbers the other ten to one. A solid finding reads "Correlated, not proven"; an early one is "a hint, not a conclusion".

Alerts against the usual.

"The baseline" is the average of the last six windows and their standard deviation, so an alert fires on an unusual move, not on every wobble.

Goals that restate honestly.

When an edit changes what a goal matches, the goal takes a new version, history is restated, and the answer says so.

What keeps it honest

Consent first.

The browser sends nothing until the visitor allows analytics. Global Privacy Control always refuses, and Do Not Track refuses until the visitor chooses. Under opt-in, a visitor's landing page waits in their own browser and is sent only if they accept.

Revenue stays whole.

A paid order from a shopper who declined is still counted as revenue, without their identity.

Who is missing, said aloud.

Every answer carries a sentence on the visitors it could not count.

Your data, in your database.

Each site's events live in its own database, with no third-party tag.

Approval before capture changes.

Switching a capture class, creating an alert or a channel group, and connecting Google Analytics each wait at an approval card. On screen, a new goal shows its backtest first and is applied with "Approve & apply"; either way, it can be undone.

Your previews are not visitors.

Author previews and migration previews are never counted.

Common questions

Do I still need Google Analytics?

Praxis measures your site on its own, first-party, in your site's database. If you already run GA4, you can connect it: Google Analytics stays in Google Analytics, and the copilot can read its reports and write annotations for you.

Is any of it sampled?

No. A question too large to count exactly is refused, never estimated.

Why might Praxis count fewer people than another tool?

It counts only visitors who allowed analytics, it honours Global Privacy Control and Do Not Track, it never counts your own previews, and it never estimates the visitors it could not see. Every answer tells you who is missing.

Which attribution model do you use?

First touch, written once for each visitor, and last touch, the latest tagged arrival, side by side.

How current is it?

Explore's live feed refreshes every 5 seconds. Every other answer is computed from your stored events when you ask.

Can I take my data out?

Yes. Exports cover events, decisions, goals, audience transitions, audiences, profiles, consent and daily rollups, as compressed files a warehouse reads, with recipes for DuckDB, BigQuery and Snowflake.

Does the copilot make the numbers up?

No. It asks the same deterministic engine as the screens, and no AI model sits in the path of a number.