Onboard your first-party audiences to Kevel Audience to power onsite and retail media campaigns with segments built from your own data.
View Kevel's documentation.
Supported syncing
| Sync type | Description | Supported sync modes |
|---|---|---|
| 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 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.
-
Go to the Destinations overview page and select Add destination.
-
Select Kevel from the destination catalog.
-
Enter the following, then select Continue:
- AWS Credentials: Select or create AWS credentials 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.
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
userIdTypecolumn:- 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
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.
Common errors
To date, our customers haven't experienced any errors while using this destination. If you run into any issues, please don't hesitate to . We're here to help.
Live debugger
Hightouch provides complete visibility into the API calls made during each of your sync runs. We recommend reading our article on debugging tips and tricks to learn more.
Sync alerts
Hightouch can alert you of sync issues via Slack, PagerDuty, SMS, or email. For details, please visit our article on alerting.
