> ## Documentation Index
> Fetch the complete documentation index at: https://help.getvero.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Add or update user profiles

> Create and update profiles via CSV import, HTML forms, API, or campaign audiences.

User profiles can be created and updated in multiple ways and each way is slightly different:

### Importing users via CSV

*Available in the Vero 1.0 UI only*

User identities and user data can be imported into Vero via CSV. This method allows you to bulk import users with their channel addresses (`email` `device_token` etc) and user properties (`first_name`, `company_name` etc) in one operation. \*\*

Each row in the CSV will either create or update a user in Vero depending on the `id` and `email` column. Whether a new user is created or updated also depends on your [identity stitching and resolution](/vero-2/user-profiles/identity-stitching-and-resolution) preferences.

[Learn about importing users via CSV](/vero-1/importexport/import-a-list-of-customers-via-csv)

### **Add users when they complete an HTML form**

*Available in the Vero 1.0 UI only*

Vero’s HTML forms let you capture a customer’s `email` (and optional fields like `first_name`) and send that data to Vero. When a user submits a form it both **creates/updates a profile** and **triggers an event** (e.g., `subscribed_to_blog`) you can use for segmentation or to trigger campaigns.

* By default, forms only collect `email`. If no `id` is included, Vero uses the email as both the profile’s `email` and its `id`.
* You can add extra fields (e.g., `first_name`) or a hidden id field if the user is already authenticated.

[Read more about creating forms in the Vero 1.0 UI](/vero-1/forms/creating-a-html-subscribe-form)

### Track users via the API

*Available in both Vero 1.0 and Vero 2.0 UI’s*

You can use Vero's identify API or SDKs to track new users and update existing users with user data such as `first_name` etc. The API method is ideal for real-time user tracking and updates when user perform actions in your product or service.

[Learn how to add users via the API](/developer-docs/getting-started)

### Add users directly to a campaign audience

*Available in the Vero 2.0 UI only*

In Vero 2.0 you can [add users directly to a campaign](/vero-2/campaigns/broadcasts/using-a-csv-to-create-your-audience). As soon as you import users to a campaign audience in Vero 2.0, our system will scan the audience and create or update a user profile for each unique user, stitching profiles based on the provided `id` and channel address values (such as `email`, `phone_number` or similar), read more about [**identity stitching here**](/vero-2/user-profiles/identity-stitching-and-resolution).

Adding users via a campaign audience is different to importing via a csv or via the API because only the channel addresses (`email`, `phone_number`) and identifier (`id`) are stored in Vero, user properties such as `first_name` or `company_name` **are not stored** in Vero when importing users directly to a campaign audience.

[Learn more about adding importing an audience](/vero-2/campaigns/broadcasts/adding-an-audience-to-your-campaign)
