Docs

Get started

Use the dashboard

The dashboard is where you read your traffic and change how misomoon tracks a site. The same Worker that runs the API and the tracker serves it at / on your misomoon host, for example https://analytics.example.com/. To look around before you install anything, open the public demo at https://app.misomoon.com/?site=demo.

This page walks through every view and every Settings tab. For what each number means and how misomoon counts it, see What the numbers mean.

Find your way around

The sidebar on the left holds everything that isn't part of one view:

  • The site menu at the top. Select the site name to switch to another site you can see. Signed-in users also get Add a site at the bottom of the menu, which opens Settings > Sites.
  • The live counter, for example 3 people here now. It counts visitors in the last 5 minutes and refreshes every 30 seconds. Select it to open Live.
  • The list of views, each with its number key.
  • Your name and role, with a button to sign out. When you are signed out, a Sign in button takes their place.
  • The theme button, which switches between the day and night themes, and the Command button, which opens the command palette.

The dashboard has seven views:

ViewKeyWhat it shows
Overview1The summary, the KPI tiles and chart, and the panels for sources, pages, places, technology, actions, and speed
Live2Who is on the site now, minute by minute
Funnels3How many people get through a series of steps
Paths4Where people go after a page, or how they reached it
Behavior5Clicks, scroll depth, forms, site search, errors, media, and content blocks on a page
Speed6Web Vitals measured in real visitors' browsers
Settings7The script tag, goals, sharing, integrations, revenue, your team, your sites, and your account

On a screen 960 pixels wide or narrower, the sidebar is hidden. Each view then starts with a View menu and, when you can see more than one site, a Site menu. To sign out on a narrow screen, open Settings > Account.

The theme follows your system setting until you pick one. The dashboard saves your choice in this browser under the localStorage key misomoon.theme. It also remembers the last tab you opened in each panel.

Some situations replace the views with a single screen:

  • With no site yet, the dashboard asks Which site should we watch? and shows a form to add one. If you are signed out, it shows Sign in or create an account instead.
  • When a site has never had a visit, Overview shows the script tag to paste, with a Copy button. The page checks every few seconds and loads the dashboard as soon as the first visit arrives.
  • The Billing role sees no stats. Every view except Settings shows Billing access instead.

Pick a period

The period controls sit at the top right of Overview, Funnels, Paths, Behavior, and Speed. Live and Settings have none. The default period is the last 30 days. Days start and end in the site's timezone, which you set under Settings > Sites.

To pick a period, do one of these:

  • Select one of the quick periods: Today, 7 days, 30 days, or 12 months.
  • Open the period menu, which shows the current period's name, and select a period.
  • Press the period's key. The keys work whenever the period controls are on screen and you aren't typing in a field. You don't need to open the menu first.
KeyPeriodperiod value
DTodaytoday
EYesterdayyesterday
HLast 24 hours24h
WLast 7 days7d
FLast 28 days28d
TLast 30 days30d
NLast 90 days90d
MMonth to datemtd
LLast monthlastmonth
YYear to dateytd
SLast 6 months6mo
ZLast 12 months12mo
AAll timeall

Pick a custom range

  1. Open the period menu.
  2. Under Custom range, enter the two dates. The order doesn't matter.
  3. Select Apply.

A custom range covers at most 400 days. A longer range keeps Apply disabled and shows A custom range can cover at most 400 days.

You can also drag across the chart on Overview to zoom into the days you dragged over. The dashboard turns the selection into a custom range. Zooming works when the chart shows days, weeks, or months, not minutes or hours.

Compare two periods

The Compare buttons set what each number is compared with:

ButtonCompares withcompare value
OffNothing0
PreviousThe same length of time just before the period. This is the default.not set
Last yearThe same dates a year earlieryear

With a comparison on, each KPI tile shows its change, and the chart draws a second line labelled Previous period or A year earlier. Rates such as Left at once change in percentage points. A drop in Left at once shows as an improvement.

Include imported history

The Imported button appears only when the site has imported history from Google or a CSV export. It is on by default. While it is on, reports without filters add the imported days to what misomoon collected. Filtered reports never include imported data. To bring in history, see Bring your history.

