The manual
47 pages: installing the tracker, everything it reports, how machine traffic is named and counted, and how to run the whole stack on one machine. Where a capability is not built yet, the page says so instead of describing it.
<script
defer
data-site="1"
data-host="https://analytics.example.com"
src="https://analytics.example.com/mf.js"
></script>That is the browser half of the install. The machine half is a server log, because no crawler will ever run the line above.
Getting started
From an empty site to a first pageview.
- InstallationTwo halves: a script tag for the people, a server log for the machines.
- The script tagEvery data attribute the tracker reads, and what each one turns off.
- The npm package@micaforge/sdk, its framework wrappers, and when to use it instead of the tag.
- Verify it worksThirty seconds to prove the tracker is reporting, and what to check when it is not.
Tracking
What the browser reports, and what it does not.
- PageviewsWhat a pageview carries, when it is sent, and how engagement time is measured.
- Custom eventstrack(), event properties, and what belongs in a property rather than a name.
- identify()Attaching your own id to events, and the privacy trade you make when you do.
- Outbound and downloadsAutomatic capture of links that leave the site and links that fetch a file.
- Single-page routingHow client-side navigation becomes pageviews, and when to drive it yourself.
- Web VitalsThe five metrics collected, how they are measured, and where they surface.
- Error trackingWhat the store and the report already do, and the recorder that is not written yet.
- Session replayThe store, the retention and the route exist; the recorder does not.
- Feature flagsA synchronous flag client that never flickers, and what it sends back.
- ExperimentsA/B tests, the two columns they write to, and which install can write them.
- Proxying the scriptServing /mf.js and the ingest endpoint from your own domain.
Machines
The audience a script tag cannot see.
- What counts as an agentThree tables, three answers, and why naming a client is not the same as guessing at one.
- Shipping server logsThe log shipper, the framework middlewares, and the signed endpoint they both use.
- Verifying agentsNamed is a claim. Verified is a check against what the operator publishes.
- robots.txt and llms.txtWhat your site said, what the agents did, and the difference between the two.
- The Citation GapFetches per arrival, per URL: how it is computed, what each verdict means, and what it cannot see.
- Content decayPages people stopped reading while the machines did not.
Reading the record
Each screen, and the question it answers.
- Filters and segmentsEvery dimension you can filter on, the operators, and how to save a set of them.
- GoalsFive kinds of conversion, what each one matches, and how value is attached.
- FunnelsOrdered steps, a completion window, and where people leave.
- JourneysWhere a page leads, as a flow rather than a list.
- RetentionCohorts by week or month, and what a cookieless tool can honestly claim about them.
- Custom dashboardsBuilding a screen out of the same reads every other screen uses.
- SharingPublic dashboards, private links, scopes, passwords and expiry.
- The query consoleBuilding a read by hand, and seeing the exact request before it is sent.
The API
Read your own data, or let an agent read it.
- AuthenticationSession cookies for the dashboard, bearer keys for everything else, and a signature for ingest.
- Stats APIOne query envelope, every read endpoint, and the response shape they all share.
- Events APIThe four ingest endpoints, their payloads, their limits and what they answer.
- MCP serverTwelve read tools over JSON-RPC, so an agent can query the analytics it is helping to produce.
- Rate limitsWhat is limited, by how much, and what a limited request looks like.
Self-hosting
One machine, five containers, no outbound call.
- Installing the stackOne machine, five containers, about ten minutes.
- ConfigurationEvery variable the server reads, what it defaults to, and what happens when it is unset.
- UpgradingOne script, a dump before anything changes, and a rollback note when it is done.
- BackupsTwo stores, two methods, and the restore drill that ships beside them.
- ScalingWhere the load actually goes, and what to change first.
- TroubleshootingThe faults that actually happen, in the order they happen.
Migrating
Bringing history over from another tool.
Privacy
What is stored, and what is never stored.
- What we storeEvery column, and the three things that are never written down.
- Cookieless identificationHow a visitor is counted without a cookie, and what that costs you.
- GDPR and consentWhat the product does, what that means for consent, and where our answer stops.
- Data retentionWhat expires, when, and how deletion is actually done.