How We Used Anonymous Users to Improve User Journeys

How We Used Anonymous Users to Improve User Journeys

By:
Marco Araya Jiménez
Published on:
August 8, 2024

At Flywheel, we constantly strive to enhance user engagement and satisfaction in our projects. One such endeavor was in the Settlement Swipe app, where we aimed to transform the journey of our users from anonymous explorers to registered members, ensuring a seamless transition that retained all their interactions and saved data.

Settlement Swipe allows users to dive into their app without the immediate need for registration. This approach lets users freely swipe right or left to archive or save investigations, exploring the app’s full range of features anonymously. But we envisioned a more enriched user experience, where once users decided to commit, their journey would continue uninterrupted and all their interactions would be preserved.

Starting as an anonymous user lowers the entry barrier, making it more inviting for users to engage with the app. It offers a no-pressure environment where they can get a feel for the content and functionalities. However, the real magic happens when these users decide to register. The challenge was to ensure their transition from anonymous to registered user was smooth, retaining every piece of data, every saved swipe, and every interaction.

This seamless transition made users feel valued, as their initial explorations and interactions were not lost in the registration process. It’s about making the decision to register feel like a natural, rewarding progression rather than a reset.

Technical Implementation

In this tutorial, we’ll walk you through the technical details of how we achieved this seamless transition using FlutterFlow, Dart, and Firebase. To achieve this transition, we leveraged Firebase’s native support in FlutterFlow, along with its capabilities for anonymous authentication and linked accounts. Here’s a step-by-step overview of the technical process:

Anonymous User Setup

Initially, when a user interacts with the app, they are assigned an anonymous user ID. All interactions and saved data are linked to this ID in Firebase.

User Registration

When the user opts to register, they can choose to sign up using email/password or through third-party authentication providers such as Google or Apple.

Data Linking Process

Upon successful registration, Firebase’s linked account functionality allows us to transfer all associated data from the anonymous user ID to the new registered user account. This involves updating the database entries to replace the anonymous ID with the registered user ID.

Custom Functions in FlutterFlow

We utilized FlutterFlow’s custom function capabilities to handle the data transfer process. This included functions to query Firebase for anonymous user data and update the entries with the new user ID.

Linking Auth Provider Credentials to a User Account

To link auth provider credentials to an existing user account:

  1. Sign in the user using any authentication provider or method.
  2. Complete the sign-in flow for the new authentication provider up to, but not including, calling one of the signInWith- methods. For example, get the user’s Google ID token, Facebook access token, or email and password.
  3. Get a Credential object for the new authentication provider.
  4. Pass the Credential object to the sign-in user’s linkWithCredential() method.

In our case, the implementation of converting an anonymous user to a regular user (using email and password) looks like this:

Firebase Integration

Firebase natively supports anonymous authentication and linked accounts in FlutterFlow, simplifying the integration process. We implemented OAuth flows for Google and Apple sign-ins and ensured the smooth linking of data post-authentication. For more detailed information and examples, you can refer to the Firebase documentation.

By following these steps, we successfully ensured that users could start anonymously, engage with the app, and later register without losing any of their saved interactions. This technical solution not only improved the user experience but also enhanced user retention and satisfaction.

Conclusion

The implementation of anonymous to registered user conversion in Settlement Swipe has significantly improved the user experience. By leveraging FlutterFlow’s native support for Firebase, we seamlessly transitioned users from an anonymous state to a registered account, retaining all their data and interactions. This approach not only enhances user satisfaction and retention but also showcases the power of modern development tools in creating user-friendly applications.

Interested in a free app review?

Schedule a call

Starting a new project or want to chat with us?

Subscribe