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
- 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.
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.
- 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.
Customer.io site ID. This can be found on your API Credentials page.
Customer.io (Actions) has the following presets
| Preset Name | Trigger | Default Action |
|---|---|---|
| Report Delivery Event | Event event = "Report Delivery Event" | Report Delivery Event |
| Track Page View | Event type = "page" | Track Page View |
| Create or Update Device | Event event = "Application Installed", Event event = "Application Opened" | Create or Update Device |
| Report Content Event | Event event = "Report Content Event" | Report Content Event |
| Create or Update Person | Event type = "identify" | Create or Update Person |
| 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" and event != "Report Content Event" | Track Event |
| Create or Update Object | Event type = "group" | Create or Update Object |
| Track Screen View | Event type = "screen" | Track Screen View |
Build your own Mappings. Combine supported triggers with the following Customer.io-supported actions:
Mapping limits per destination
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"
Optional
An optional anonymous ID. This is used to tie anonymous events to this person. Learn more.
Optional
The person's email address.
Optional
A timestamp of when the person was created.
Optional
Optional attributes for the person. When updating a person, attributes are added or updated, not removed.
Optional
Optional attributes for the relationship between the object and the user. When updating an object, attributes are added or updated, not removed.
Optional
Convert dates to Unix timestamps (seconds since Epoch).
Optional
The ID used to uniquely identify a custom object type in Customer.io. Learn more.
Optional
Set as true to ensure Segment sends data to Customer.io in batches.
Optional
Maximum number of events to include in each batch. Actual batch sizes may be lower.
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"
The name of the event.
Optional
A timestamp of when the event took place. Default is current date and time.
Optional
Optional data to include with the event.
Optional
Convert dates to Unix timestamps (seconds since Epoch).
Optional
Set as true to ensure Segment sends data to Customer.io in batches.
Optional
Maximum number of events to include in each batch. Actual batch sizes may be lower.
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"
The ID of the person that this mobile device belongs to.
The device token of a customer's mobile device.
Optional
The version of the App
The mobile device's platform. ("ios" or "android")
Optional
The timestamp for when the mobile device was last used. Default is current date and time.
Optional
Optional data that you can reference to segment your audience, like a person's attributes, but specific to a device.
Optional
Convert dates to Unix timestamps (seconds since Epoch).
Optional
Set as true to ensure Segment sends data to Customer.io in batches.
Optional
Maximum number of events to include in each batch. Actual batch sizes may be lower.
Track a page view for a known or anonymous person.
Track Page View is a Cloud action. The default Trigger is type = "page"
The URL of the page visited.
Optional
A timestamp of when the event took place. Default is current date and time.
Optional
Optional data to include with the event.
Optional
Convert dates to Unix timestamps (seconds since Epoch).
Optional
Set as true to ensure Segment sends data to Customer.io in batches.
Optional
Maximum number of events to include in each batch. Actual batch sizes may be lower.
Delete a person's device.
Delete Device is a Cloud action. The default Trigger is event = "Application Uninstalled" or event = "Device Deleted"
The ID of the person that this mobile device belongs to.
The device token of a customer's mobile device.
Optional
Set as true to ensure Segment sends data to Customer.io in batches.
Optional
Maximum number of events to include in each batch. Actual batch sizes may be lower.
Track a screen view for a known or anonymous person.
Track Screen View is a Cloud action. The default Trigger is type = "screen"
The name of the screen visited.
Optional
A timestamp of when the event took place. Default is current date and time.
Optional
Optional data to include with the event.
Optional
Convert dates to Unix timestamps (seconds since Epoch).
Optional
Set as true to ensure Segment sends data to Customer.io in batches.
Optional
Maximum number of events to include in each batch. Actual batch sizes may be lower.
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"
Optional
A timestamp of when the object was created.
Optional
Optional attributes for the object. When updating an object, attributes are added or updated, not removed.
Optional
Optional attributes for the relationship between the object and the user. When updating an relationship, attributes are added or updated, not removed.
Optional
An anonymous ID to relate to an object when no Person ID exists. Learn more.
Optional
The ID used to uniquely identify a custom object type in Customer.io. Learn more.
Optional
Convert dates to Unix timestamps (seconds since Epoch).
Optional
Set as true to ensure Segment sends data to Customer.io in batches.
Optional
Maximum number of events to include in each batch. Actual batch sizes may be lower.
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"
The ID of the person that this mobile device belongs to.
Optional
An optional anonymous ID. This is used to tie anonymous events to this person. Learn more.
An object ID used to identify an object.
Optional
An object ID type used to identify the type of object.
Optional
Set as true to ensure Segment sends data to Customer.io in batches.
Optional
Maximum number of events to include in each batch. Actual batch sizes may be lower.
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"
The ID of the person that this mobile device belongs to.
Optional
Set as true to ensure Segment sends data to Customer.io in batches.
Optional
Maximum number of events to include in each batch. Actual batch sizes may be lower.
Merge two customer profiles together.
Merge People is a Cloud action. The default Trigger is type = "alias"
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.
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.
Optional
Set as true to ensure Segment sends data to Customer.io in batches.
Optional
Maximum number of events to include in each batch. Actual batch sizes may be lower.
Delete an object in Customer.io.
Delete Object is a Cloud action. The default Trigger is event = "Object Deleted"
Optional
An object ID used to identify an object.
Optional
An object ID type used to identify the type of object.
Optional
Set as true to ensure Segment sends data to Customer.io in batches.
Optional
Maximum number of events to include in each batch. Actual batch sizes may be lower.
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"
The ID of the person that this mobile device belongs to.
Optional
Set as true to ensure Segment sends data to Customer.io in batches.
Optional
Maximum number of events to include in each batch. Actual batch sizes may be lower.
Delete a person in Customer.io.
Delete Person is a Cloud action. The default Trigger is event = "User Deleted"
The ID of the person that this mobile device belongs to.
Optional
Set as true to ensure Segment sends data to Customer.io in batches.
Optional
Maximum number of events to include in each batch. Actual batch sizes may be lower.
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"
The CIO-Delivery-ID from the message that you want to associate the metric with.
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.
Optional
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.
Optional
For metrics indicating a failure, this field provides information for the failure.
Optional
For click metrics, this is the link that was clicked.
Optional
For In-App messages, this is the name of the action that was clicked.
Optional
For In-App messages, this is the value of the action that was clicked.
Optional
A timestamp of when the metric event took place. Default is when the event was triggered.
Optional
Set as true to ensure Segment sends data to Customer.io in batches.
Optional
Maximum number of events to include in each batch. Actual batch sizes may be lower.
Report a Viewed or Clicked Content event.
Report Content Event is a Cloud action. The default Trigger is event = "Report Content Event"
Optional
ID for the anonymous user.
The type of content event.
Optional
A timestamp of when the event took place. Default is current date and time.
Optional
Optional data to include with the event.
Optional
Convert dates to Unix timestamps (seconds since Epoch).
Optional
Set as true to ensure Segment sends data to Customer.io in batches.
Optional
Maximum number of events to include in each batch. Actual batch sizes may be lower.
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 clouddevice-web | Set the API key as a connection setting during initial configuration, or on the Settings tab. |
Customer.io Datacenter clouddevice-web | Select the Account Region in Connection Settings. |
Site ID clouddevice-web | Set the Site ID as a connection setting during initial configuration, or on the Settings tab. |
Connection Mode clouddevice-web | Customer.io (Actions) supports cloud-mode. |
| OTHER SETTINGS | |
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.
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.
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.