Search documentation...

K
ChangelogBook a demoSign up

Customer.io

Deliver exceptional engagement campaigns using the freshest customer data from your warehouse

Overview

You want to provide relevant, timely interactions to your customers. Doing so means that data in your Customer.io account needs to be as accurate and fresh as possible. By syncing customer data directly from your data warehouse into Customer.io, you no longer need to worry about data consistency.

Supported syncing

Sync TypeDescriptionSupported Sync Modes
CustomersSync data from any source to customer objectsUpsert, Update
EventsSync data from any source as customer eventsInsert
SegmentsSync data from any source to new or existing segmentsInsert

Getting started

To give Hightouch access to Customer.io, you need to enter:

  • tracking site ID
  • tracking API key
  • app API key
  • the region of your Customer.io account

Follow the instructions in the following sections to retrieve your site ID and API keys.

If you restrict access to your Customer.io workspaces by IP address, you need to add the Hightouch IP Addresses to your IP Address Allowlist.

IP Allowlist

If you see "Any IP address is currently able to access the App API for all workspaces." in your Customer.io configuration, it means you can skip this step.

Retrieve tracking site ID and API key

  1. Navigate to your Account Settings and Manage API Credentials page.
  2. Under Tracking API Keys, copy a pre-created Site ID and API Key, or create a new one to use for Hightouch.

Tracking Credentials Page

Retrieve app API key

  1. Navigate to your Account Settings and to the App API Keys tab under the Manage API Credentials page.
  2. Create an App API Key and assign it to the appropriate workspace, for example "Hightouch."

App Credentials Page

Syncing data

Customers

Sync data from any source to customer objects.

Record matching

You can match rows in your model with users in Customer.io on the following fields:

  • Customer.io External ID
  • Email
  • CIO ID

Field mapping

You can sync columns from your source to Customer.io customer attributes. If the customer attribute doesn't exist, Hightouch creates it.

Delete behavior

In Upsert mode, you have the following options for how Hightouch should handle rows leaving your query results:

BehaviorDescription
Do nothingKeep the customer in Customer.io
Clear FieldsClear the mapped fields but keep the customer record
Delete Destination RecordDelete the customer record from Customer.io completely

In Update mode, you have the following options for how Hightouch should handle rows leaving your query results:

BehaviorDescription
Do nothingKeep the customer in Customer.io
Clear FieldsClear the mapped fields but keep the customer record

Events

You can sync the following customer event types:

  • Track event
  • Track page views
  • Track mobile screen views
To ensure syncs send each event, your event model must use a truly unique primary key. See the events syncs documentation for more information.

Event name

Provide an event name. This is how you can reference the event in Customer.io campaigns or segments.

Event ID (optional)

Event ID is an identifier Customer.io uses to de-duplicate events. If provided and an event has the same value as previously synced event, Hightouch doesn't process the duplicate event.

User ID

A User ID is a unique value representing a user. You may identify a user by ID, email address, or Customer.io ID.

If you wish to sync the events as anonymous, you can skip providing a User ID and provide an Anonymous ID instead.

Event timestamp

Provide a timestamp of when the event occurred. If this field is empty, Hightouch uses the time the event arrives at the server.

Any DateTime value provided from your source is converted to Unix timestamp as expected by Customer.io.

Field mapping

You can sync columns from your source to Customer.io customer attributes. If the customer attribute doesn't exist, Hightouch creates it.

Segments

Sync data from any source to new or existing segments.

User identifiers

You can match rows in your model with users in Customer.io on the following fields:

  • Customer.io External ID
  • Email
  • CIO ID

Create a segment

  • To create a new mailing list, select Create a new segment.
  • You can provide a name for this segment, or Hightouch use the name of the model used to create the sync.

Use an existing segment

  • To use an existing mailing list, select Use existing segment.
  • You can select any of your existing Customer.io segments from the drop-down select menu.

Tips and troubleshooting

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.

Ready to get started?

Jump right in or a book a demo. Your first destination is always free.

Book a demoSign upBook a demo

Need help?

Our team is relentlessly focused on your success. Don't hesitate to reach out!

Feature requests?

We'd love to hear your suggestions for integrations and other features.

Last updated: Feb 21, 2023

On this page

OverviewSupported syncingGetting startedRetrieve tracking site ID and API keyRetrieve app API keySyncing dataCustomersEventsSegmentsTips and troubleshootingCommon errorsLive debuggerSync alerts

Was this page helpful?