This is a work in progress. Hopefully one day it can be made to be more globally useful.
General Resources
- /wiki/spaces/AN/overview (Tons of information)
- Mobile Analytics
Analytics Events (edx-platform)
If you need to create events, you should get familiar with the /wiki/spaces/AN/pages/13205895.
One decision to be made is whether or not the event should make it into the publicly documented data package, or if it will only be used for internal purposes. For this, you use a special prefix on the event name, 'edx.bi.', which will filter the events from the data package.
In addition to choosing between server-side and client-side implementation of event, consider whether or not Mobile Analytics events need to be implemented separately for your feature.
Server-side events (includes celery)
- Rule of thumb: Use server-side events where possible. More context is available. Less likely to have false duplicate events.
- tracker.emit
- Emits to Tracking Log and downstream tools (e.g. Vertica/Tableau, edX Research Package, etc.)
- Emits to Segment.
- In turn, based on whitelist, events are sent to Google Analytics (GA)
Client-side events
- Client-side events can easily have bad duplicates. Use server-side events when and where possible.
- Logger.log
- Note: Should be renamed to Tracker.emit, but requires a deprecation strategy including telling course teams.
- By default, emits to Tracking Log and downstream tools only.
- If you want to emit to segment as well, use this call and add the events to a whitelist that the Tracking Log will emit to segment.
- analytics.track
- Emits to Segment.
- In turn, emits to other tools (GA, Google Tag Manager, Optimizely, Qualaroo, Crazy Egg, Marketing tools.
- Use this if you want Segment only. If you want Tracking Log or both, use the other call (with or without the whitelist).
- Emits to Segment.
Tools
Analytics Tools:
- Google Analytics (GA)
- Google Tag Manager
- Firebase Analytics
- Fabric (Gabe said ?)
- Segment (a.k.a. Segment.io)
- Tracking Log
- Splunk4Tracking
- Vertica (Data Warehouse)
- Tableau (Visualization using Data Warehouse)
- edX Insights
- edX Research Packages
- Optimizely (A/B Testing)
- Qualaroo (survey tool)
- Crazy Egg (screen recording/heat mapping, may or may not be used)
- Marketing
- Sailthru (email marketing)
- Facebook ad reporting
Diagnostic Tools (includes Performance):
- CourseGraph (query course content usage)
- Splunk (logs)
- NewRelic (errors, usage, health)
- Datadog (deprecated)
Other Concerns
- Data storage
- Limits (e.g. Splunk Logs)
- Privacy (who has access?)
- How long does data live?