Customer.io is a versatile marketing automation platform designed to help businesses engage with their customers through targeted emails, SMS, and push notifications. It allows for personalized communication based on customer behavior and data, enabling the creation of sophisticated workflows and segmentation strategies. With robust analytics and A/B testing features, Customer.io provides insights into campaign performance, helping marketers optimize their efforts. The platform integrates with various data sources and supports messaging, ensuring timely and relevant customer interactions.
Product Type: Marketing
Integration Type: Starter Kit
Event Source Type: Web, Mobile Browser, and Mobile App
Event Scope: Full-Funnel Events
- Keeps customer profiles up to date via the Identify API, linking events to the right individual for personalization and targeting.
- Passes MetaRouter's
anonymousId to Customer.io as anonymous_id to support anonymous event merge and view-through attribution.
- Delivers events and parameters through the Track API for customer behavior analysis.
- Supports segmentation and automated customer journeys based on user attributes and tracked events.
- Supports passing a hashed email for user identification.
- Authentication uses a Basic auth token derived from your Site ID and Track API key.
- Anonymous Event Merge must be turned on in your Customer.io account to associate anonymous user actions with a known profile once the user is identified.
- Customer.io highly recommends passing hashed emails in server-side integrations for accurate user identification and personalization.
- Identify events are only sent when a
userId is present.
- Track events are sent to a customer-scoped endpoint when a
userId is present, and to the anonymous events endpoint when it is not.
- Native mobile push notifications may require additional setup or integrations to handle directly from client devices.
- Does not provide tools for visual customization or design of customer interactions; focuses on data delivery and automation.
- Turn on Anonymous Event Merge in your Customer.io account to associate anonymous user actions with a known profile once the user is identified.
- Obtain a Track API Key from your Customer.io credentials.
- Site ID: Located alongside your credentials. Contact your Customer.io representative if you need support.
- From the integration library, add a Customer.io integration. Then, fill out the Connection Parameters:
| Connection Parameter | Description |
|---|
SITE_ID | Site ID included within your credentials. |
API_KEY | Track API key. |
- MetaRouter provides all of the event mappings that Customer.io integrations typically require. You may add custom events, parameters, or mappings in accordance with Customer.io's API documentation.
- In the Pipelines tab, add your Customer.io integration.
- Select the correct integration revision.
- Click Add Integration to finalize deployment.
Global mappings will be applied to all events. If your parameter names do not match the Expected Inputs provided, you will need to overwrite the Inputs provided with your own.
| Output Key | Description | Expected Input |
|---|
anonymous_id Highly Recommended | String: An identifier for anonymous users. While not strictly required by the API, this parameter is needed for anonymous user tracking. | anonymousId |
| Output Key | Description | Expected Input |
|---|
id Required | String: Unique identifier for a user. | userId |
email_sha256 Highly Recommended | String: SHA-256 hash of the user's email. | Expression – hashes trimmed, lowercased traits.email |
created_at Highly Recommended | Timestamp: Timestamp of when the user was created. | Expression – converts timestamp to seconds since epoch |
| Output Key | Description | Expected Input |
|---|
data | Object: Additional data related to the event. | properties |
name | String: URL of the page viewed. | context.page.url |
id Required | String: Unique identifier for the event. | messageId |
data.userId | String: User identifier. | userId |
timestamp Required | Timestamp: Timestamp of the event. | Expression – converts timestamp to seconds since epoch |
type | String: Type of event (e.g., page view). | Enrichment – 'page' |
| Output Key | Description | Expected Input |
|---|
data | Object: Additional data related to the event. | properties |
name | String: Name of the screen viewed. | properties.name |
id Required | String: Unique identifier for the event. | messageId |
data.userId | String: User identifier. | userId |
data.from | String: Category of the screen. | properties.category |
timestamp Required | Timestamp: Timestamp of the event. | Expression – converts timestamp to seconds since epoch |
type | String: Type of event (e.g., screen view). | Enrichment – 'screen' |
| Output Key | Description | Expected Input |
|---|
data | Object: Additional data related to the event. | properties |
id Required | String: Unique identifier for the event. | messageId |
data.userId | String: User identifier. | userId |
name Required | String: Name of the event. | event |
timestamp Required | Timestamp: Timestamp of the event. | Expression – converts timestamp to seconds since epoch |
type | String: Type of event. | Enrichment – 'event' |
These identifiers must be mapped to Customer.io in order for successful user matching to occur. Without these IDs, any events sent to Customer.io may not be accurately reflected in reporting. For your convenience, required and recommended IDs are mapped as Global parameters to ensure they are added to every event.
| Attribute | Example | Sync Injector Required? |
|---|
id Required | user123 | No |
anonymous_id Highly Recommended | 130161d0-8fee-4167-aa4d-d151eed27c6b | No |
email_sha256 Highly Recommended | 9561c3516f02f51fa0ac38e9c81df0157ebab90d59ebde6fcf0f128f06a66423 | No |
Coordinate with your Customer.io representative, or use the Customer.io dashboard, to confirm that events are being received and processed correctly on their backend.