> ## 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.

# Viant

> Viant is a pioneer in people-based digital advertising. Use AI to help advertisers plan, execute, and measure their digital advertising campaigns.

## Supported syncing

| Type | Description | Supported Sync Modes | API Reference |
| - | - | - | - |
| **Audiences** | Sync data from any source to Viant audiences | Add | [Audiences docs](https://docs.api.viantinc.com/reference/how-to-get-started) |
| **Conversion events** | Send online or offline conversion event data to Viant | Insert | [Conversions docs](https://docs.api.viantinc.com/reference/onboard-onlineoffline-conversion-data) |

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 Viant

Go to the [**Destinations** overview page](https://app.hightouch.com/destinations?from=docs) and click the **Add destination** button. Select **Viant** and click **Continue**. You can then authenticate Hightouch to **Viant**.

For the **Authentication method**, select **Log in to Viant** and log into your Viant account. Once successful, you will be redirected back to Hightouch to enter a descriptive name for your destination and complete setup.

## Sync configuration

Once you've set up your Viant destination and have a [model](https://docs.hightouch.com/getting-started/concepts.md#models) to pull data from, you can set up your sync configuration to begin syncing data. Go to the [**Syncs** overview page](https://app.hightouch.com/syncs?from=docs) and click the **Add sync** button to begin. Then, select the relevant model and the Viant destination you want to sync to.

### Syncing audiences

Sync data from any source to Viant audiences.

#### Record matching

You can match rows from your model to audiences in Viant on any column in your model and any field in Viant. Ensure the data types of the model column and Viant field you select match.
Refer to the [record matching docs](https://docs.hightouch.com/syncs/record-matching.md) for more information.

#### Accepted ID formats

Each Viant Audience Segment has a specified `dataType` that gets set when creating a new segment for the first time. If using an exsiting segment, the label will show what `dataType` the segment has. Viant supports the following `dataTypes`:

* `Email (sha_256)`
* `Address (sha_256)`
* `IP address`
* `Cookie`
* `Mobile ID`

If using `Email (sha_256)` or `Address (sha_256)`, Hightouch can auto apply hashing if selected. To use `Address (sha_256)`, please refer to Viant's docs on [preparing your user data](https://docs.api.viantinc.com/reference/prepaing-your-user-data) for formatting and standardizing your physical addresses before hashing.

Viant matches on one identifier type per audience, so select a single identifier that matches the segment's `dataType`.

> [!TIP]
>
> Increase match rates in Viant audiences by enabling [Match Booster](https://docs.hightouch.com/match-booster/overview.md).

Because Viant accepts only one identifier per audience, Match Booster auto-adds a boosted row for every boostable identifier. Remove the boosted identifiers you don't want so the sync sends exactly one.

#### Field mapping

Hightouch lets you sync audience fields via [field mapping](https://docs.hightouch.com/syncs/mapping-data.md).
You can map data from any of your model columns to the default audience fields.
Ensure your model's columns have the same data types as the fields you want to sync to.

#### Split retries

Viant counts all audiences in a batch as rejected if the request contains a single invalid audience. To pinpoint which audiences are getting rejected with which errors and reduce the number of valid audiences that get retried, you can enable [split retries](https://docs.hightouch.com/syncs/retries.md#split-retries).

### Syncing conversion events

Send online and offline conversion event data to Viant's DSP (Adelphic) platform.

> [!WARNING]
>
> To ensure syncs send each event, your event model must use a truly unique [primary key](https://docs.hightouch.com/getting-started/concepts.md#unique-primary-key-requirement). See the [events syncs](https://docs.hightouch.com/syncs/types-and-modes.md#event-syncs) documentation for more information.

#### Account configuration

| Field | Description |
| - | - |
| **Account ID** (required) | Your Adelphic account ID |
| **Advertiser IDs** (optional) | List of advertiser IDs for conversion attribution |

#### User identifiers

At least one user identifier is required per conversion event. Viant supports the following identifier types:

* `Email (SHA256)` — `hashed_email`
* `Address (SHA256)` — `hashed_physical_address`
* `IP address`
* `Cookie`
* `Mobile ID` (IDFA/GAID)

If using `Email (SHA256)` or `Address (SHA256)`, Hightouch can auto-apply SHA256 hashing if selected. To use `Address (SHA256)`, refer to Viant's docs on [preparing your user data](https://docs.api.viantinc.com/reference/prepaing-your-user-data) for formatting and standardizing your physical addresses before hashing.

#### Field mapping

**Required fields:**

| Field | Description |
| - | - |
| Timestamp | The timestamp of the conversion event |
| Transaction ID | Unique identifier for the transaction |
| Conversion event type | The type of conversion event (see supported types below) |

**Supported conversion event types:** `PageView`, `LandingPage`, `ItemView`, `AddToCart`, `InitiateCheckout`, `AddPaymentInfo`, `Purchase`, `Lead`

If you have any non-standard event you cannot map to the above list, you can pass a custom event name instead of above standard list as part of same conversion event type field.

**Optional fields:**

| Field | Description |
| - | - |
| Amount | Monetary value of the conversion |
| Currency | Currency code (e.g., USD) |
| Store ID | Store or location identifier |
| Channel | `online` or `offline` |
| Purchased items | Array of item details (`itemId`, `productName`, `productCategory`, `price`, `quantity`) |
| Conversion location | Country, state, and/or city of the conversion |

#### Custom fields

You can include up to 10 custom key-value pairs for additional metadata. All custom field values are sent as strings.

## 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).
