Tracking system-generated events

Hello! I run a SaaS web application with several clients, each of which has several users. I have user event tracking down, however I also want to track certain system-generated events.

For example, I have several processes that run on a per-client basis and I'd like to keep track of when those are run so that we can make that information available to the clients.

I also have several emails that are automatically sent by our system which wouldn't make sense to set a user_id on because those users did not initiate the action.

For scenarios like those, how should I proceed? Should I send the events to Segment with an anonymous user_id of "system" or something similar? Or is there another strategy I'm not thinking of?

Thank you!

3replies Oldest first
  • Oldest first
  • Newest first
  • Active threads
  • Popular
  • Hi Aaron,

    Segment tracking is intended to be based on tracking user actions. If you want to track system actions, you should treat the 'system' as a user. Using the same userId/anonymousId  for your system events will prevent you from incrementing your MTU count every time you make a call to Segment. 



  • Exactly what I was looking for. Thank you!

  • I would like to expand on that question with a use case

    For example, a user is deleted from the system if they haven't interacted with the app in more than 3 months.

    We have a cron job that runs on the backend and delete those users. In that case, we want to send a "Expired account" event, and that should be associated with the user but it wasn't initialized by the user

    Would it still make sense to send these events as a system user ?