createGrainAnalytics()
Creates a new Grain client instance.config- Configuration object (see Configuration)
track()
Track an event. Two signatures available:track(eventName, properties?, options?)
eventName- Name of the eventproperties- Optional event propertiesoptions.flush- Force immediate send (default: false)
track(event, options?)
event- Complete event objectoptions.flush- Force immediate send
flush()
Manually flush all queued events.- Before page navigation
- Critical events
- Serverless functions
- Before app closes
setUserId()
Set global user ID for all subsequent events.userId- User identifier, ornullto clear
identify()
Alias forsetUserId(). Sets user ID for subsequent events.
userId- User identifier, ornullto clear
getUserId()
Get current user ID.null if not set
Example:
setProperty()
Set user properties for analytics and personalization.properties- Up to 4 key-value pairs (values converted to strings)options.userId- Optional user ID override
- Maximum 4 properties per request
- All values converted to strings
- Subject to rate limiting
destroy()
Clean up resources and send remaining events.- Flushes queued events
- Removes event listeners
- Cleans up timers
- Stops auto-refresh