---
title: Import Customer Custom Fields
description: How to import Shopware 6 customer custom fields with cf_ columns in Improved Import, Export & Mass Actions.
---

Use customer custom fields when you need to import extra customer data that is not part of the standard Shopware customer fields.

The app supports custom fields assigned to the Shopware `customer` entity. When you create or open a customer import profile, the mapping step loads available customer custom fields and shows them as selectable fields.

## Column Name Format

Add one column for each customer custom field you want to import.

Use this column format:

```text
cf_<technical_name>
```

Replace `<technical_name>` with the technical name of the custom field from Shopware.

For example, if the customer custom field technical name is `customer_loyalty_level`, use this column name:

```text
cf_customer_loyalty_level
```

:::note
The `cf_` prefix is required. It tells the app that the column should be imported into Shopware custom fields instead of a standard customer field.
:::

## Find the Technical Name

1. Open your Shopware Administration.
2. Go to **Settings** > **System** > **Custom fields**.
3. Open the custom field set assigned to **Customers**.
4. Copy the technical name of the custom field.
5. Add `cf_` before that name in your import file.

## CSV Example

```csv
email,firstName,lastName,cf_customer_loyalty_level,cf_external_customer_id
customer@example.com,Veronica,Costello,gold,C-1000
```

In this example:

| Column | Imported To |
| --- | --- |
| `cf_customer_loyalty_level` | Customer custom field `customer_loyalty_level` |
| `cf_external_customer_id` | Customer custom field `external_customer_id` |

## Map Customer Custom Fields

1. Create or open a customer import profile.
2. Upload your file or select your source.
3. Continue to the mapping step.
4. Map each source column to the matching custom field.

You can map customer custom fields in two ways:

| Mapping Option | When To Use It |
| --- | --- |
| Map `cf_<technical_name>` columns to **customFields** | Use this when your file already uses the `cf_` column naming format. |
| Select a specific `cf_<technical_name>` field in the mapping dropdown | Use this when your source column has a different name, for example `Loyalty level`, but should update a specific customer custom field. |

## Value Format

Use values that match the custom field type in Shopware.

| Custom Field Type | Import Value Example | Notes |
| --- | --- | --- |
| Text or text editor | `VIP customer` | Imported as text. |
| Number | `25` | Imported as a number. |
| Float | `19.95` | Use a decimal value. |
| Checkbox or switch | `1`, `0`, `true`, `false` | The app converts the value to a boolean. |
| Select | `gold` | Use an option value that exists in the custom field options. |
| Price | `{"currencyId":"b7d2554b0ce847cd82f3ac9bd1c0dfca","gross":10,"net":8.4,"linked":true}` | Price custom fields must be valid JSON. |

:::tip
For select fields, use the option value configured in Shopware. If labels and values are different, use the option value.
:::

## Updating Existing Customers

When the import updates an existing customer, mapped `cf_` columns update the matching customer custom fields.

Use the customer lookup fields in your profile, such as email or customer number, so the app can find the existing customer record.

:::caution
Only custom fields assigned to the Shopware `customer` entity are loaded for customer imports. Custom fields assigned to products, orders, addresses, or other entities are not available in the customer import mapping.
:::

## Translations

Customer custom-field import uses the standard `cf_<technical_name>` column format. Product-style translated custom-field columns such as `translations.de_DE.cf_<technical_name>` are not used for customer imports.
