Setting up an Analytics Collection

Hi,

Getting used to database design so apologies if this is a rookie level question

I’d like to be able to track and update a few key user actions

  1. the number of minutes of audio that someone listens to sessions
  2. the number of plays of a session

I’d also like to collect analytics for the content itself
3) # of views of a series
4) # of plays of a series
5) # of plays of a session

Would you recommend I add a separate analytics collection for users and content or that I add all these data points as properties of the users / sessions collections? Or should I approach this differently altogether?

I’m also not understanding the nuance between screen based actions and component based actions…would I add the action to update the relevant field on a screen level or a component level?

Thank you!

Hey there!
Good question, I also struggled with for a client of mine’s app.

I first answer your last question: screen-based actions are actions that activate when the user visits the screen. For example, everytime the user arrives to a certain screen, you refresh the price.
Component-based actions are actions that happen when the component is clicked.

For the metrics you want to track:
1 Not currently possible, cause it’s neither a screen or component action
2 This is a component action. When the user clicks play, you log the action in a collection
3 This is a screen action. When the user access the page, log in collection
4 same as 2
5 same as 2

Hope to have been useful!

Paolo

1 Like

I would put analytics property in users collection, because it is available as logged in user.

Along with switches (true/false) and personalizations, also temporary variables, that is why my users collection exploded.

But hey, as long as it works and easy to achieve, that is no-code mantra, until it doesn’t, that is when we need to think over again, but that is tomorrows’ problem.

I don’t like it either, but I realized that is the rules.

You’re right - I think I need to not overengineer it and just let it work up to a point and then refactor it once i’m more settled

1 Like