I like the answer from local storage, but you can also write status information to another SharePoint list.
Keep track of the information based on each user (possibly against their user ID, as they are likely to be authenticated) and send an AJAX request or JSOM request with no visible callback behavior every time the view state changes (maybe even use a web artist for users, who support them).
Writing information to SharePoint lists is not the fastest operation in the world, so itβs possible that you could turn the banner, fire the request and the user close the browser before the request is completed, but in this case they will simply start on the same slide on which they were before (so just repeat the last step in the rare case when this happens).
source share