Public dashboard

demo.metricmind.si

Analytics by MetricMind

A demo with sample data for an imaginary marketplace. MetricMind is in private beta: request access.

Visitors
5,285169 today
Pageviews
15,668417 today
Sessions
7,179171 today
Bounce rate
27.2%
Median engaged time
53s

Traffic

01,0002,000Sep 25Sep 29Oct 3Oct 7Oct 11Oct 15Oct 19Oct 23
PageviewsVisitorsToday so far

Pages

Top pagesVisitorsShare
/2,55425%
/annonces1,77117%
/Home1,26512%
/annonces/voiture-1239429%
/blog/conseils7728%
/vendre6797%
/Listing6747%
/Search5986%
/pricing5385%
/Messages3764%

Sources

SourcesVisitorsShare
Direct3,13552%
Google1,31322%
Facebook5449%
Hacker News4748%
Instagram2574%
ChatGPTAI1783%
PerplexityAI691%
ClaudeAI481%
GeminiAI290%

Audience

CountriesVisitorsShare
🇲🇦 Morocco4,04666%
🇫🇷 France78313%
🇪🇸 Spain4367%
🇺🇸 United States3195%
🇧🇪 Belgium2945%
🇩🇿 Algeria2254%

Actions

ContactsClicksShare
WhatsApp13547%
Contact button9433%
Phone5920%

What the analyst answered on this data

Real answers from MetricMind’s analyst: it queries the numbers above, shows its work and says when the sample is too small.

QWhy did errors jump on the sell page last week, and who does it affect?

Querying errors, errors by page, browser versions, devices, operating systems and goals · Querying errors, errors by page, daily signals, forms and goals · Querying devices, browser versions, forms, errors, flag impact, goals and countries · 24 queries

Sell-page errors: one bug that started Oct 18 and is still happening

All of the jump comes from one new error on /vendre: TypeError: Cannot read properties of undefined (reading 'price'). It first appeared on Saturday Oct 18 at 10:11 and has got worse since then. This week it reached 37.6% of the page's visitors. It hits mobile and desktop at about the same rate, so it doesn't look like a browser-specific bug. The page code is trying to read a price from something that hasn't loaded or doesn't exist, and that is crashing it.

The error, week by week

PeriodErrors on /vendreVisitors hitShare of page visitors
Oct 5–11000%
Oct 12–186 (all on Oct 18)62.7%
Oct 19–24545337.6%

The last occurrence was today at 20:23. Only 53 visitors were hit this week, but going from zero to more than a third of the page's visitors is far too big to be noise.

{"type":"line","title":"JS errors per day, whole site","labels":["Oct 12","Oct 13","Oct 14","Oct 15","Oct 16","Oct 17","Oct 18","Oct 19","Oct 20","Oct 21","Oct 22","Oct 23","Oct 24"],"series":[{"name":"Errors","values":[3,0,4,5,3,2,9,15,15,17,18,19,14]}]}

Why it's happening

  • The Android app shows the same pattern. Since Oct 20, the app's /Sell screen has crashed 15 times with Listing.getPrice() called on a null object (at SellViewModel.kt:88). The website and the app failing on the same missing price within two days of each other suggests one shared cause, probably the listing data or the API behind it. This isn't proven, because the web error has no stack trace.
  • The feature flags don't explain it. Neither flag shows a significant difference in reaching the sell page.
  • Traffic to the page is fine. 10.9% of visitors reached /vendre this week, against 11.9% last week, so the problem happens on the page itself.

To find the exact cause you'd need two things: the list of what was deployed on Oct 18, and source maps or a stack trace for the web error.

Who it affects

  • Device: 47 of the 59 affected visitors were on mobile (79.7%). Mobile is 78.9% of the page's traffic anyway, so all devices are hit at about the same rate.
  • Browser: It appears in 4 browsers, mostly Mobile Chrome on mobile and Safari on desktop. That matches who visits the page.
  • Country: Most sell-page visitors this week were in Morocco (95 of 142).

The cost

During the same period, more people started the "Publier une annonce" form and left without publishing:

