Overview
The analytics system provides:- Event tracking - Track user actions and conversions
- Screen tracking - Automatic screen view events
- User identification - Link events to users
- Privacy controls - Respect Do Not Track preferences
- Offline queueing - Events queued until ready
- Type safety - Strongly typed events and properties
Analytics Class
The core Analytics class manages all tracking:src/analytics/index.ts
Event Tracking
Define Events
src/analytics/event.ts
Track Events
Screen Tracking
Automatic Screen Tracking
Screen views are tracked automatically via navigation:Manual Screen Tracking
User Identification
Identify on App Start
Set Wallet Context
Wallet Context
src/analytics/getWalletContext.ts
User Properties
src/analytics/userProperties.ts
Update User Properties
Privacy Controls
Do Not Track
User Consent
Event Queue
Events are queued until Rudderstack initializes:Metadata
Default metadata attached to all events:Real-World Examples
Transaction Tracking
Feature Usage
Settings Changes
Best Practices
Type all events
Type all events
Define events in
event.ts with typed properties:Hash sensitive data
Hash sensitive data
Never send PII - hash wallet addresses and emails:
Include wallet context
Include wallet context
Pass wallet context to track events:
Respect privacy settings
Respect privacy settings
Check Do Not Track before tracking:
Use meaningful event names
Use meaningful event names
Use descriptive, consistent event names:
Testing
Mock Analytics
src/analytics/__mocks__/index.ts
Test Event Tracking
Debugging
Development Mode
Verify Events
Use Rudderstack’s debugger to verify events in development.Configuration
Next Steps
Logging System
Learn about Rainbow’s logging
Storage
Back to storage system