We have a web application mainly used by Customer Case representatives during the call with customer. Using this application Rep can search the customer details and make some communication between the users like creating service notes and assigning it to some user groups. On top of this application we need a user tracking system. Probably we need to capture below information.
Potential data points to capture: (one entry for each page or postback?)
URL (like page name, but includes all query string, etc)
Postback sender(?), what button/link was clicked
Notes (a free field where perhaps we can customize certain pages to log additional information if desired)
One obvious concern is the size that this table could grow to if we are logging a row for essentially every user action. It quite likely would be over a million entries a week (searches alone might be around 70,000 per week, which we already are capturing). However, we want the data accessible in a way so that we could reconstruct a user’s series of actions if desired, while also being able to query by page name and build a list that way.
Note: we would probably want to write it out using the Message Queue.
Please provide some suggestions and views.