Skip to end of metadata
Go to start of metadata

You are viewing an old version of this page. View the current version.

Compare with Current View Page History

« Previous Version 5 Next »

This is a work in progress. Hopefully one day it can be made to be more globally useful.

General Resources

Analytics Events in edx-platform

Designing new events

When designing new events, see the /wiki/spaces/AN/pages/13205895.  

Determine if your new event should make it into the publicly documented data package, or if it will only be used for internal purposes.  For internal-only events, you use the special prefix 'edx.bi.' for your event name.

Choose between server-side and client-side implementation of the event, and consider whether or not Mobile Analytics events need to be implemented separately for a native client-side feature.

Implementing in edx-platform

Implementing events in edx-platform is documented in Read the Docs, but this section provides some additional clarity and examples.

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).

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?
  • No labels