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

# Kevel

> Onboard your first-party audiences to Kevel Audience to power onsite and retail media campaigns with segments built from your own data.

## Supported syncing

| Sync type | Description | Supported sync modes |
| - | - | - |
| [**Segment members**](#segment-members) | Upload a segment's full membership to Kevel as a CSV, with the segment's metadata in a leading row. | All |

Kevel replaces a segment's membership in full on every import, so this destination always sends the complete audience. For more information about sync modes, refer to the [sync modes](https://docs.hightouch.com/syncs/types-and-modes.md#sync-modes) docs.

## Connect to Kevel

Kevel provides a pre-created S3 bucket for each Kevel Audience system. Configure a folder source in Kevel to import from that bucket, then point Hightouch at the same bucket.

1. Go to the [Destinations overview](https://app.hightouch.com/destinations?from=docs) page and select **Add destination**.
2. Select **Kevel** from the destination catalog.
3. Enter the following, then select **Continue**:

   * **AWS Credentials**: Select or create [AWS credentials](https://docs.hightouch.com/security/aws.md) with write access to the bucket.
   * **Bucket name**: The Kevel-provided S3 bucket for your Kevel Audience system, or your own bucket registered as a Kevel folder source.

> [!NOTE]
>
> Set up a folder source in Kevel pointing at this bucket so Kevel imports each
> file Hightouch uploads. Schedule the import, or configure it to run when new
> files are detected.

## Sync configuration

### Segment members

Each sync run uploads one CSV to the configured object key. The file begins with a segment-definition row that carries the segment's metadata, followed by one row per member. The sync mode is **All**: every run writes the segment's complete membership, which Kevel imports as a full replacement.

#### Configure record matching

Kevel matches members by exact identifier value and type, and never matches across types. Configure:

* **Identifier type** — the type Kevel matches on. Hightouch writes it to the file's `userIdType` column:
  * **Email**, **Email (SHA-256)**, or **Email (MD5)**
  * **Phone (E.164)** or **Phone (E.164, SHA-256)**
  * **Android advertising ID (GAID)** or **iOS advertising ID (IDFA)**
  * **CRM ID**
* **Identifier column** — the source column that holds the identifier value.

#### Configure identifier hashing

When you select a hashed identifier type (such as **Email (SHA-256)**), Hightouch asks whether to detect and hash your data:

* **Yes** — Hightouch hashes the mapped column to the selected format and leaves values that are already hashed untouched.
* **No** — your column already contains hashed values, so Hightouch sends them as-is.

Plaintext identifier types are always sent unchanged.

#### Describe the segment

Kevel creates the segment on first import and updates its metadata on later imports:

| Field | Required | Notes |
| - | - | - |
| **Segment name** | No | Defaults to your model's name. Up to 200 characters. Kevel keys the segment on this name. |
| **Segment category** | No | Up to 20 characters. Cannot start with "Kevel". |
| **Segment description** | No | Up to 500 characters. |
| **Static segment** | No | Mark the segment as static in Kevel. Defaults to unchecked. |

#### Set the object key

Set the **object key** (file path) in the bucket where Hightouch uploads the CSV, for example `segments/high-value-customers.csv`. You can include timestamp variables such as `{YYYY}`, `{MM}`, and `{DD}` in the path.

## Tips and troubleshooting

To see the exact API requests and responses from each sync run, use the [live debugger](https://docs.hightouch.com/syncs/debugger.md). To get notified by Slack, PagerDuty, SMS, or email when a sync fails, set up [sync alerts](https://docs.hightouch.com/syncs/alerting.md). If you run into an issue this page doesn't cover, [contact support](#pylon-chat).

### Validate your setup

After your first sync completes, confirm the import in Kevel:

* Check that the CSV landed at the configured object key in your bucket.
* In Kevel, confirm the folder source imported the file and that the segment shows the expected member count. Files uploaded to the Kevel-provided bucket are deleted automatically after one month.
