# Customer.io (Event Stream)

Source: https://amplitude.com/docs/data/destination-catalog/customer-io

---

On this page

- [Set up the integration](#set-up-the-integration)
- [Prerequisites](#prerequisites)
- [Create a new sync](#create-a-new-sync)
- [Enter credentials](#enter-credentials)
- [Configure mappings](#configure-mappings)
- [Configure event forwarding](#configure-event-forwarding)
- [Configure user forwarding](#configure-user-forwarding)
- [Enable sync](#enable-sync)

# Customer.io (Event Stream)

Amplitude Activation's Customer.io streaming integration forwards your Amplitude events and users to [Customer.io](https://customer.io/) with a few clicks.

## Set up the integration

### Prerequisites

To configure streaming from Amplitude to Customer.io, you need the following information from Customer.io:

- **Customer.io Tracking Site ID**: The Customer.io Site ID used to authenticate with the track API.
- **Customer.io Tracking API Key**: The Customer.io API Key used to authenticate with the track API.

Refer to the [Customer.io documentation](https://www.customer.io/docs/api/track/#section/Authentication/Basic-Auth-\(Tracking-API-Key\)) for help locating your track API credentials.

### Create a new sync

1. In Amplitude Data, click **Catalog** and select the **Destinations** tab.
2. In the Event Streaming section, click **Customer.io**.
3. Enter a sync name, then click **Create Sync**.

### Enter credentials

1. Enter your **Customer.io Tracking Site ID**.
2. Enter your **Customer.io Tracking API Key**.
3. Select your **Customer.io Account Region**.

### Configure mappings

This applies to both event and user forwarding.

Select an Amplitude user property that corresponds to your **Customer.io User Identifier** from the left dropdown.

- If the selected Amplitude user property values contain email addresses, Customer.io matches users on the [Customer.io email](https://customer.io/docs/identifying-people/#identifiers) (case-insensitive).
- If the selected Amplitude user property values are prefixed with `cio_`, Customer.io matches users on the [Customer.io canonical identifier](https://customer.io/docs/identifying-people/#cio_id), a unique identifier Customer.io provides for each user.
- Customer.io limits the **Customer.io User Identifier** values to no more than 150 bytes.

### Configure event forwarding

Under **Send Events**, enable the toggle ("Events are sent to Customer.io") to stream events to Customer.io. When enabled, Amplitude automatically forwards events to Customer.io when they're ingested.

Note

- Events aren't sent on a schedule or on-demand using this integration.
- Amplitude sends events to Customer.io as [Customer.io events](https://www.customer.io/docs/api/track/#tag/Track-Events), including web page views and mobile screen views.
- Customer.io automatically creates a new user if the provided **Customer.io User Identifier** doesn't exist.

1. In **Select and filter events** choose which events you want to send. Choose only the events you need in Customer.io.

Events for anonymous users

Customer.io requires that all events have a user ID present. If you have selected any events to send to Customer.io that may not have a user ID, add a filter to send only events where the user ID is present. Otherwise, your delivery metrics may be affected.

2. (optional) In **Select additional properties**, select any more event and user properties you want to send to Customer.io. If you don't select any properties here, Amplitude doesn't send any. Amplitude sends these properties to Customer.io as [Customer.io event data](https://www.customer.io/docs/events/#event-name-and-data).

### Configure user forwarding

To stream user and property updates to Customer.io, enable **Send Users**. This setting creates or updates users in Customer.io when you update them in Amplitude using the [HTTP V2 API](/docs/apis/analytics/http-v2) or [Identify API](/docs/apis/analytics/identify). This integration doesn't support scheduled or on-demand updates.

You can optionally select user properties to send to Customer.io in the **Select additional properties** field. Amplitude sends only the properties you select, and only when one of them is updated. Amplitude sends these properties as [Customer.io user attributes](https://www.customer.io/docs/attributes/).

### Enable sync

When satisfied with your configuration, toggle the **Status** to "Enabled" at the top of the page and click **Save**.

Was this helpful?

<!--$-->

<!--/$-->
