fastmon Docs

Glossary

Terms used across fastmon, the dashboard, and this documentation.

Compact definitions. For depth, follow the link on each term.

Web Vitals

LCP: Largest Contentful Paint. Time until the largest visible element renders. The load metric. Good ≤ 2,500 ms at p75. See LCP.

INP: Interaction to Next Paint. Worst-case latency between interaction and the next paint. The responsiveness metric. Good ≤ 200 ms at p75. Replaced FID in March 2024. See INP.

CLS: Cumulative Layout Shift. Sum of unexpected layout shifts. Unitless. The visual-stability metric. Good ≤ 0.1 at p75. See CLS.

FCP: First Contentful Paint. Time until the first text or image renders. Diagnostic; explains slow LCP. See FCP.

TTFB: Time to First Byte. Time until the first response byte arrives. Diagnostic; the floor for FCP and LCP. See TTFB.

Experience Score: Composite score from 0.0 to 10.0, weighted across LCP, INP, CLS, FCP, TTFB, page-load time, and error rate. Mapped to letter grades A+ through F. See Experience Score.

Error rate: Share of pageviews with at least one JavaScript error (an uncaught exception or an unhandled rejection). Failed resource loads are not in it. See Error Analytics.

Failed resource load: An <img>, <script>, or <link> that did not load. Its own signal with its own rate (failed_resource_rate), split into your own hosts and foreign ones, because the foreign half is dominated by ad blockers. See Failed resource loads.

First party: Same registrable domain as the page. cdn.shop.example is first party to www.shop.example. The rule behind the error rate, the error origin, the Fetch/XHR split, and the resource list.

ScriptError: The error type for an exception the browser masks as Script error., thrown by a script from another origin loaded without CORS opt-in. No filename, line, or message, so it cannot be attributed to a file. See Errors.

Core Web Vitals: Google's three-metric set: LCP, INP, CLS. The metrics that affect search ranking.

Beacon and ingestion

Beacon: A single batched payload the tracker POSTs to /c/{collector_hash}. Also shorthand for the script at /s/{source_hash}.js that produces them. See The RUM Beacon.

Tracker: The running JavaScript agent the beacon script starts in the visitor's browser. It registers the observers, buffers values, strips URLs, and sends the beacons.

Collector: The server endpoint at /c/{collector_hash} that receives beacons, validates them, and writes them to the analytics store.

source_hash: Per-application hash in the script URL. Stable across beacon upgrades.

collector_hash: Per-application hash in the ingest URL. Distinct from source_hash so the script template can change without invalidating data.

Preset: A starting point picked when you create an application: Minimal, Standard (default), Full. It fills the application's tracker settings at once; after that each setting is independent. See Presets.

Page-view ID (pvid): Per-page-view identifier the tracker generates client-side. Not persisted.

pst / cst: Page-started timestamp / client-sent-at timestamp. Both visitor wall-clock, in milliseconds since epoch. The interval cst - pst is the reliable clock-skew-free measure of how long the page-view took before flushing.

Resources and accounts

Organization: Top-level account container. Owns applications, members, notification rules. See Organizations.

Application: One tracking snippet. Owns the served bundle, both hashes, and every tracker setting, and serves one or more sites. See Applications.

Plan: Organization tier: none, beta, light, standard, partner, enterprise. Gates features and quotas. A new organization starts on none; the billed unit is the production application. See Organizations → Plans.

Site: One domain under an application, with its own dashboard and traffic. The hashes and collection settings live on the application; a site carries only per-domain overrides. See Sites.

Visitor: A distinct visitor, counted along an identity axis: stitch (edge-derived, present in every mode, the default) or session (consent-gated). Anonymous by construction. See Visitors and sessions.

Session: A 30-minute window of page-views from the same browser, grouped by session_id. One of the two visitor identities, and consent-gated. See Visitors and sessions.

Release: Versioned deploy marker, scoped to an application. Used by analytics compare_to_release_id for before/after comparisons. See Releases.

Tag: Free-form label on a site (max 10) for organizing sites. Cross-site analytics scoping by tag is planned; tags don't filter analytics yet. Conventions: env:production, team:growth, etc.

Member: User attached to an organization with a role (owner / member / viewer). See Organizations → Roles.

Permission: One capability inside an organization, in resource:action form (analytics:read, release:write). Roles are bundles of permissions; API key scopes are permissions.

Invite: Pending membership awaiting acceptance.

API key: Secret sent as a Bearer token for programmatic access. Scoped to permissions, bound to organizations, optionally expiring; editable and rotatable in place. Hashed server-side; lost keys are unrecoverable. Personal keys (fm_…) follow their owner's role; organization keys (fmo_…) belong to the organization. See Authentication.

Organization key: An API key (fmo_…) the organization owns. No owner, so its scopes are its whole authority; it survives the person who created it. Managed under Organization settings → Access with org_key:manage. See Authentication.

Connected app: A first-party integration authorized via OAuth. Holds a grant (usually organization-owned) with short-lived access tokens and rotating refresh tokens instead of an API key. See OAuth apps.

Storage and infrastructure

Configuration DB: Relational store for users, organizations, sites, settings.

Analytics store: Columnar store for beacon events and aggregated metrics.

Session store: In-memory store for sessions, rate limits, short-lived caches.

Partner client: A sub-organization a partner-plan org operates on behalf of someone else.

API

Envelope: Wrapper around the response body. Single resource = raw; list = data + meta; error = error. See API overview.

Cursor pagination: High-volume endpoints return meta.next_cursor; client sends it back as ?cursor=…. See Pagination.

Offset pagination: Default scheme. ?limit and ?offset, response includes meta.total and meta.has_more.

X-Request-ID: Header on every response. Mirrored into error.request_id on failure. Always include when reporting issues.

UUID v7: Time-sortable UUID format used for all resource IDs.

Other

RUM: Real User Monitoring. Measuring performance from real visitor browsers, as opposed to synthetic tests in a lab.

LoAF: Long Animation Frame. Browser API exposing frames that took longer than 50 ms; usually the root cause of bad INP.

Third-party: A request to a domain different from the site's own. Fastmon groups these by domain and category for impact analysis. See /analytics/third-party.

Checkout stage: A server-derived label on a pageview (cart, checkout, success, or empty), set at ingest by matching the page URL against per-stage patterns. The building block of the checkout funnel; a filter everywhere, and a group-by dimension in the Explorer. See Checkout funnel.

Cart interaction: A pageview during which the page sent a POST to a known cart endpoint of the shop system (add, change, remove), read from the fetch/XHR telemetry. Reported beside the funnel steps, never as one. See Checkout funnel.

window.fastmon.grantConsent(): The function your CMP calls after consent to switch on the on-device session-id write (when collect_sessions is on). There is no mid-session revoke: the session id is tab-scoped, so declining just means the write never happens. See Consent and the TDDDG.

On this page