Journeys Message Metrics Source
UpdatedCustomer.io Journeys automatically acts as multiple sources of data in Data Pipelines: one source for Journeys Message Metrics and individual sources for each set of Journeys (Track) API credentials. This page is specifically about Journeys Message Metrics. If you want to learn more about using our Track API, web SDK, and mobile SDKs as Data Pipelines sources, see the Journeys API page.
How it works
Journeys captures events relating to message activity—the messages you send, whether or not people open them, when people click them, and so on.
By default, we also forward these events to Data Pipelines as a source. This is the default Journeys Message Metrics source that you see on the Connections page in Data Pipelines.
Treating incoming Journeys metrics as a source lets you send data to destinations that help you aggregate and analyze audience data, so you follow and chart how your audience reacts to different message channels in your marketing stack.
What metrics do we send to Data Pipelines?
Journeys Message Metrics are the same events we track with reporting webhooks. These are events representing the message lifecycle for each message (email, SMS, push, in-app, etc).
Name | Description |
---|---|
Email Drafted | Customer.io successfully rendered a message and populated liquidA syntax that supports variables, letting you personalize messages for your audience. For example, if you want to reference a person’s first name, you might use the variable {{customer.first_name}} . for an individual recipient. The message is ready to send. |
Email Attempted | An email that couldn’t be sent to the delivery provider will be retried. |
Email Deferred | An email that the delivery provider couldn’t send will be retried by the delivery provider. |
Email Sent | An email was sent from Customer.io to the delivery provider. |
Email Delivered | The delivery provider reported the email was delivered to an inbox. |
Email Opened | An email was opened. |
Email Clicked | A tracked link in an email was clicked. |
Email Converted | A person matched a conversion goal attributed to an email. |
Email Unsubscribed | A person unsubscribed via a particular email. |
Email Bounced | The delivery provider was unable to deliver the email. |
Email Dropped | An email wasn’t sent because it was addressed to a person who was suppressed. |
Email Spammed | An email was marked as spam by the recipient. |
Email Failed | An email couldn’t be sent to the delivery provider. |
email_undeliverable | An email was undeliverable, likely because it hit a message limit. |
Push Drafted | Customer.io successfully rendered a push notification and populated liquidA syntax that supports variables, letting you personalize messages for your audience. For example, if you want to reference a person’s first name, you might use the variable {{customer.first_name}} . for an individual recipient. The message is ready to send. |
Push Attempted | A push notification that couldn’t be sent to the delivery provider will be retried. |
Push Sent | A push notification was sent from Customer.io to the delivery provider. |
Push Delivered | A push notification was delivered to a recipient. You must use our SDKs or report delivered metrics to us using the API. |
Push Opened | The app on a person’s device reported the push notification was opened. You must use our SDKs or report opened metrics to us using the API. |
Push Clicked | A tracked link in a push notification has been clicked. Note that we do not track Clicked metrics or enable link tracking for push notifications by default. When a person taps a push notification, the message is marked as Opened. If you want to track links specifically, you’d need to send this metric back to us through the metric reporting API. |
Push Converted | A person matched a conversion goal attributed to a push notification. |
Push Bounced | The delivery provider reported at least one invalid device token. |
Push Dropped | A push notification wasn’t sent because at least one device token previously bounced. |
Push Failed | A push notification couldn’t be sent to the delivery provider. |
Push Undeliverable | A push notification was undeliverable, likely because it hit a message limit. |
SMS Drafted | Customer.io successfully rendered an SMS message and populated liquidA syntax that supports variables, letting you personalize messages for your audience. For example, if you want to reference a person’s first name, you might use the variable {{customer.first_name}} . for an individual recipient. The message is ready to send. |
SMS Attempted | An SMS that couldn’t be sent to the delivery provider will be retried. |
SMS Sent | An SMS was sent from Customer.io to the delivery provider. |
SMS Delivered | The delivery provider reported the SMS was delivered. |
SMS Clicked | A tracked link in an SMS has been clicked. |
SMS Converted | A person matched a conversion goal attributed to an SMS. |
SMS Bounced | The delivery provider was unable to deliver the SMS. |
SMS Failed | An SMS couldn’t be sent to the delivery provider. |
SMS Undeliverable | An SMS message was undeliverable, likely because it hit a message limit. |
Slack Drafted | Customer.io successfully rendered a slack message and populated liquidA syntax that supports variables, letting you personalize messages for your audience. For example, if you want to reference a person’s first name, you might use the variable {{customer.first_name}} . for an individual recipient. The message is ready to send. |
Slack Attempted | A slack message that couldn’t be sent will be retried. |
Slack Sent | A slack message was sent from Customer.io to slack. |
Slack Clicked | A tracked link in a slack message has been clicked. |
Slack Failed | A slack message couldn’t be sent to slack. |
Slack Undeliverable | A Slack message was undeliverable, likely because it hit a message limit. |
Webhook Drafted | Customer.io successfully populated a webhook with liquidA syntax that supports variables, letting you personalize messages for your audience. For example, if you want to reference a person’s first name, you might use the variable {{customer.first_name}} . and is ready to send it. |
Webhook Attempted | A webhook that couldn’t be sent will be retried. |
Webhook Sent | A webhook was sent from Customer.io to the specified Webhook URL. |
Webhook Clicked | A tracked link in a webhook payload has been opened. |
Webhook Failed | A webhook couldn’t be sent to the specified Webhook URL. |
Webhook Undeliverable | A webhook was undeliverable, likely because it hit a message limit. |
In-App Drafted | Customer.io successfully rendered an in-app message and is ready to send it. |
In-App Attempted | An in-app that couldn’t be sent will be retried. |
In-App Sent | An in-app was sent. |
In-App Opened | An in-app was opened. |
In-App Clicked | A tracked response in an in-app was clicked. |
In-App Converted | A person matched a conversion goal attributed to an in-app. |
In-App Failed | An in-app couldn’t be sent. |
In-App Undeliverable | An in-app was undeliverable. |
Metric Events in Data Pipelines
We map properties from Journeys to Data Pipelines. You can see the complete list of properties in each event in our reporting webhooks. But we’ve provided an example below to show how a metric event recorded in Journeys maps to Data Pipelines.
The event name
is the channel and metric—like Email Opened
as shown in the example below.
The properties
object contains information about the customer, the message (delivery_id
), the campaign, broadcast, or transactional ID the message originated from, and so on.
{
"type": "track",
"event": "Email Opened",
"userId": "12345",
"messageId": "01H8F21G9KK14JKX233RDFJCNM",
"timestamp": "2023-08-22T16:42:55.003Z",
"sentAt": "2023-08-22T16:42:57.739Z",
"context": {
"integration": {
"name": "customer.io",
"version": "2.0.0"
},
"traits": {},
"ip": "35.225.6.73",
"userAgent": "Customer.io/go1.20.4 (test; +https://customer.io/actions)"
},
"properties": {
"customer_id": "12345",
"delivery_id": "RKK4AwUAAYoeIC5PHMYd6-vTAYhWkQ==",
"recipient": "cool.person@example.com",
"subject": "Password reset request",
"transactional_message_id": 8,
"userId": "12345"
},
"integrations": {
"Customer.io": false,
"Customer.io (Actions)": false
},
"receivedAt": "2023-08-22T16:42:57.742Z",
"originalTimestamp": "2023-08-22T16:42:55.000Z"
}