PeriodStartedSubmittedSubmit rateAbandon rate
Oct 5–1724010644.2%57.9%
Oct 19–241033332.0%68%

This drop happened at the same time as the error, but the data can't show that the error caused it.

Evidence: sell-page errors since Oct 18 · sell-page traffic this week

Next step: Ask the developers what changed in the listing price field or the listings API around Oct 18. They should fix the web page and SellViewModel.kt:88 together, so that a missing price no longer crashes the page or the app.

["Is the Android app crash tied to a specific app version?", "How many listings did we lose this week compared to before?", "Did the listings API have any outages since Oct 18?"]
QWhich traffic sources bring visitors who contact sellers?

Querying source contacts, funnel detail, goals and sources · Querying goals and timeseries · 13 queries

Direct and google.com bring the most visitors who contact sellers: 349 and 195 of the 781 who did in the last 30 days. chatgpt.com has the highest rate, with 20.2% of its visitors contacting a seller. Its sample is still modest (178 visitors), so treat that as promising, not proven.

Contacts by source, 25 Sep – 24 Oct

The site measures contact in two ways, and they don't rank sources the same way:

  • Listing contacted is your goal, the listing_contacted event, counted per visitor.
  • Contact link clicks are phone, WhatsApp and email clicks the tracker records on its own, counted per session.
SourceVisitorsListing contactedGoal rateSessionsContact-link sessionsClick rate
Direct313534911.1%41251974.8%
google.com131319514.9%1414332.3%
facebook.com5448415.4%563203.6%
news.ycombinator.com4747415.6%489193.9%
instagram.com2573814.8%26041.5%
chatgpt.com1783620.2%18252.7%
Perplexity, Claude, Gemini (combined)1462315.8%14632.1%
{"type":"bar","title":"Visitors who contacted a seller, by source (last 30 days)","labels":["Direct","google.com","facebook.com","news.ycombinator.com","instagram.com","chatgpt.com","Other AI assistants"],"series":[{"name":"Listing contacted rate","values":[11.1,14.9,15.4,15.6,14.8,20.2,15.8]}],"unit":"%"}

What the numbers show:

  • Most sources convert about the same. Google, Facebook, Hacker News and Instagram all sit between 14.8% and 15.6%. That is not a meaningful difference.
  • Direct is the exception. It converts the fewest visitors to the goal (11.1%) but has the highest rate of phone and WhatsApp clicks (4.8% of sessions). That coincides with returning visitors who already know a seller and call them directly. This data alone can't confirm that.
  • AI assistants are small but strong. chatgpt.com has the best goal rate. Perplexity, Claude and Gemini each sent fewer than 100 sessions (69, 48 and 29), so their numbers are too few to rank them separately.

Goals by source, last 30 days · ChatGPT visitors

Limits of this data

  • No trend is possible yet. Daily traffic shows no tracked visits through 14 September, and the 90-day results match the 30-day ones exactly. So I can't say whether any source is improving or declining.
  • The "Browse to contact" funnel misses almost everyone who contacts a seller. Only 5 visitors completed it, about 0.2% of those who started it, against 781 visitors who reached the goal. It requires the steps in order: / → /annonces → a listing → contact. Most people who contact a seller evidently skip that path, probably by landing straight on a listing.

