Customer.io (Actions) Destination
Destination Info
- Accepts Page, Group, Identify, and Track calls
- Refer to it as Actions Customerio, or Customer.io Actions, or Customer.io (Actions) in the Integrations object
Partner Owned
- This integration is partner owned. Please reach out to the partner's support for any issues.
Additional versions of this destination are available
This page is about the Customer.io (Actions) Destination. See below for information about other versions of the Customer.io destination:
Customer.io lets you send automated email, push, SMS, letters, and webhooks based on your customer’s activities in your app or product. It makes conversion tracking, optimization and remarketing easier.
Benefits of Customer.io (Actions) vs Customer.io classic
- Track an anonymous event. Track events from users who are not yet known to Customer.io. If you have the Customer.io event merging feature enabled, Customer.io associates all incoming events that share an
anonymous_id
received in the last 30 days.
Getting started
- From the Segment web app, click Catalog, then click Destinations.
- Find the Destinations Actions item in the left navigation, and click it.
- Select Customer.io (Actions).
- Click Configure Actions Customer.io.
- Select an existing Source to connect to Customer.io (Actions).
- Enter the API Key and Site ID. Find these values on the Customer.io API Credentials Page.
- Select Quick Setup to start with pre-populated subscriptions, or Customized Setup to configure each action from scratch. Click Configure Actions.
Destination Settings
Setting | Description |
---|---|
Account Region | Learn about Account Regions. |
API Key | Required. Customer.io API key. This can be found on your API Credentials page. |
Site ID | Required. Customer.io site ID. This can be found on your API Credentials page. |
Available Presets
Customer.io (Actions) has the following presets:
Preset Name | Trigger | Default Action |
---|---|---|
Track Screen View | Event type = "screen" |
Track Screen View |
Create or Update Device | Event event = "Application Installed" Event event = "Application Opened" |
Create or Update Device |
Report Delivery Event | Event event = "Report Delivery Event" |
Report Delivery Event |
Track Event | Event
type = "track"
and event != "Relationship Deleted"
and event != "User Deleted"
and event != "User Suppressed"
and event != "User Unsuppressed"
and event != "Object Deleted"
and event != "Report Delivery Event"
|
Track Event |
Create or Update Person | Event type = "identify" |
Create or Update Person |
Track Page View | Event type = "page" |
Track Page View |
Create or Update Object | Event type = "group" |
Create or Update Object |
Available Actions
Build your own Mappings. Combine supported triggers with the following Customer.io-supported actions:
Mapping limits per destination
Individual destination instances have support a maximum of 50 mappings.
Create or Update Person
Create a person in Customer.io or update them if they exist.
Create or Update Person is a Cloud action. The default Trigger is: type = "identify"
Field | Description |
---|---|
Person ID | Type: STRING The ID used to uniquely identify a person in Customer.io. Learn more. |
Anonymous ID | Type: STRING An optional anonymous ID. This is used to tie anonymous events to this person. Learn more. |
Email Address | Type: STRING The person’s email address. |
Created At | Type: STRING A timestamp of when the person was created. |
Object ID | Type: STRING The ID used to uniquely identify an object in Customer.io. Learn more. |
Person Attributes | Type: OBJECT Optional attributes for the person. When updating a person, attributes are added or updated, not removed. |
Relationship Attributes | Type: OBJECT Optional attributes for the relationship between the object and the user. When updating an object, attributes are added or updated, not removed. |
Convert Timestamps | Type: BOOLEAN Convert dates to Unix timestamps (seconds since Epoch). |
Object Type Id | Type: STRING The ID used to uniquely identify a custom object type in Customer.io. Learn more. |
Enable Batching? | Type: BOOLEAN When enabled, Segment will send events in batches. |
Track Event
Track an event for a known or anonymous person.
Track Event is a Cloud action. The default Trigger is:
type = "track"
and event != "Relationship Deleted"
and event != "User Deleted"
and event != "User Suppressed"
and event != "User Unsuppressed"
and event != "Group Deleted"
and event != "Report Delivery Event"
Field | Description |
---|---|
Person ID | Type: STRING The ID used to uniquely identify a person in Customer.io. Learn more. |
Anonymous ID | Type: STRING An anonymous ID for when no Person ID exists. Learn more. |
Event Name* | Type: STRING The name of the event. |
Event ID | Type: STRING An optional identifier used to deduplicate events. Learn more. |
Timestamp | Type: STRING A timestamp of when the event took place. Default is current date and time. |
Event Attributes | Type: OBJECT Optional data to include with the event. |
Convert Timestamps | Type: BOOLEAN Convert dates to Unix timestamps (seconds since Epoch). |
Enable Batching? | Type: BOOLEAN When enabled, Segment will send events in batches. |
Create or Update Device
Create or update a person’s device.
Create or Update Device is a Cloud action. The default Trigger is: type = "track" and event = "Application Installed"
Field | Description |
---|---|
Person ID* | Type: STRING The ID of the person that this mobile device belongs to. |
Device ID* | Type: STRING The device token of a customer’s mobile device. |
App Version | Type: STRING The version of the App |
Platform* | Type: STRING The mobile device’s platform. (“ios” or “android”) |
Last Used | Type: STRING The timestamp for when the mobile device was last used. Default is current date and time. |
Event Attributes | Type: OBJECT Optional data that you can reference to segment your audience, like a person’s attributes, but specific to a device. |
Convert Timestamps | Type: BOOLEAN Convert dates to Unix timestamps (seconds since Epoch). |
Enable Batching? | Type: BOOLEAN When enabled, Segment will send events in batches. |
Track Page View
Track a page view for a known or anonymous person.
Track Page View is a Cloud action. The default Trigger is: type = "page"
Field | Description |
---|---|
Person ID | Type: STRING The ID used to uniquely identify a person in Customer.io. Learn more. |
Anonymous ID | Type: STRING An anonymous ID for when no Person ID exists. Learn more. |
Event ID | Type: STRING An optional identifier used to deduplicate events. Learn more. |
Page URL* | Type: STRING The URL of the page visited. |
Timestamp | Type: STRING A timestamp of when the event took place. Default is current date and time. |
Event Attributes | Type: OBJECT Optional data to include with the event. |
Convert Timestamps | Type: BOOLEAN Convert dates to Unix timestamps (seconds since Epoch). |
Enable Batching? | Type: BOOLEAN When enabled, Segment will send events in batches. |
Delete Device
Delete a person’s device.
Delete Device is a Cloud action. The default Trigger is: event = "Application Uninstalled" or event = "Device Deleted"
Field | Description |
---|---|
Person ID* | Type: STRING The ID of the person that this mobile device belongs to. |
Device ID* | Type: STRING The device token of a customer’s mobile device. |
Enable Batching? | Type: BOOLEAN When enabled, Segment will send events in batches. |
Track Screen View
Track a screen view for a known or anonymous person.
Track Screen View is a Cloud action. The default Trigger is: type = "screen"
Field | Description |
---|---|
Person ID | Type: STRING The ID used to uniquely identify a person in Customer.io. Learn more. |
Anonymous ID | Type: STRING An anonymous ID for when no Person ID exists. Learn more. |
Event ID | Type: STRING An optional identifier used to deduplicate events. Learn more. |
Screen name* | Type: STRING The name of the screen visited. |
Timestamp | Type: STRING A timestamp of when the event took place. Default is current date and time. |
Event Attributes | Type: OBJECT Optional data to include with the event. |
Convert Timestamps | Type: BOOLEAN Convert dates to Unix timestamps (seconds since Epoch). |
Enable Batching? | Type: BOOLEAN When enabled, Segment will send events in batches. |
Create or Update Object
Create an object in Customer.io or update them if they exist.
Create or Update Object is a Cloud action. The default Trigger is: type = "group"
Field | Description |
---|---|
Object ID* | Type: STRING The ID used to uniquely identify an object in Customer.io. Learn more. |
Created At | Type: STRING A timestamp of when the object was created. |
Object Attributes | Type: OBJECT Optional attributes for the object. When updating an object, attributes are added or updated, not removed. |
Relationship Attributes | Type: OBJECT Optional attributes for the relationship between the object and the user. When updating an relationship, attributes are added or updated, not removed. |
User ID | Type: STRING The ID used to relate a user to an object in Customer.io. Learn more. |
Anonymous ID | Type: STRING An anonymous ID to relate to an object when no Person ID exists. Learn more. |
Object Type Id | Type: STRING The ID used to uniquely identify a custom object type in Customer.io. Learn more. |
Convert Timestamps | Type: BOOLEAN Convert dates to Unix timestamps (seconds since Epoch). |
Enable Batching? | Type: BOOLEAN When enabled, Segment will send events in batches. |
Report Delivery Event
Report delivery metrics for a message sent from the Customer.io Journeys product.
Report Delivery Event is a Cloud action. The default Trigger is: event = "Report Delivery Event"
Field | Description |
---|---|
Delivery ID* | Type: STRING The CIO-Delivery-ID from the message that you want to associate the metric with. |
Metric* | Type: STRING The metric you want to report back to Customer.io. Not all metrics are available for all channels. Please refer to the documentation for more information. |
Recipient | Type: STRING Information about who the message was delivered to. For email, SMS and mobile push this is the email address, phone number and device token, respectively. |
Reason | Type: STRING For metrics indicating a failure, this field provides information for the failure. |
Href | Type: STRING For click metrics, this is the link that was clicked. |
Action Name | Type: STRING For In-App messages, this is the name of the action that was clicked. |
Action Value | Type: STRING For In-App messages, this is the value of the action that was clicked. |
Timestamp | Type: DATETIME A timestamp of when the metric event took place. Default is when the event was triggered. |
Delete Relationship
Delete a relationship between a person and an object in Customer.io.
Delete Relationship is a Cloud action. The default Trigger is: event = "Relationship Deleted"
Field | Description |
---|---|
Person ID* | Type: STRING The ID of the person that this mobile device belongs to. |
Anonymous ID | Type: STRING An optional anonymous ID. This is used to tie anonymous events to this person. Learn more. |
Object ID* | Type: STRING An object ID used to identify an object. |
Object Type ID | Type: STRING An object ID type used to identify the type of object. |
Enable Batching? | Type: BOOLEAN When enabled, Segment will send events in batches. |
Unsuppress Person
Unsuppress a person in Customer.io. This will allow the person to receive messages again.
Unsuppress Person is a Cloud action. The default Trigger is: event = "User Unsuppressed"
Field | Description |
---|---|
Person ID* | Type: STRING The ID of the person that this mobile device belongs to. |
Enable Batching? | Type: BOOLEAN When enabled, Segment will send events in batches. |
Merge People
Merge two customer profiles together.
Merge People is a Cloud action. The default Trigger is: type = "alias"
Field | Description |
---|---|
Primary User* | Type: STRING The person that you want to remain after the merge, identified by id, email or cio_id. This person receives information from the secondary person in the merge. |
Secondary User* | Type: STRING The person that you want to delete after the merge, identified by id, email or cio_id. This person’s information is merged into the primary person’s profile and then it is deleted. |
Enable Batching? | Type: BOOLEAN When enabled, Segment will send events in batches. |
Delete Object
Delete an object in Customer.io.
Delete Object is a Cloud action. The default Trigger is: event = "Object Deleted"
Field | Description |
---|---|
Object ID | Type: STRING An object ID used to identify an object. |
Object Type ID | Type: STRING An object ID type used to identify the type of object. |
Enable Batching? | Type: BOOLEAN When enabled, Segment will send events in batches. |
Suppress Person
Suppress a person in Customer.io. This will prevent the person from receiving any messages.
Suppress Person is a Cloud action. The default Trigger is: event = "User Suppressed"
Field | Description |
---|---|
Person ID* | Type: STRING The ID of the person that this mobile device belongs to. |
Enable Batching? | Type: BOOLEAN When enabled, Segment will send events in batches. |
Delete Person
Delete a person in Customer.io.
Delete Person is a Cloud action. The default Trigger is: event = "User Deleted"
Field | Description |
---|---|
Person ID* | Type: STRING The ID of the person that this mobile device belongs to. |
Enable Batching? | Type: BOOLEAN When enabled, Segment will send events in batches. |
Migration from Customer.io classic
Keep the following in mind if you plan to move to Customer.io (Actions) from the classic Customer.io destination.
Customer-io settings mapping
customer-io Classic Destination Setting | How to enable in customer-io (Actions) | |
---|---|---|
Connection Settings | ||
API Key Cloud Device-web |
Set the API key as a connection setting during initial configuration, or on the Settings tab. |
|
Customer.io Datacenter Cloud Device-web |
Select the Account Region in Connection Settings. |
|
Site ID Cloud Device-web |
Set the Site ID as a connection setting during initial configuration, or on the Settings tab. |
|
Connection Mode Cloud Device-web |
Customer.io (Actions) supports cloud-mode. |
|
Other Settings | ||
Convert to Unix Time Cloud Device-web |
tbd |
Convert timestamps
When you map some actions, you’ll see a Convert Timestamps setting. This setting is on by default, and converts traits containing ISO-8601 timestamps to Unix timestamps (seconds since epoch). Segment recommends that you leave this setting enabled. While Segment does support ISO-8601 timestamps in liquid, you must use Unix timestamps to take advantage of timestamp conditions when segmenting your audience in Customer.io.
For example, if you send an event with a purchase_time
trait of 2006-01-02T18:04:07Z
, Customer.io converts it to 1136253847
. If the timestamp is not in ISO-8601 format, Customer.io doesn’t convert it. This avoids inadvertently converting values like phone numbers or IDs.
Customer.io makes an exception for the created_at
trait, converting ISO-8601 timestamps or any values supported by JavaScript Date
objects to Unix timestamps.
Device token collection
Segment does not automatically collect push notification tokens. These parameters are required by Customer.io, requiring logic to be implemented to collect these values. As an example, you can use this plugin to collect the Firebase Cloud Messaging device token for React Native.
In-App Messaging
The Customer.io Actions destination is built and maintained by Segment’s partner Customer.io, and does not currently support in-app messaging. Segment recommends reaching out to them to express your interest in using in-app messaging with the Segment integration.
This page was last modified: 27 Sep 2024
Need support?
Questions? Problems? Need more info? Contact Segment Support for assistance!