BrekkyDocs

Getting started

  • Introduction
  • Quickstart
  • Core concepts

Guides

  • Install the tracker
  • Track custom events
  • Identify users
  • Cross-app handoffs
  • Dashboard
  • Team & roles

Reference

  • SDK reference
  • MCP
  • FAQ
Open dashboard
⌘K
Log inCreate free accountSign up

Core concepts

Projects, apps, write keys, and events. The mental model behind Brekky.

Projects

A project is your product: one SaaS app, one marketing site, or both under the same roof. Each project has its own settings, team, and analytics data.

Apps

Within a project you can have multiple apps, one per platform. Common setups:

  • Website (web): tracked with brekky.js
  • iOS (ios): Swift or React Native
  • Android (android): Kotlin or React Native / Flutter

Switch apps in the dashboard sidebar to filter live stats, events, and charts to that surface.

Write keys

Every app gets a unique write key (e.g. bm_abc123...). Events sent with that key land in the right app. Keep keys in your install snippet or SDK init, not in public repos if you can avoid it.

Write keys are not secret API keys in the traditional sense, but they identify where data goes. Rotate them if one leaks.

Visitors, sessions, and users

  • Visitor ID: anonymous ID stored in local storage (web) or device storage (mobile). Each browser and phone gets its own id until you identify.
  • Session ID: one visit. Expires after 30 minutes of inactivity on web.
  • User ID: set with Brekky.identify() when someone logs in. The same string on web and apps is the same person in Visitors.
  • Handoff ID: stamped when someone hops from one app to another via Brekky.handoffUrl(). Sessions stay per device. The dashboard pairs the two visits. See cross-app handoffs.

Sessions in the dashboard is visit-level: open a session to see its event timeline. Visitors groups by person. Identified accounts collapse across devices. Anonymous traffic stays one row per browser or phone.

Funnels

A funnel is an ordered path of checkpoints. Example: land on pricing → start signup → finish signup. Brekky measures how many people reach each step and where they drop off.

  • Each checkpoint is an event (like add_to_cart) or a page view on a path. You can pick which app that event comes from, so a mobile sign-in can convert on the website.
  • You set how long they have to finish (same visit, 1 day, 7 days, 30 days, or no time limit).
  • Count each person once, or signed-in people only.
  • Optional filters narrow a step (e.g. plan = pro).

Track the events in your funnel before you build it so data is ready. Reports use live data for your selected date range. When the goal step carries amount and currency, the report also shows total sales. See Dashboard → Funnels for the builder and templates.

Revenue

Sales are not a separate data source. They come from payment events you send with an amount attached.

  • Counted events: checkout_completed and purchase
  • Required properties for rollups: amount (number) and currency (string)
  • Fire from your server when payment clears (Stripe webhook, etc.), not from the browser alone
  • Stats shows a Sales total. Sessions shows per-event amounts. Funnels sums sales on the goal step.

Full setup: Revenue tracking.

Events

An event has a name (lowercase, underscores) and optional properties. Names are normalized to a-z0-9_ and capped at 64 characters.

  • page_view (web, automatic)
  • app_open (mobile, automatic after SDK init)
  • Product events like cta_click, feature_used, screen_view
  • Account and sales events like login_completed, plan_selected, checkout_completed (usually server-side)
  • Problem events like signup_failed, payment_failed, error_occurred

The dashboard Events tab groups these into categories and includes setup guides for full flows like signup and checkout. Read Track custom events for the full catalog and naming tips.

Context attached to every event

On web, each event includes URL, path, title, referrer, locale, timezone, viewport, UTM params when present, and parsed device info (browser and OS, e.g. Chrome on macOS).

Project roles (summary)

RoleCan do
OwnerEverything, including billing (when live)
AdminSettings, invites, roles, tracking snippet
MemberDashboard and tracking snippet
ViewerRead-only dashboard

Full matrix: Team & roles.

Next: Install the tracker