Setup Guide

Set up and configure Customer.io as a destination in RudderStack.

This guide will help you set up Customer.io as a destination in the RudderStack dashboard. It also lists the configuration settings required to correctly send data from the supported sources to Customer.io.

Connection compatibility

Destination info
  • Status: Generally Available
  • Supported sources: Android, iOS , Web, Unity, AMP , Cloud, Warehouse, React Native , Flutter, Cordova, Shopify
  • Refer to it as CUSTOMERIO in the Integrations object.

Connection modes
SourceCloud modeDevice modeHybrid mode
AMPsupportednot supportednot supported
Androidsupportedsupportednot supported
Cloudsupportednot supportednot supported
Cordovasupportednot supportednot supported
Fluttersupportednot supportednot supported
iOSsupportedsupportednot supported
React Nativesupportednot supportednot supported
Shopifysupportednot supportednot supported
Unitysupportednot supportednot supported
Warehousesupportednot supportednot supported
Websupportedsupportednot supported
Supported message types
SourceIdentifyPageTrackScreenGroupAlias
Cloud mode
Supported sourcessupportedsupportedsupportedsupportedsupportedsupported
Device mode
Websupportedsupportedsupportednot supportednot supportednot supported
info

In the web device mode integration, that is, using the JavaScript SDK as a source, RudderStack loads the Customer.io native SDK from the https://assets.customer.io/ domain.

Based on your website’s content security policy, you might need to allowlist this domain to load the Customer.io SDK successfully.

Setup

In your RudderStack dashboard, add a source. Then, from the list of destinations, select Customer.io.

Connection settings

SettingDescription
Destination nameAssign a name to uniquely identify the destination.
Site IDEnter your Customer.io site ID.
API keyEnter your Customer.io API key.
Data centerChoose your Customer.io data center from US or EU.

Note: To send events to the EU data center using RudderStack Open Source, you should be using rudder-transformer v1.42.0 or later.

Configuration settings

Configure the below settings depending on your connection mode:

Cloud mode settings

SettingDescription
Event sent after setting device tokenEnter the name of the event that RudderStack fires immediately after setting the device token. This lets RudderStack send the device token to Customer.io immediately.

Device mode settings

Configure the below device mode settings depending on your source:

Web SDK
SettingDescription
Event sent after setting device tokenEnter the name of the event that RudderStack fires immediately after setting the device token. This lets RudderStack send the device token to Customer.io immediately.
Send page name in SDK modeIf this setting is toggled on, RudderStack sends the page name to Customer.io. Otherwise, Customer.io fetches the page name in the form of a URL.
Enable in-app message supportToggle on this setting to send in-app messages to your website using the native web SDK.

For more information on setting up in-app messages for your website, see the Customer.io documentation.
Mobile SDK
SettingDescription
Event sent after setting device tokenEnter the name of the event that RudderStack fires immediately after setting the device token. This lets RudderStack send the device token to Customer.io immediately.
Automatically track device attributes in SDK modeAutomatically track device attributes in the SDK mode through the Customer.io mobile SDK.

Note: This setting is toggled on by default - toggle it off to track the attributes manually.
Minimum number of tasks in background queueThis setting is available only for the Android source and lets you specify the minimum number of tasks to be kept in the background queue.

Note: By default, RudderStack sets this value set to 10.
Delay in seconds for background queueThis setting is available only for the Android source and lets you specify the delay (in seconds) for the events to be kept in the background queue.

Note: By default, RudderStack sets this value set to 30.

Other settings

SettingDescription
Client-side Events FilteringThis setting lets you specify which events should be blocked or allowed to flow through to Customer.io. See the Client-side Events Filtering guide for more information.
SettingDescription
OneTrust Cookie CategoriesThis setting lets you associate OneTrust cookie consent groups to Customer.io.
Ketch Consent PurposesThis setting lets you associate Ketch consent purposes to Customer.io.

Next steps

FAQ

Where can I find the Customer.io API key and site ID?

  1. Sign in to your Customer.io dashboard.
  2. In the left panel, click Settings and select Account Settings.
  3. Then, click API Credentials. You should find the site ID and API key for your project listed here.
Customer.io site ID and API key

Questions? Contact us by email or on Slack