InvergeDocs

Product analytics

Custom product events with properties, correlated to the session and person that produced them.

Track what people do — signed_up, order_placed, screen_view — with any JSON properties. Events are buffered, batched and session-correlated, so tracking is cheap on the hot path and every event can be seen in the context of its session.

Tracking

context.nexus.events.track('order_placed', properties: {'total': 42.0, 'currency': 'USD'});
await context.nexus.events.flush();               // optional: send now

// Called for every tracked event (surveys and in-app triggers use this).
context.nexus.events.onTracked = (name) => debugPrint('tracked $name');

Properties

  • Any JSON-serialisable object. defaultProperties from the SDK config are merged into every event; call-site properties win.
  • Up to 1000 events per request; event names up to 200 characters.
  • Server SDKs accept per-call context: distinctId, sessionKey, deviceKey, release, appVersion, osType, osVersion, browser, timestamp.
  • Omit timestamp and the server stamps arrival time — pass it explicitly when sending events that happened earlier.

Naming events

Use object_action in the past tense (order_placed, invite_sent), keep names stable, and put variable parts in properties — screen_view with {name: 'checkout'}, not checkout_screen_view. The console's event catalog lists every distinct name it has seen.

Events power other products

In-app messages and surveys can be triggered by an event name: tracking it on the device shows the message.

Reference

Flutter · JavaScript · PHP · Python · .NET · REST

On this page