# Progressive Profiling

In our implementation, progressive profiling is achieved using a **form versioning system**. Each time new fields are added to the sign-up or profile form, you will need to increement the form version, ensuring that users only see fields they have not previously filled out.

Go to *Settings* > *Audience* > *Sign Up*

<figure><img src="/files/EN9zbStTzzsJi6DMJwsV" alt=""><figcaption></figcaption></figure>

\
\
Then scroll down to *Progressive Profiling*

<figure><img src="/files/6gaUWr0d8BoncU106qRY" alt=""><figcaption></figcaption></figure>

**Key Features**

1. **Incremental Data Collection**:
   * Users only fill in fields they have not already completed.
   * New fields introduced after the initial sign-up will be displayed when the form version is updated.
2. **Versioned Forms**:
   * The form version is a numeric indicator that tracks changes to the form fields.
   * Each update to the form (e.g., adding a new field) requires the version to be incremented by 1.
3. **Complete Profile Modal**:
   * A modal prompting users to complete their profile appears only for a specific piece of content.
   * This modal dynamically shows fields that are incomplete based on the current form version.

***

**Workflow**

1. **Initial Sign-Up**:
   * Users fill out a basic form with the initial version (e.g., **version 1**).
   * The system stores the data and the form version they completed.
2. **Adding New Fields**:
   * When new fields are added, the form version is incremented (e.g., from **version 1** to **version 2**).
   * Users who have completed version 1 will only see the new fields introduced in version 2.
3. **Determining Incomplete Fields**:
   * When the user interacts with the system, their stored profile version is compared to the current form version.
   * If their profile version is lower than the current form version, the system identifies which fields are incomplete and displays them in the profile completion modal.
4. **Complete Profile Modal**:
   * The modal appears when a user tries to access a specific piece of content.
   * Only fields that are incomplete (i.e., added in later versions) are shown, minimizing redundancy.


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://docs.wavecast.io/settings/access-control/progressive-profiling.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
