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.
Page Rage Dead Errors /sell 33 18 47 /annonces/* 12 26 3 /compte 4 2 0 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 sINP140 msCLS0.04Passes 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%
SourcesPagesCampaignsCountriesGoogle1,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.
Searches that found nothing
Site search counted automatically, with the terms that came back empty, so you know what people asked for and you don't have.
Searches that found nothing, last 7 days
- canapé24
- golf 7 diesel11
- vélo enfant7
- table basse5
Each term opens the visits that searched it
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 FalconInstagram · Android
/annonces/voiture-123
1m 12s · scrolled 80%
Searched “golf 7”
41 results
Rage clicked “Voir le numéro”
3 clicks in 1 s
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 visitorsChatGPT180
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.
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")Releases
Crash-free users and ANRs per version, newest first
| Release | Users | Adoption | Crash-free users | ANR users |
|---|---|---|---|---|
| 612 | 41% | 97.9% | 0.62% | |
| 788 | 52% | 99.6% | 0.31% | |
| 402 | 77% | 99.8% | – | |
| 118 | 23% | 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.
- Query API and signed webhooks
- Server-side events with a small helper
- GitHub deploy markers on your timeline
- Sites API, and tracking through your own domain
$ 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 job | Usually a separate | In MetricMind |
|---|---|---|
| Traffic and conversions | Analytics tool | Cookieless analytics, goals, funnels, trends, cohorts |
| Broken pages | Error tracker | Error issues, spike alerts, app crashes (beta) |
| Site speed | Performance monitor | Web Vitals from real visitors |
| Is it up? | Uptime and status tools | Monitors, TLS checks, public status pages |
| Safe rollouts and tests | Flags and A/B tool | Feature flags, payloads, experiments |
| What visitors think and do | Survey and heatmap tools | Surveys, opt-in heatmaps, sessions without recording |
| Campaign links | Link shortener | Short links, QR codes, click analytics |
| “Why did this change?” | An analyst or agency | The AI analyst, with its queries shown |
Also included
- Import from Plausible, PostHog, Simple Analytics
- CSV export
- Saved segments and filters
- Public dashboards and share links
- Server-side events
- Query API and MCP server
- Signed webhooks
- Short links with click analytics
- Revenue from Stripe, Paddle or your page
- Two-factor sign-in, roles, audit log
- Exclude your team's visits
- Light and dark mode
Setup
- 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
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
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
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.
Free
$0 /month
Try it on one site.
10k events a month
- 1 website or app
- A few analyst questions
- No investigations
Hobby
$8 /month
A small site, an occasional question.
30k events a month
- 3 websites or apps
- 20 analyst questions a month + 1 a day
- 5 funnels, 10 goals, 10 flags
- No investigations
Pro
$39 /month
You ask it most days.
1M events a month
- 10 websites or apps
- 350 analyst questions a month + 5 a day
- 50 funnels, unlimited goals, 100 flags
- No investigations
Business
$249 /month
It reads the numbers so you don't have to.
2M events a month
- Unlimited websites and apps
- 100 investigations a month
- Scheduled questions and fix checks
- 1,500 analyst questions a month
Scale
$699 /month
More traffic, more investigations.
6M events a month
- Unlimited websites and apps
- 250 investigations a month
- Scheduled questions and fix checks
- 3,000 analyst questions a month
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
- 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.