Customer.io (Actions) Destination

Destination Info
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

  1. From the Segment web app, click Catalog, then click Destinations.
  2. Find the Destinations Actions item in the left navigation, and click it.
  3. Select Customer.io (Actions).
  4. Click Configure Actions Customer.io.
  5. Select an existing Source to connect to Customer.io (Actions).
  6. Enter the API Key and Site ID. Find these values on the Customer.io API Credentials Page.
  7. 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"

Click to show / hide fields

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"

Click to show / hide fields

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"

Click to show / hide fields

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"

Click to show / hide fields

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"

Click to show / hide fields

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"

Click to show / hide fields

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"

Click to show / hide fields

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"

Click to show / hide fields

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"

Click to show / hide fields

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"

Click to show / hide fields

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"

Click to show / hide fields

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"

Click to show / hide fields

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"

Click to show / hide fields

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"

Click to show / hide fields

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



Get started with Segment

Segment is the easiest way to integrate your websites & mobile apps data to over 300 analytics and growth tools.
or
Create free account