A focused blueprint for teams standing up analytics without boiling the ocean.
Start with a reliable stream of pageview events, each associated with a visitor and a session. Sessions should expire after a period of inactivity (e.g., 30 minutes). Include URL, title, referrer, language, timezone, viewport size, and UTM parameters where present.
Why: This is the backbone for funnels, pathing, and attribution. If this layer is flaky, everything above it suffers.
Instrument a handful of primary CTAs such as Sign up, Contact, or Request demo. Attach stable identifiers and optional metadata (e.g., placement = hero/footer/sidebar).
outbound flag for external destinations.text snippet for easier reporting.Emit an event when important forms are submitted, plus an error event for client-side validation failures (missing required fields, invalid email, etc.). Avoid sending PII; derive only what you need for aggregate metrics (e.g., “invalid_email = true”).
Why: Small changes to copy, field order, or validation can materially change completion rate.
Capture search_query (with query string and result count) and search_select (the chosen item). Monitor zero-result rate and popular queries to improve navigation and content coverage.
Track scroll depth in coarse bands (e.g., 25%, 50%, 75%, 90%) and consider periodic heartbeat pings while the page is visible. These signals help you distinguish idle tabs from engaged readers.
Outbound clicks are a great sanity check for event delivery because they commonly occur right before navigation. Use sendBeacon where available so the event flushes without delaying the user.
Capture error and unhandledrejection to monitor client stability. For performance, a minimal set—TTFB, DOM ready, load event, FCP, and LCP—goes a long way toward spotting regressions.
sendBeacon) with a resilient fallback and retry.Start with a lean, durable schema and prove end-to-end delivery. Once trustworthy, extend with business events (pricing interactions, onboarding steps, feature usage) and wire them to decisions: product changes, documentation updates, and roadmap priorities.
Join the Beta