MetricMind

Everything in MetricMind, by the problem it solves

Most small sites end up with one tool for analytics, another for errors, another for uptime, and nobody connecting them. MetricMind reads all of it from the same visit, so a slow page, a broken button and a lost contact can be seen as one story. Panels show sample data.

Something breaks and nobody tells you.

Find out the same day, from an alert, not from an annoyed customer.

  • Errors that sort themselves

    Errors group into issues you can resolve, ignore, assign and merge. One that comes back reopens by itself, and a sudden spike alerts you by Slack, email or webhook.

    • TypeError: reading 'price'

      /sell · 47 events · new since Oct 13 · Spiking

    • ReferenceError: gtag · resolvedOct 9
    • ChunkLoadError · assigned to you6
  • Frustrating pages

    The pages where people click again and again, click things that do nothing, or hit errors, each linked to the visits behind it.

    PageRageDeadErrors
    /sell331847
    /annonces/*12263
    /compte420
  • Uptime and status pages

    Checks as often as every minute, TLS certificates watched, outages marked on your traffic chart, and a public status page with incidents.

    All systems operational99.96%

    TLS certificate · 61 days left

  • Web Vitals

    Speed as real visitors feel it, with a score next to Google's pass or fail, per page and page type.

    Experience score

    LCP1.9 s
    INP140 ms
    CLS0.04

    Passes Core Web Vitals

  • Installation health: what's arriving from your site and apps, and how to fix what isn't

Ad money goes to visitors who never contact you.

See which source brings people who call, write or buy, not only people who click.

  • Sources and campaigns

    Channels, referrers, UTM campaigns and ad clicks by network, counted per visit. Page templates turn thousands of listing URLs into one page.

    4,032

    visitors · last 30 days +18%

    SourcesPagesCampaignsCountries
    • Google1,532
    • ↗Direct968
    • Instagram565
    • Facebook363
    • ChatGPT180
  • Contacts, with no code

    Phone, WhatsApp and email links and “Contact the seller” buttons count by themselves, so a marketplace or local business can measure what it actually wants.

    • WhatsApp142
    • Phone96
    • Email41

    Contacts this month, without a line of code

  • Goals and funnels

    Goals for a page, an event or how far people scroll. Funnels show where people drop and can leave out visits that did something else, and each goal shows what its converters did first.

    Listing view

    2,140

    Contact click

    412 · 19%

    Contact sent

    298 · 72%

    Median 1m 40s from view to contact

  • Forms

    Who started a form, who sent it, and the field people were on when they gave up. Field names only, never what anyone typed.

    “Publier une annonce”

    320 started · 128 sent

    Where people gave up

    • Prix41%
    • Photos33%
    • Téléphone14%
  • Revenue

    Connect Stripe or Paddle, or report a sale with one call from your page, and read revenue by source and campaign. A Shopify pixel is in beta and not yet proven on a real store.

    $2,480 revenue, 30 days

    • Google$1,140
    • Instagram$720
    • Email$620
  • Trends: chart any page or event, split it and compare periods
  • Cohorts you name, used as a filter on most reports

People look for something and leave.

See what they wanted and where they gave up, without recording anyone's screen.

  • Sessions and journeys

    Follow any visit step by step, with time and scroll on each page, searches, frustrated clicks, unsent forms and contacts, plus the paths people most often take. Rebuilt from events: nothing on screen is recorded.

    CFCurious Falcon Instagram · Android
    1. /annonces/voiture-123

      1m 12s · scrolled 80%

    2. Searched “golf 7”

      41 results

    3. Rage clicked “Voir le numéro”

      3 clicks in 1 s

    4. WhatsApp contact

      after 4m 05s

    Common journeys

    • / → /annonces → listing

      18% converted

    • listing → listing → listing

      9% converted

    • /sell → /sell

      41% frustrated

  • Heatmaps, if you turn them on

    Off until you add one attribute. Which part of a page gets clicked, per page type and screen size, on a coarse grid. No text, nothing typed, no replay.

    /annonces/* · phones · counts per grid cell, nothing else

  • Surveys

    Ask a question on the page they're on: rating, NPS, choice or free text, targeted by page, device and event. Websites only for now. Emails and phone numbers in answers are masked.

    “What stopped you from contacting the seller?”

    • Price44%
    • Photos31%
    • Something else25%

    Single choice · 212 answers · shown on listing pages

  • Explore

    See what visits did next, one step at a time, across pages, contacts, searches and your own events, then save the path as a funnel.

    • /annonces

      100%

    • Listing

      62%

    • Search

      21%

    • Contact

      19%

    • Listing

      28%

    • Left

      15%

    Save this path as a funnel

  • Feedback

    Messages from your own form, shown with the page and any error in the same visit.

    SHSwift Heron

    “Le bouton publier ne marche pas.”

    /sell · Android 2.4.1 crash in this visit

    identify("u_4821") one person on 3 devices

  • New, returning and lapsed visitors, retention and stickiness

You changed something and can't tell if it helped.

Test it, and get a verdict that won't call it early.

  • Experiments

    State what you expect and one deciding metric, see how long it needs before you start, then read lift with confidence intervals. No verdict comes before the planned sample and seven days.

    contact-form · 50/50 · 1,240 visitors each

    Control5.1%
    One-page form6.9%

    Contact rate +35% so far · day 4 of at least 7, so no verdict yet

  • Feature flags with payloads

    Roll out to a share of visitors, depend on other flags, and carry JSON per flag or per variant to change copy or settings without a deploy. Web tracker only for payloads.

    new-listing-form25% of visitors

    { "button": "Publish now",
      "maxPhotos": 12 }

    await mm.flag("new-listing-form")

  • “Is it better, or is it chance?” answered by the analyst with a significance test

Nobody has time to log in.

Send the numbers to where people already are, and only when there's a reason.

  • Email reports

    A plain weekly or monthly summary to anyone, no account needed, each with its own unsubscribe link.

    Monday · to the owner, no account needed

    Your week: 1,204 visitors, 61 contacts

    • Visitors+8%
    • Top sourceGoogle
    • Top page/annonces

    Unsubscribe

  • A board and shared dashboards

    Pin the breakdowns and queries you care about, share a read-only link with an optional password, or embed a dashboard on your own site.

    Visitors per day

    Contacts

    307

    Top search

    voiture

  • Alerts you write yourself

    “Tell me when contacts go below 2 a day.” Visitors, errors, goals, events or frustrated visits, per hour or per day, or when a number looks unusual, by email, Slack or webhook.

    Tell me when contactsgo below2per day

    Yesterday · 1 contact, below 2
  • Slack and signed webhooks, for alerts and findings
  • One page adding up every website in your organization
  • Short links with click analytics and QR codes

AI assistants send visitors, and you can't see them.

See who they send, what they read, and what they can't.

  • AI visitors and crawlers

    Visits from ChatGPT, Claude, Perplexity and Gemini, by referrer or utm_source tag, and whether they contact you. A small server helper counts which AI crawlers read your pages.

    313 AI visitors

    7.8% of visitors
    • ChatGPT180
    • Perplexity60
    • Claude41
    • Gemini32

    Crawler reads this week · GPTBot 1,204 · ClaudeBot 388

The analyst

Statistics spot what really changed, so normal swings stay quiet. The analyst then works out why and what to do, and shows you how it got there. Written investigations, scheduled questions and fix checks come with Business and Scale. On every plan changes are still detected and listed, and you can ask the analyst the same question yourself.

How the AI analyst works

On every plan

  • Ask in plain words

    Which campaign brought visitors who stayed? Why did contacts drop on Android? Answers show the queries behind them, a chart when a trend is clearer as a picture, and follow-up questions in one click. Each plan has its own question allowance.

  • Follows your team's rules

    It learns your business from your site, and you tell it what counts as a lead or which traffic to ignore. Every answer lists its assumptions; turn one into a rule with a click.

  • Acts only when you click

    When the next step is to measure or test something, it drafts the goal, funnel, alert, timeline note or switched-off feature flag as a card. Nothing changes until you click.

  • A first look at a new site

    Once a few visitors have come through, the analyst writes a first look at your site, then a first-week report after seven days.

  • Where your team already is

    Alerts go to email, Slack and signed webhooks. Claude, Cursor and other MCP clients can query the same metrics and ask the analyst from your editor.

On Business and Scale

  • A morning briefing with investigations

    At your local hour it compares yesterday with the same kind of day and the week before. Before the model says a word, code works out which source, page, country or device carries a change, the hour it started and which error is behind a rise. Numbers in a finding are checked against the data, and any that don't match are sent back to be fixed.

  • It checks that the fix worked

    When it recommends a fix, it adds a measurable check, like errors on /sell below 5 a day. A few days later MetricMind measures again and tells you: fix confirmed, or still not fixed.

  • Questions on a schedule

    Any question can be answered again every morning or every Monday. Quiet mode only writes when a threshold is crossed or something needs action.

Mobile apps (beta)

SDKs for iOS, Android, React Native and Flutter send screens, sessions, events, users, contacts, searches, errors and crashes to the same site as your website. Each app gets its own dashboard, under one overview that compares them.

  • Crash-free users and sessions per release, and an alert when a new release crashes more than the last one.
  • Android ANRs against Google Play's 0.47% bar, iOS hangs from MetricKit, cold start, screen load and slow frames.
  • App vs website: which one leads to more searches and contacts per visit, in one sentence.
  • No advertising ID, no fingerprinting, no tracking prompt. Apple's privacy manifest is included, and apps can wait for consent.
MetricMind.configure(site: "YOUR_SITE_ID")

Text("Listing").trackScreen("Listing")
MetricMind.contact("whatsapp")

Mobile app analytics in detail

Releases

Crash-free users and ANRs per version, newest first

ReleaseUsersAdoptionCrash-free usersANR users
2.4.1 (41)regression61241%97.9%0.62%
2.4.0 (40)78852%99.6%0.31%
3.1.0 (12)40277%99.8%–
3.0.2 (9)11823%99.7%–

App vs website

Last 30 days, platforms with 30+ visits

Contacts per 100 visitors

  • Website3.3
  • iOS app6.8
  • Android app7.8

The Android app leads to 2.4× more contacts per visit than the website.

Sample data from the demo marketplace.

Same numbers, in your editor

Connect Claude, Cursor or any other MCP client, sign in and pick which websites it can read. Your agent gets the same metrics as the dashboard and, if you allow it, the analyst.

Set up MCP

$ claude mcp add --transport http metricmind https://api.metricmind.si/mcp

> Any new errors I should fix before shipping?

  • ●metricmind · get_dataerrors, last 7 days
  • ●metricmind · ask_analystwhat changed around them

One is new: TypeError: reading 'price' on /sell, 47 events since Oct 13. Nothing else rose this week, so start here.

Demo marketplace · sample data

What this replaces

What it won't do: record your visitors' screens, or replace a data warehouse or BI suite. If you buy a lot of Google ads and rely on its audiences, keep Google Analytics next to it.

The jobUsually a separateIn MetricMind
Traffic and conversionsAnalytics toolCookieless analytics, goals, funnels, trends, cohorts
Broken pagesError trackerError issues, spike alerts, app crashes (beta)
Site speedPerformance monitorWeb Vitals from real visitors
Is it up?Uptime and status toolsMonitors, TLS checks, public status pages
Safe rollouts and testsFlags and A/B toolFeature flags, payloads, experiments
What visitors think and doSurvey and heatmap toolsSurveys, opt-in heatmaps, sessions without recording
Campaign linksLink shortenerShort links, QR codes, click analytics
“Why did this change?”An analyst or agencyThe AI analyst, with its queries shown

Also included

Setup

  1. 1

    Add one tag

    It loads deferred and never blocks rendering. The setup page waits for your first visit, so you know it worked.

    <script src="https://cdn.metricmind.si/mm.js"
      data-site="YOUR_SITE_ID" defer></script>
  2. 2

    Data flows in quietly

    Pageviews, contacts, searches, vitals and errors arrive in small batches with no cookies. Track your own events in one line.

    mm.track("signup", { plan: "pro" })
  3. 3

    Ask what changed

    A first look once a few visitors have come through, a first-week report after seven days, and the analyst whenever you want it.

    “What changed since Monday?”

Or paste one prompt into Claude Code, Cursor or Codex and let your coding agent install it. Install guides

We count visits. We don't collect people.

No cookies, no fingerprints, and a storage-free mode that keeps nothing on the visitor's device.

  • Stored: Page path, no query string
  • Stored: Referrer and campaign
  • Stored: Country
  • Stored: Browser, OS, device
  • Stored: Your events and properties
  • Never: IP addresses
  • Never: Cookies or fingerprints
  • Never: What people type
  • Never: Ad click IDs
  • Never: Anything on screen

How cookieless analytics works

Plans, prices after the beta

An analyst or an agency bills for their time. Separate tools for analytics, errors, uptime, flags and surveys are several bills, and still nobody reading them. Get a real quote and put it next to these numbers. MetricMind is in private beta. Join the waitlist for early access: every new account is free to start, with no card.

Every plan includes error tracking, alerts, uptime, Web Vitals, surveys, heatmaps, experiments, mobile apps (beta) and unlimited team members. Yearly billing gives two months free. An investigation is a change the analyst looks into and writes up with its evidence and a next step. On Free, Hobby and Pro, changes are still detected and listed for you to ask about; investigations, scheduled questions and fix checks come with Business and Scale.

Fair questions

Is it hard to install?
Usually it's one tag in your site's head. There are step-by-step guides for WordPress, Shopify (beta), Webflow, Wix, Squarespace, Framer, Google Tag Manager, Laravel and Angular, or you can paste one prompt into a coding agent and let it do the work.Install guides
Do I still need a cookie banner?
MetricMind sets no cookies and builds no profiles. In the EU, storing an ID on the device can need consent even without cookies, so for the strictest reading turn on storage-free mode (data-storage="none"), which stores nothing in the browser. Your obligations depend on your jurisdiction and the rest of your stack, so check with your counsel.How cookieless analytics works
Can I trust an AI's numbers?
Check them. Statistics, not the model, decide what counts as a change. Chat answers show their SQL and list their assumptions. Numbers in a written finding are checked against the query results and sent back if they don't match, and the finding lists the queries it ran. It can still be wrong, so read the evidence, not only the headline. When the data doesn't point to a cause, it's told to say so instead of guessing.How an answer is built
Can I bring my old data?
Yes, from Plausible, PostHog and Simple Analytics. Imported history shows up in your charts but never sets off alerts. There's no Google Analytics import yet, so run both side by side for a while and keep your history there.Moving from Google Analytics
What does it cost, compared with an analyst or a stack of tools?
It's free to start. Paid plans run from $8 to $699 a month, sized by events, not seats. Compare that with a real quote from an analyst or an agency, or with what you pay for analytics, errors, uptime, flags and surveys separately.See the plans
Who sees my data?
You, the team you invite, and anyone you share a link with. It's hosted in the EU, and we don't sell it or share it with advertisers. When the analyst runs, query results go to an AI model provider to write the answer: mostly aggregated figures, sometimes individual events with their random IDs, user IDs and properties. Emails and traits sent with identify() stay out of its reach.Privacy policy
What is MetricMind?
MetricMind is privacy-first analytics for websites and mobile apps with a built-in AI analyst. One cookieless script and SDKs for iOS, Android, React Native and Flutter (beta) measure traffic, contacts, site search, Web Vitals, errors and crashes. You ask the analyst questions in plain words and see the query behind the answer; on Business and Scale it also investigates what changed and briefs you every morning. Data is hosted in the EU, and it's free to start.
Will the analyst change anything on its own?
No. When the next step is to measure or test something, it proposes a goal, a funnel, an alert, a timeline note or a feature flag (created switched off), and nothing is created until you click it.
Do I need to be technical?
No more than it takes to add a tag to your site, or to ask whoever built it. Contacts, searches, forms, errors and clicks are measured without any code; your own events are one line if you want them.
How is MetricMind different from other analytics tools?
Most analytics tools give you dashboards and leave the reading to you. MetricMind collects traffic, contacts, searches, Web Vitals, errors, crashes and uptime from one cookieless script and four app SDKs, and a built-in analyst explains what changed and shows the queries behind its answers.
Does it work for mobile apps?
Yes, in beta. iOS, Android, React Native and Flutter SDKs measure screens, sessions, events, users, contacts, searches, errors and crashes on the same site as your website, with release health per version. Each app gets its own dashboard next to the website's, under one overview that compares them. The docs list exactly what to declare to Apple and Google.
Will it slow my site down?
The script is about 12 KB, loads with defer, and batches network calls. Your visitors won't feel it.
Does it work with single-page apps?
Yes. Client-side navigation in Next.js, React Router, Vue and others is picked up automatically.