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

# Manage customers

> A comprehensive guide on creating, importing, and maintaining individual customer records in the Voucherify Dashboard

Voucherify uses customer data to help you run targeted promotions, apply validation rules, and track engagement. You can manage your audience by creating individual profiles, synchronizing data from external systems, or performing bulk imports.

To manage customers, go to **Engagement** > **Customers** in your dashboard.

## Customer data

Each customer profile in Voucherify consists of:

* **Standard attributes**, such as name, email, phone number, and address.
* **System-generated data**, which contain details about orders, redemptions, loyalty points, and referrals.
* **Wallet**, which lists the incentives the customer has currently, like discount coupons, gift cards, referral codes, and loyalty cards.
* **Metadata**, which shows custom attributes used for segmentation, validation rules, personalization, and geofencing.

Understanding this structure is key to modeling customer data correctly and avoiding unintended overwrites.

### Customer identification

Every customer is identified by two unique identifiers:

* **Customer ID**\
  A unique internal identifier assigned automatically by Voucherify.

* **Source ID**\
  A custom identifier from your own system, such as a CRM ID, email address, or phone number.

<Tip>
  Use the **Source ID** to keep your external database in sync with Voucherify. When a customer is created or imported with an existing source ID, Voucherify updates the existing profile with new data.
</Tip>

## Create a customer profile

Customer profiles are created automatically when data is synchronized through API or integrations. You can also add customers manually in the Dashboard with a customer profile builder.

If you want to **Edit** the customer profile, go to the customer detailed view and go to the menu in the top-right corner of the screen.

### Add customer manually

To add a customer manually in the Dashboard go to **Engagement** > **Customers**.

<Steps>
  <Step title="Open customer builder">
    Use the three-dot menu in the upper-right corner to add a customer.
  </Step>

  <Step title="Enter customer details">
    Provide the following information:

    * **General**: Name, Source ID, description, birthdate.
    * **Contact**: Email address and phone number.
    * **Address**: Physical location details.
  </Step>

  <Step title="Metadata (optional)">
    Add custom attributes for tracking, optimizing, or experimenting.

    You can either:

    * **Use an existing metadata schema**.
    * **Add unknown property**: metadata that isn't defined and won't be added to the schema.
    * **Add to schema**: define new metadata schema. Once saved, reload the schema to use the new metadata.

    <Note>
      Read [Metadata](/prepare/metadata) to learn more about custom attributes.
    </Note>
  </Step>

  <Step title="Summary">
    Check if the data is correct and **Save** to add the customer profile.
  </Step>
</Steps>

A customer profile is added with a unique Voucherify ID.

## Data import and synchronization

Voucherify offers multiple ways to keep customer data up to date across systems.

### CSV import

CSV imports allow you to create new customer profiles or update existing ones in bulk. The CSV import file must include the **Customer ID** or **Source ID** and the fields to update.

<Note>
  **Import guidelines**:

  * **Maximum file size**: 10 MB.
  * **Date format**: ISO 8601 (for example, `2022-03-11` or `2022-03-11T09:00:00.000Z`).
  * **Headers**: Metadata headers must not contain spaces.
  * **Boolean metadata**: Use `true`, `false`, or `null`.
</Note>

<Warning>
  When importing customers using **Source ID**, existing profiles with the same Source ID are fully overwritten. This includes standard attributes and metadata.
</Warning>

<Steps>
  <Step title="Prepare the file">
    Download the [CSV import template](/examples/import-customers-template.csv) and populate it with customer data using supported field names.
  </Step>

  <Step title="Upload the file">
    In the **Customers** view, click **Import** and upload your CSV file.
  </Step>

  <Step title="Map attributes">
    Map CSV columns to Voucherify fields. Columns not mapped to standard fields can be imported as metadata.
  </Step>

  <Step title="Import">
    Confirm the mapping and click **Import**. You will receive a notification once processing is complete.
  </Step>
</Steps>

### Metadata in imports

Customer metadata are handled as follows during the CSV import:

* Metadata defined in the **Metadata Schema** preserves its data type (number, date, boolean, array).
* Metadata imported without a schema definition is stored as **unknown metadata** and treated as a string.
* Unknown metadata cannot be used for numeric or date-based filtering until it is added to the schema.
* Nested metadata objects are not supported.

## Delete customers

You can delete customers using the three-dot menu (⋮) at the end of each customer record or through a dedicated API endpoint.

<Warning>
  Deleting a customer permanently removes their profile and may impact reporting, redemptions, and loyalty history.
</Warning>

## Export customer data

Export customer data to analyze it in external analytics, BI, or CRM tools.

Go to **Engagement** > **Customers** to **Export** a customer list. You can use filters to narrow down the results.

<Steps>
  <Step title="Select attributes">
    Choose which standard fields and custom attributes (metadata) to include in the exported CSV.

    The date and times of the exported data are in the UTC time zone.
  </Step>

  <Step title="Export">
    Once ready, **Export** your list. The file will be generated and delivered to your **Notifications Center**.

    You can also find all your exported files in **Audit log** > **Exports**.

    <Note>
      Larger exports may take longer to generate.
    </Note>
  </Step>
</Steps>

## Related features

Customers are a core building block in Voucherify. Once customers are created, you can reuse them across segmentation, validation rules, integrations, and API-driven workflows.

<AccordionGroup>
  <Accordion title="Use filters for segments">
    Use customer attributes to build [segments](/prepare/customer-segments) that dynamically group customers based on their profile, behavior, or metadata. Segments can then be reused across campaigns, distributions, and analytics to target specific audiences without manual updates.
  </Accordion>

  <Accordion title="Use customers in validation rules">
    Customer data can be referenced in **validation rules** to control eligibility for campaigns and redemptions. For example, you can restrict promotions to new customers, exclude specific customer IDs, or apply rules based on customer metadata.
  </Accordion>

  <Accordion title="Geofencing">
    You can limit promotions and redemptions based on a customer’s location using **geofencing**. This helps control where offers are available and prevents misuse across regions.
  </Accordion>

  <Accordion title="Customer Engagement Platforms and other integrations">
    Customers in Voucherify can be used with Customer Engagement Platforms (CEPs) for increased customer engagement and other marketing tools to keep profiles consistent across systems.

    Go to [CEP overview](/integrations/customer-engagement-platforms) to explore platforms that can be connected with Voucherify and other integrations.
  </Accordion>

  <Accordion title="Developer setup: Customer API">
    You can manage customers programmatically using the **Customer API**, including:

    * Creating and updating customer profiles
    * Attaching metadata and custom attributes
    * Importing customers in bulk using the API or CSV import
    * Linking customers to vouchers, referral codes, loyalty cards, and gift cards

    To keep customer data synchronized automatically, use the **[Create Customer API](/api-reference/customers/create-customer)** whenever a new user is added to your system.

    This setup is commonly used when Voucherify is integrated directly with your backend or when customer data is managed outside the Dashboard.
  </Accordion>
</AccordionGroup>