Refresh and export

  • The refresh button loads every number again. Live refreshes by itself, and it has the refresh button too.
  • Export CSV, the download button, downloads a zip of CSV files for the current period and filters. The zip holds visitors.csv with one row per chart point, one file per breakdown such as sources.csv, pages.csv, and countries.csv with up to 1,000 rows each, and conversions.csv for your goals.

Read the overview

Overview reads from top to bottom. The summary sentence comes first, then the KPI tiles and the chart, then the panels.

Read the summary sentence

The card at the top puts the period into a few sentences, for example:

1,204 people visited in the last 30 days, up 12% on the period before. Most came through Organic Search (41%), and /pricing was the most opened page. The biggest audience is in Germany.

The sentence always compares with the period before, whatever the Compare buttons say. A change under 1% reads about the same as before. When someone is on the site now, a button such as 4 on the site right now follows the sentence and opens Live.

Pick a metric on the chart

Each KPI tile shows a total for the period, its change when a comparison is on, and a small line of its trend. Select a tile to draw that metric on the chart. Hover over a tile to read its definition. The Revenue tile shows only when the period has revenue above zero.

Tilemetric valueWhat it counts
PeoplevisitorsDifferent people, counted without cookies
VisitsvisitsTimes someone came by. A visit ends after 30 quiet minutes.
PageviewspageviewsPages opened, reloads included
Pages per visitviews_per_visitPages a visit opens on average
Left at oncebounce_rateVisits that saw one page and did nothing else
Time per visitvisit_durationTime from the first page to the last action of a visit
RevenuerevenueRevenue sent with events and payments

What the numbers mean explains how misomoon computes each one.

The chart picks a time step for the period. The buttons above it switch to another step that fits the period: minute for up to 6 hours, hour for up to 8 days, day for 2 to 400 days, week for 14 days or more, and month for 60 days or more. The last stretch of the line is dashed while its time step is still in progress. Hover over the chart to read the value at each point.

Mark an event on the chart

Notes mark a launch, a deploy, or a campaign on the chart. Each note shows as a flag on the point it falls in. The Note button shows for the Owner, Admin, Editor, and Guest editor roles.

  1. Select Note above the chart.
  2. Type what happened, up to 200 characters.
  3. Select Add. To cancel, press Esc.

The dashboard dates a note at the moment you add it. To mark an earlier date, or to mark deploys from CI, post the note with a ts through the API. The dashboard has no control for deleting a note.

Read the panels

Below the chart, six cards break the period down:

CardListsTabs or lenses
Where they come fromChannelsSites, Search terms, Links, Campaigns, Mediums, Landed on
What they readPagesMost opened, with time on page and the share read, First page, with the share that left at once, and Last page, with the exit rate
Where they areCountries, with a world mapRegions, Cities, Languages, Came via
What they useDevicesBrowsers, Systems, Screens, Networks
What they didGoals and eventsGoals, Events, Details sent
How fast it feelsWeb VitalsOpen Speed opens Speed

Where they come from, Where they are, and What they use have two columns. The left column lists the top channels, countries, or devices. Select a row on the left to break it down on the right, under within and the row's name. That doesn't filter the dashboard. For example, select Organic Search and then Sites to see which search engines sent people. To filter the whole dashboard by a left-hand row, select the filter icon on that row. Selecting a row on the right filters the dashboard by both rows.

Search terms shows only when the site has Google Search Console connected and you selected Organic Search. It lists Google searches with their clicks. Search Console reports searches, not visits, so its rows don't filter the dashboard.

What they read and What they did have one list with tabs. Select a row to filter the dashboard by it. Select it again to remove the filter. Details sent lists the custom properties sent with events, as rows such as plan: pro. Selecting one filters by that property. Goals and events that carry revenue show it next to their name.

Open the full list

Each card lists its top rows. To see every row, select See all, or All channels, All countries, or All devices on the two-column cards. The full list opens in a window that has these controls:

  • A search box that narrows the rows as you type.
  • Column headers that sort the rows. Select a header again to reverse the order.
  • Load more, which adds the next 50 rows.
  • Rows that filter the dashboard. Selecting one also closes the window.

The columns follow the list. Pages show pageviews, the share that left at once, time on page, and the share read. Goals and events show times, conversion rate, revenue, and average revenue. Other lists show people, visits, pageviews, the share that left at once, time per visit, and revenue when any row has some. To close the window, press Esc or select the close button.

