How Millimetry works
Organizations, apps and sites
Section titled “Organizations, apps and sites”You sign in with an emailed link: there are no passwords. Each person belongs to one or more organizations, with a role in each:
- Owners do everything, including billing and deleting the organization.
- Admins also invite people, create API tokens and export data.
- Members add and change apps.
- Viewers read the numbers.
An organization holds apps (native apps that use the Swift SDK) and sites (websites that use the tracker). Keep an app and its website separate: they measure different things, and the dashboard lets you switch between them in a keystroke.
Every app and site has a public key: ak_… for apps, wk_… for sites. A key identifies where an event comes from, and it is safe to ship in your binary or your page. It is not a password. You can add a second key and revoke the first at any time, for example after a key turns up somewhere it should not be.
Events
Section titled “Events”An event has a name (app_open, pageview, purchase), a time, and up to 25 properties you choose (plan: "pro", items: 3). Millimetry adds the context:
- Apps: OS and version, app version and build, device model, locale.
- Websites: the page path, the referring site,
utm_*campaign tags, browser, and screen size class. - Both: country and region.
Visitors and sessions
Section titled “Visitors and sessions”Millimetry counts visitors with an ID it computes on the server from the connection and a random secret that changes every UTC day. The same person on Tuesday is a different visitor from Monday, by design: no ID lasts long enough to follow anyone.
So the dashboard shows daily visitors, and figures such as “users in the last 30 days” are sums of daily counts, not unique people.
Sessions group a visit:
- Apps: a session lasts until the app has been in the background, or idle, for 30 minutes. It keeps one visitor ID even if the device changes network midway.
- Websites: a session ends after 30 minutes without a page view.
Debug data
Section titled “Debug data”Events from development builds (the Debug configuration, or isDebug: true) are marked as debug data. The dashboard shows them only when you ask, and deletes them after 30 days. Production data is kept for 25 months.
Where the numbers go
Section titled “Where the numbers go”- The dashboard at millimetry.app: the overview, event and property breakdowns, sessions, funnels, paths and live view.
- The API: the same numbers as JSON. See the stats API reference.
- Exports: an app’s raw events as Parquet or CSV (admins and owners).