Understand How Progressive Profiling Works

Progressive profiling is the process of incrementally collecting additional information about your users as they engage with your website or application. You can gather detailed user information only when relevant to a user's activities.

For example, you could collect the user's name, email, and password during signup, then ask them for the name of their company and their job title the next time they log in.

Implementing progressive profiling improves your users' experience by:

  • Shortening registration forms.

  • Avoiding repetitive questions.

  • Collecting more relevant information.

  • Increasing conversion rates.

How it works

Every time a user authenticates through Auth0, Auth0 updates their user profile. The data used to update their profile can come from different sources:

  • Attributes supplied by the IdP.

  • Attributes created dynamically with Auth0 Actions.

  • Attributes returned from calling APIs such as FullContact and Clearbit.

  • Attributes managed by the application.

Use action triggers

With the post-login action trigger, you can modify a user's user_metadata and app_metadata fields during the login flow. This is useful for tasks such as storing application-specific data on the user's profile, recording whether or not specific operations have occurred for a user, or caching the results of expensive operations on the user profile so they can be re-used for future logins. To learn more, read Manage User Metadata with the post-login Action Trigger.

Use the Management API

You can use the Auth0 Management API Update a User endpoint to update the profile data of an authenticated user, including the app_metadata and user_metadata fields. To learn more, read Manage Metadata Using the Management API.

Use the Lock library

You can use the additionalSignUpFields option to add custom fields to user signup forms. When a user enters data into a custom field, Auth0 stores the value in their profile's user_metadata field. To learn more, read Lock Configuration Options.

Learn more