Customer.io

What Is Customer.io?

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


Capabilities

  • 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.

Considerations

  • 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.

Limitations

  • 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.

Starter Kit Setup Guide

1. Gather Credentials

  • 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.

2. Add a Customer.io Integration

  • From the integration library, add a Customer.io integration. Then, fill out the Connection Parameters:
Connection ParameterDescription
SITE_IDSite ID included within your credentials.
API_KEYTrack API key.

3. Configure Event Mapping

  • 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.

4. Deploy to Pipeline

  • In the Pipelines tab, add your Customer.io integration.
  • Select the correct integration revision.
  • Click Add Integration to finalize deployment.

Event Mappings

Global

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 KeyDescriptionExpected Input
anonymous_id Highly RecommendedString: An identifier for anonymous users. While not strictly required by the API, this parameter is needed for anonymous user tracking.anonymousId

Event Specific

Identify

Output KeyDescriptionExpected Input
id RequiredString: Unique identifier for a user.userId
email_sha256 Highly RecommendedString: SHA-256 hash of the user's email.Expression – hashes trimmed, lowercased traits.email
created_at Highly RecommendedTimestamp: Timestamp of when the user was created.Expression – converts timestamp to seconds since epoch

Page

Output KeyDescriptionExpected Input
dataObject: Additional data related to the event.properties
nameString: URL of the page viewed.context.page.url
id RequiredString: Unique identifier for the event.messageId
data.userIdString: User identifier.userId
timestamp RequiredTimestamp: Timestamp of the event.Expression – converts timestamp to seconds since epoch
typeString: Type of event (e.g., page view).Enrichment – 'page'

Screen

Output KeyDescriptionExpected Input
dataObject: Additional data related to the event.properties
nameString: Name of the screen viewed.properties.name
id RequiredString: Unique identifier for the event.messageId
data.userIdString: User identifier.userId
data.fromString: Category of the screen.properties.category
timestamp RequiredTimestamp: Timestamp of the event.Expression – converts timestamp to seconds since epoch
typeString: Type of event (e.g., screen view).Enrichment – 'screen'

Default

Output KeyDescriptionExpected Input
dataObject: Additional data related to the event.properties
id RequiredString: Unique identifier for the event.messageId
data.userIdString: User identifier.userId
name RequiredString: Name of the event.event
timestamp RequiredTimestamp: Timestamp of the event.Expression – converts timestamp to seconds since epoch
typeString: Type of event.Enrichment – 'event'

Required & Recommended Identifiers

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.

AttributeExampleSync Injector Required?
id Requireduser123No
anonymous_id Highly Recommended130161d0-8fee-4167-aa4d-d151eed27c6bNo
email_sha256 Highly Recommended9561c3516f02f51fa0ac38e9c81df0157ebab90d59ebde6fcf0f128f06a66423No

Integration Validation

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.


Additional Customer.io Documentation