Filter the dashboard

A filter narrows every number in every view to the visits that match. Filters stay when you switch views and clear when you switch sites. They also go into the URL, so a link carries them.

Filter by a row

Select a row in any panel. The filter bar under the period controls shows the new filter as a chip, such as Country is Germany. Select the same row again to remove it.

Build a filter

  1. Select Filter in the filter bar.
  2. Pick a Dimension.
  3. Pick an Operator.
  4. Type a value, or select one of the suggestions from your data. To match any of several values, separate them with |, for example Germany|France.
  5. Select Apply filter, or press Enter.

The dimensions come in five groups:

GroupDimensions
ContentPage, Entry page, Exit page, Hostname
AcquisitionChannel, Source, Referrer, UTM source, UTM medium, UTM campaign, UTM term, UTM content
LocationCountry, Region, City, Continent, Timezone, Network
TechnologyBrowser, Browser version, OS, OS version, Device, Screen, Language
BehaviourGoal, Event, Custom property

To filter by a property that you send with events, pick Custom property and type the property's name, for example plan.

OperatorMatchesIn the URL
isThe exact value. A * in the value matches any text, so /blog/* matches every blog post.==
is notEverything except the value. * works the same way.!=
containsValues that contain the text anywhere~
does not containValues that don't contain the text!~

Each dimension takes one filter. A new filter on a dimension replaces the one already there. The server refuses more than these limits, and the dashboard says so before it sends the filter:

  • 8 filters.
  • 6 values in one filter.
  • 16 values across all filters.
  • No ; or | inside a value.

Remove filters

  • Select the close button on a filter's chip.
  • Press Esc to remove the last filter you added. If a menu or a window is open, Esc closes that first.
  • Select Clear all, which shows when two or more filters are set.
  • Run Clear all filters from the command palette.

Live has no filter bar, but filters still apply there. A filter you add from a list on Live shows in the bar once you open another view. To remove it while you stay on Live, press Esc.

Save a segment

A segment is a saved set of filters. To save one, sign in and set up the filters first.

  1. Select Segments in the filter bar.
  2. Type a Segment name.
  3. To share the segment with everyone who can see the site, select Everyone on the site sees it. The checkbox shows for the Owner, Admin, Editor, and Guest editor roles. Without it, only you see the segment, and the list marks it you.
  4. Select Save current filters.

Saving a segment under a name that you already used replaces that segment's filters.

To apply a segment, open Segments and select its name. While the filters match a segment, the button shows the segment's name. To delete a segment, select the close button next to it. You can delete your own segments. Only the roles that can share a segment can delete a shared one. You can also limit a shared link to one segment, as Sharing describes.

Watch visitors live

Live shows the site right now and updates itself every 5 seconds while the browser tab is visible. It ignores the period.

  • The large number counts visitors in the last 5 minutes.
  • The bars show pageviews for each of the last 30 minutes. Hover over a bar to read its pageviews and visitors.
  • Live activity lists the latest 40 pageviews and events from the last 30 minutes, with the city or country, the browser, and the source.
  • Pages, Sources, and Countries list the top 8 of each from the last 5 minutes. Select a row to filter by it.

Build a funnel

Funnels counts how many people get through a series of steps, and where the others drop out.

  1. Select the new funnel button next to Saved. The new funnel starts with two steps, / and /pricing.
  2. Give the funnel a name.
  3. Pick a Funnel type:
    • Sequential: the steps in order, with other pages and events allowed in between.
    • Strict: the steps in order, with nothing in between.
    • Flexible: the middle steps in order. The last step counts anyone who reached it after the first step.
  4. For each step, pick Visits page or Triggers event, and type a path or an event name. A path takes *, as in /blog/*. Select Add step for more steps, up to 8.
  5. To keep the funnel, select Save funnel. The Owner, Admin, Editor, and Guest editor roles can save and delete funnels.

The result updates as you edit, for the current period and filters. It shows the share that Converted, how many Completed, and the share Of all visitors. Each step shows its visitors and how many dropped out since the step before. To change a saved funnel, select it under Saved, edit it, and select Save changes. Delete asks you to select it twice.

Goals, funnels, and paths explains goals, funnels, and paths in depth.

Follow paths through the site

Paths shows the pages people opened one after another.

  • Where they go next starts with the pages where visits began. Select a page to see where people went after it.
  • How they got there starts with the pages where visits ended. Select a page to see where people came from before it.

Each page you select adds a column, up to 6 pages. The trail above the columns shows your selection and how many visitors followed it. Select Start over to clear the trail. Switching direction clears it too. See Goals, funnels, and paths for how misomoon builds paths.

See what people do on a page

Behavior has seven reports: Clicks, Scroll, Forms, Search, Errors, Media, and Content. Each report except Scroll needs its feature ticked under Settings > Install > What to track. When the feature is off, the report says so, and Open settings takes you there.

Clicks and Scroll report on one page. If you filtered by a single page with is, they use that page. Otherwise, pick it from the Page menu, which lists the 50 most visited pages. Show on your site opens the page in a new tab and draws the clicks and the scroll depth over it.

See what people do on a page describes what each report counts and the attributes that shape it.

Check page speed

Speed shows five Web Vitals, measured in real visitors' browsers. They need Web Vitals ticked under Settings > Install > What to track (Choose what to track).

Each tile shows the 75th percentile, the number of samples, a rating, and a bar of how the samples split between the three ratings. The rating also has a shape: a circle for Good, a square for Needs work, and a triangle for Poor.

VitalMeasuresGoodPoor
LCPTime until the main content is visible2.5 s or lessOver 4 s
INPHow fast the page responds to clicks and taps200 ms or lessOver 500 ms
CLSHow much the layout moves while it loads0.1 or lessOver 0.25
FCPTime until the first text or image appears1.8 s or lessOver 3 s
TTFBTime until the server starts to respond800 ms or lessOver 1.8 s

Values between the two limits rate Needs work. INP needs interactions, so pages that people only read collect fewer INP samples.

Slice by lists the top Pages, Devices, Countries, and Browsers. Select a row to filter by it, and the tiles show the vitals for that slice.

Change settings

Settings has eight tabs. Each tab shows only when it has something for your role on the open site. Owner, Admin, Editor, and Guest editor are the roles that can edit a site. Owner and Admin can also manage people and sites. Work with your team lists what each role can do.

TabShows fortab value
InstallAnyone who can open the site. Only roles that can edit change it.install
GoalsAnyone who can open the site. Only roles that can edit add or delete goals.goals
SharingRoles that can editsharing
IntegrationsAnyone who can open the site. Imports and Search Console show only for roles that can edit.connect
RevenueRoles that can editrevenue
TeamThe site's team owners and adminsteam
SitesAnyone signed insites
AccountEveryoneaccount

With no site open, only Sites and Account show.

Install

Install holds four cards:

  • Install shows the script tag for the site, with a copy button. Paste it into the <head> of every page. Track your site covers custom events and revenue.
  • What to track sets what the tracker collects beyond pageviews. Pick a preset (Everything, Light, or Pageviews only) or tick the features one by one. The card also holds Search parameters, Only count these paths, and Never count these paths. Select Save to apply your changes. Choose what to track explains each feature.
  • Privacy sets Keep stats for (how long the site's visits and events are kept), Never count these IP addresses, and Respect Global Privacy Control and Do Not Track. Select Save to apply them. Below, Text for your privacy policy is a section for your own privacy policy that lists what the site's saved settings collect, and Opt-out button is a snippet for your privacy page. Both have a copy button. Privacy settings explains each one.
  • Proxy serves the tracker from your own domain, so ad blockers don't drop it. It offers a Managed subdomain when the server has it turned on, one-click deploy buttons, and snippets for your own stack. Path on your site sets the path the snippets use, /relay by default. Serve the tracker from your own domain walks through each option.

Goals

Goals lists the site's goals with their type, name, and match. To add a goal:

  1. Pick a Goal type: Event or Page.
  2. Type an event name, such as Signup, or a path, such as /thanks or /docs/*.
  3. Optionally, type a label.
  4. Select Add.

To delete a goal, select the delete button next to it. Goals count data you already collected. Goals, funnels, and paths explains goals and conversion rates.

Sharing

Sharing holds two cards.

Shared links creates a read-only dashboard at /share/<slug>. To create one:

  1. Type a name. Without one, the link is named Shared link.
  2. Optionally, type a password.
  3. Pick a Segment to limit the link to, or keep All traffic.
  4. Pick when it Expires: Never expires, 7 days, 30 days, 90 days, or 1 year.
  5. Select Create link.

Each link in the list has a button to copy its URL and one to delete it. See Share a dashboard for how shared links work.

Email reports sends summaries and alerts by email. Type an address, pick a Kind, and select Subscribe:

KindSendsSetting
Weekly reportA summary each weekNone
Monthly reportA summary each monthNone
Traffic spikeAn alert when visitors online pass a number, at most every 12 hoursVisitors, 10 by default
No trafficOne alert after a number of hours without a pageview, until traffic returnsHours, 1 to 168, 12 by default

Preview report opens the weekly report, or the monthly one when Kind is Monthly report, as it would be sent now. Send a test emails it. Reports need an email provider on the Worker (Configuration). Email reports and alerts covers reports and alerts in depth.

Integrations

Integrations holds three cards.

Connect AI tools (MCP) connects Claude, Cursor, or another MCP client. If you have no key for the site yet, select Create API key for and the site's name. The key reads only this site, and the dashboard shows it once. The card then fills the key into a claude mcp add command and a JSON config to copy. Rotate gives an existing key a new secret, and you select it twice to confirm. Tools that use the old secret stop working. See Ask AI tools about your traffic.

Import history brings in data from before misomoon:

  • Upload CSV or zip takes a CSV export, as a zip or as its CSV files.
  • Connect Google signs in to Google. Then pick a Google property, optionally the dates, and select Import. Without dates, the import runs up to yesterday. Import only the days before you added misomoon, or they count twice.

The list shows each import with its status, its dates, and its row count, and a button to delete it.

Google Search Console adds the Google searches that bring people to the site. Select Connect Search Console, pick the property, and select Connect. The searches then show under Where they come from > Search terms. Google reports searches about two days late. To disconnect, select the delete button next to the property. Bring your history covers imports and Search Console.

Revenue

Revenue connects a payment provider, so each payment shows under the source, campaign, country, and device that brought the buyer. Pick the provider: Stripe, Polar, Lemon Squeezy, Dodo Payments, or Your server. The card then lists the steps for it:

  1. Copy the webhook URL into the provider.
  2. Send the events that the card lists.
  3. Add the signing secret. For Stripe, Polar, and Dodo Payments, paste the provider's secret and select Save. For Lemon Squeezy and your own server, select Make signing secret and copy the secret, which shows once.

The status then reads Waiting, Live, or Problem, with the last event or error. Disconnect removes the provider. When payments came in during the last 30 days, the card shows how many there were and how many it linked to a visit. Connect payments covers each provider and the checkout ref.

Team

Team manages the people on the team that owns the open site. Everyone on a team holds one role on all of its sites. A guest sees one site only.

  • To rename the team, edit the name and select Rename.
  • To change someone's role, pick it from the menu next to their name. Only an owner can make someone an owner or change another owner.
  • To remove someone, select the delete button next to their name. On your own row, the same button leaves the team.
  • Guests on the open site and pending invitations show in the same list. You can change a guest's role, remove a guest, or withdraw an invitation.

To invite someone:

  1. Type their email address.
  2. Pick Access to: Whole team, or Only and the site's name for a guest.
  3. Pick a Role.
  4. Select Invite.

The dashboard shows the invitation link to copy. If the Worker can send email, it also emails the link. The link works for 7 days. Work with your team covers roles and invitations.

Sites

Sites holds up to three cards:

  • The open site's details, for roles that can edit: Name, Timezone, and Revenue currency. Select Save to apply them. The timezone sets where each day starts and ends in your reports.
  • Your sites lists every site you can see, with Open to switch to it. Under it, Add a site takes a domain. The dashboard guesses the timezone and the currency. Select Change to set them, or to pick the team when you belong to more than one. Select Add site, and the dashboard opens Install for the new site.
  • Danger zone, or Leave for roles that can't manage, holds the actions you can't undo. An owner can move the site to another team where they are an owner or an admin. Owners and admins can delete the site after they type its domain. Anyone except an owner can leave the team, or leave the site when they are a guest.

The dashboard has no control to make a site public or to set its daily cap. Set public through the Sites API, and the cap as Daily ingest cap describes.

Account

Account shows the email you signed in with and your role on the open site.

  • To change your name, edit it and select Save.
  • To change your password, type the current one and a new one of at least 10 characters, and select Save.
  • Sign out ends your session.
  • API keys lists your keys, with the site each one reads or all your sites, and when each was last used. Select the delete button to revoke a key. A key acts with your role, so it loses access when you do.
  • Delete account… asks for your password, then deletes your account (Delete your account).

When you are signed out, Account shows Sign in or create an account. Work with your team covers accounts and API keys.

Use keyboard shortcuts

The shortcuts work anywhere in the dashboard, except while you type in a field.

KeysAction
⌘ K on macOS, Ctrl K elsewhereOpen or close the command palette
1 to 7Open Overview, Live, Funnels, Paths, Behavior, Speed, or Settings
D, E, H, W, F, T, N, M, L, Y, S, Z, APick a period, as Pick a period lists. Works where the period controls show.
EscClose the open menu or window. With none open, remove the last filter.

The command palette runs any of these commands by name. Type to narrow the list, move with the arrow keys, and press Enter to run the highlighted command. Esc closes the palette.

GroupCommands
Go toEach view
PeriodEach period in the period menu
Switch siteEach site you can see
ActionsCompare with previous period, or Hide comparison while a comparison is on. Clear all filters. Switch to night theme, or Switch to day theme.

The dashboard keeps the URL in step with what you look at. Copy the URL to share the exact view, period, and filters with someone who can open the site. The dashboard leaves out a parameter that has its default value, and falls back to the default for a value it doesn't accept.

ParameterValuesDefaultExample
siteA site idThe demo site when you can see it, otherwise your first sitesite=shop
viewoverview, realtime, funnels, journeys, behavior, vitals, settingsoverviewview=vitals
tabinstall, goals, sharing, connect, revenue, team, sites, account. Used only with view=settings.The first tab you can seeview=settings&tab=goals
periodA period from the period table, or custom30dperiod=7d
from, toDates as YYYY-MM-DD, at most 400 days apart. Used only with period=custom.Noneperiod=custom&from=2026-09-01&to=2026-09-30
fFilters, in the format belowNonef=page~/blog
compare0 for off, year for last yearThe previous periodcompare=year
metricA metric value from the tile tablevisitorsmetric=bounce_rate
imported0 leaves imported history outIncludedimported=0

Each filter in f is a dimension id, an operator from the operator table, and one or more values. A semicolon separates two filters, and a pipe separates two values of one filter. This value keeps visits from Germany or France to pages that contain /blog:

text
f=country==DE|FR;page~/blog

The dimension ids are page, entry_page, exit_page, hostname, channel, source, referrer, utm_source, utm_medium, utm_campaign, utm_term, utm_content, country, region, city, continent, timezone, network, browser, browser_version, os, os_version, device, screen, language, goal, event, and prop: followed by a property name. Encode the value when you build the URL by hand. The Stats API reads the same grammar (API).

Three paths open something other than the dashboard:

PathOpens
/share/<slug>A shared link, as Open a shared or public dashboard describes
/invite/<token>An invitation from an email, on the sign-in screen
/reset/<token>A password reset from an email, on the sign-in screen

Open a shared or public dashboard

A shared link opens the site's dashboard read-only at /share/<slug>. If the link has a password, the dashboard asks for it first. After that, the browser tab stays unlocked for up to 7 days, or until the link expires if that comes first. Once the link expires or is deleted, the dashboard shows an error that says the link has expired or was removed.

A viewer on a shared link sees every view except Settings, and the sidebar reads Shared, read-only view. They can change the period, compare, filter, and export, but they can't add notes, save segments, or save funnels. When the link is limited to a segment, the server applies the segment's filters to every number. A filter of the viewer's own on the same dimension is ignored.

A public site opens read-only for signed-out visitors, the way the demo does. The site menu lists the public sites, and the sidebar shows a Sign in button. Once you sign in, the site menu lists only the sites where you have a role. Share a dashboard covers shared links and public sites.

Search every page and heading. ↑ ↓ to move, enter to open.