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

Identify users

Tie anonymous traffic to logged-in accounts so funnels and retention make sense.

Call identify as soon as you have a stable user ID, usually right after login or signup. Use the same id on every platform (website, iOS, Android). The dashboard then treats that person as one visitor, with a session per device visit. Anonymous events on a device stay grouped with them once that device is linked.

The dashboard Events tab shows a "Connect visits to accounts" card when you have traffic but no identify events yet. It opens a wizard with snippets for your app.

By platform

Call right after login so future events tie to the same person across sessions.

JavaScript
Brekky.identify('user_123', {
  plan: 'pro',
});
Brekky.alias('user_123');
Brekky.reset();

Alias and reset

  • alias(userId, previousId?) merges an anonymous visitor (or old ID) into a known user. On web, previousId defaults to the current visitor ID.
  • reset() clears user ID, traits, and session state. Call on logout so the next visit is anonymous.
  • Traits are stored server-side and merged on each identify. Sensitive keys (passwords, payment, PHI field names) are dropped in the SDK and again on ingest.

Traits

  • Pass plan, role, or company as traits, not in the event name.
  • Keep trait keys short and snake_case to match event properties.
  • Do not send passwords, full payment details, or health data in traits.

Privacy and compliance

  • Project owners can erase a tracked user from the dashboard API (delete_tracked_user): profile, aliases, visitor links, and matching events are anonymized.
  • Brekky is built for product analytics, not regulated health records. Trait blocklists reduce accidental PHI, but HIPAA compliance still requires your own BAA, policies, and lawful basis for processing.
  • For GDPR, document lawful basis, honor opt-out where required, and use erasure when users ask to be forgotten.
On web, visitor ID lives in localStorage and session ID resets after 30 minutes of inactivity. reset() also rotates visitor and session IDs immediately.
Next: Cross-app handoffs