Skip to Content
ConceptsIdentity

Identity

A user starts anonymous — tracked by a device/session ID the SDK generates locally. Calling identify(userId, attributes) associates a stable, integrator-supplied user ID with that activity going forward; the user is now identified.

oneSygnal.identify('user_123', { plan: 'pro' });

logout() vs reset()

These are two different operations, and web only has one of them:

  • logout() — clears the identified user, reverting to anonymous tracking. Available on every platform.
  • reset() — mints a new anonymous ID and re-fetches surveys. Available on Android and iOS (and bridged on Flutter); absent on web, deferred rather than guessed — web has never distinguished “clear the identified user” from “mint a new anonymous ID,” and adding reset() there is a product decision, not an implementation gap.

If you’re porting logic from a native integration to web, don’t assume logout() does what reset() does elsewhere — it doesn’t generate a new anonymous ID.

See Platform Parity for the full per-platform breakdown.