Users are generally not too keen on registering to try an application. They prefer to do it anonymously and then register after the application has proven useful to them. Therefore, providing the same or similar functionalities to registered and non-registered users is a key to success in several markets, and it implies a significant challenge from the programming viewpoint, even more so if we want to maintain the information provided by a user who worked anonymously after that user becomes registered.
Activating the Auto-register Anonymous User property in the Smart Device environment provides all the functionality required, with no need for significant considerations in the logic of the application.

GAM - Auto-register anonymous users - How it works
GAM - Auto-register anonymous users - How to identify them
GAM - Auto-register anonymous user - Panel usage example

FAQs

Q: What permissions does the auto-registered user apply for executing?
A: Read the document What permissions does the registered user apply for executing

Q: If the GAM user logs out and accesses again as an anonymous user, is it possible to recover that user’s information?
A: No, it isn’t. This must be solved programmatically, using ClientInformation API external object (X Evolution 3) to store the user’s information when not logged in order to recover it after login.

Q: What happens when an action or event in an object accepting the auto-registered user prompts the user to enter credentials
A: Auto-Registration in SD: What to do when a certain action requires the user to log in