What is the best way to track what an Anonymous user did in my application? i.e. Anonymous user is invited to submit feedback in the application with a link in an email and completes questions and submits them. Whats the best way to link the feedback to the user?
A anonymous user is a System.User and available trough $currentUser just as any normal user. So you can model and store associations to this System.User as long as the session lives.
You can create a microflow as default homepage for an anonymous user and create a Tracking object linked to the CurrentUser. You can then set all their activities to their Tracking object.