Next step: add a second funnel that starts at a listing page (/annonces/* → listing_contacted). That would show the contact rate on listings by source, including visitors who never pass through the homepage.

["Which listing pages get the most contacts?", "Why do direct visitors call more but use the contact form less?", "Which pages do ChatGPT visitors land on?"]
QHow much traffic do AI assistants like ChatGPT send, and what do those visitors do?

Querying ai assistants, ai vs others, ai landing pages, summary and goals · 7 queries

AI assistants sent 324 visitors (6.1% of all 5285) in the last 30 days, in 328 sessions. ChatGPT sent more than half of them. These visitors view slightly fewer pages and stay a little less time than other visitors. There are too few of them to say whether they convert better or worse.

By assistant (Sep 25 – Oct 24)

AssistantSessionsPages/sessionMedian engaged timeContact sessions
ChatGPT1821.9142.4 s5 (2.7%)
Perplexity691.9341.7 s1 (1.4%)
Claude481.8331.2 s2 (4.2%)
Gemini291.948 s0
{"type":"bar","title":"Sessions from AI assistants, Sep 25 – Oct 24","labels":["ChatGPT","Perplexity","Claude","Gemini"],"series":[{"name":"Sessions","values":[182,69,48,29]}]}

Only ChatGPT passes 100 sessions, so the differences between assistants aren't meaningful yet.

What they do

  • Engagement: 1.9 pages per session and 41.5 s median engaged time. Other visitors average 2.2 pages and 53.6 s.
  • Contact clicks: 8 sessions (2.4%), against 4.0% for other traffic. With only 8 contacts, this gap may be noise.
  • Where they land: the homepage (115), /annonces (89), /annonces/voiture-123 (42), /vendre (36), /pricing (25) and /blog/conseils (20). Every assistant sends people to listing pages, not just the homepage.
  • Goals: 51 AI visitors (15.7%) reached /vendre, and 59 (18.2%) triggered "Listing contacted".

Two caveats

  • Contact numbers disagree: the "Listing contacted" goal counts 59 AI visitors, but the contact-click metric counts only 8 sessions. They measure different things: one is your listing_contacted event, the other is automatic phone, WhatsApp and email clicks. Still, a gap this large suggests the event fires on something broader than an actual contact. Check that before using either number.
  • No trend yet: the previous 30 days (Aug 26 – Sep 24) have no AI assistant data at all, so I can't say whether this traffic is growing. Tracking of this source most likely started recently.

AI assistant traffic, last 30 days · ChatGPT visitors · Goals for ChatGPT visitors

Next step: check where listing_contacted fires on the site, for example on opening the contact form versus sending it. Then compare AI visitors' goal rates with the rate for all visitors.

["Where does the listing_contacted event fire?", "How do AI visitors' goal rates compare with all visitors?", "Which pages do ChatGPT visitors go to after landing?"]
QShould we roll out the one-page contact form?

Querying flag impact, forms, goals, funnels and errors by page · 6 queries

Yes, roll it out. In the last 30 days the one-page form got 22.2% of exposed visitors to contact a listing, against 15.9% on the current form. That's a 39.0% lift, and the result is statistically solid (p < 0.001) with over 1,000 visitors in each group.

Results by variant (2026-09-25 to 2026-10-24)

GoalCurrent form (1,167 visitors)One-page (1,214 visitors)Liftp-value
Listing contacted186 (15.9%)269 (22.2%)+39.0%< 0.001
Reached the sell page95 (8.1%)84 (6.9%)−15.0%0.259
{"type":"bar","title":"Conversion by contact-form variant","labels":["Listing contacted","Reached the sell page"],"series":[{"name":"Current form","values":[15.9,8.1]},{"name":"One-page","values":[22.2,6.9]}],"unit":"%"}

What to watch

  • The sell page. Fewer one-page visitors went on to /vendre (6.9% vs 8.1%), but this gap could easily be chance (p = 0.259). It doesn't argue against rolling out, but check it again after launch.
  • How long the test has run. The 30-day and 90-day results are identical, so the test started within the last month. The sample is large enough to trust, but it doesn't cover any seasonal swings.
  • A separate problem on /vendre. 8.7% of visitors to /vendre hit a JavaScript error, the highest share of any page. Separately, 62.3% of people who start the "Publier une annonce" form leave without sending it, most often after touching the "Prix" field. Neither of these involves the contact form, but they may be holding down the sell-page numbers in both groups.

Evidence: goals, last 30 days · errors on /vendre

Next step: Switch contact-form to one-page for everyone and add a timeline note with the launch date. Then compare "Listing contacted" and "Reached the sell page" for the 30 days before and after.

["What's causing the errors on /vendre?","Why do people abandon the sell form at the price field?","Is dark mode affecting conversions?"]

Want this for your site?

One script tag, no cookies, and an analyst that explains what changed. Free during beta.

Get early access →

Cookieless, privacy-first analytics. No personal data is collected or shown.