Analytics
Get Sequence Metrics
Retrieve engagement metrics for a specific sequence, including per-step breakdown and failure details.
GET
Get Sequence Metrics
Returns aggregate engagement metrics for a sequence (automation) plus a per-step breakdown showing how each email in the sequence performed. Each step also includes recent failed subscribers and their failure reasons. Both aggregate and per-step metrics respect the time filter. Test sends are excluded from these performance metrics and attributed revenue by default so previews do not skew results, but they still count toward send usage and quota. Open and click metrics also exclude detected email-security scanners and tracked brand assets by default.
Stats object (used for both aggregate and per-step):
The
Failed subscriber object:
Check the top-level
Compare
Look at
Both aggregate and per-step metrics will be scoped to this time range.
Path Parameters
The ID of the sequence.
Query Parameters
Sliding time window. One of:
1h, 24h, 7d, 30d, 90d. Ignored when
start and end are provided.Start of custom time range (ISO 8601). Must be used with
end.End of custom time range (ISO 8601). Must be used with
start. Max range: 90
days.Set to
true to include detected scanner, preview, and tracked asset
open/click events in engagement metrics.Response Fields
| Field | Type | Description |
|---|---|---|
sequenceId | string | The sequence ID |
stats | object | Aggregate stats across all steps (same shape as below) |
steps | array | Per-step metrics, ordered by position |
| Field | Type | Description |
|---|---|---|
sent | number | Emails sent |
delivered | number | Emails delivered |
bounced | number | Emails that bounced |
opened | number | Unique opens |
clicked | number | Unique clicks |
unsubscribed | number | Unsubscribes |
deliveryRate | number | Delivery rate percentage |
bounceRate | number | Bounce rate percentage |
openRate | number | Open rate percentage |
clickRate | number | Click rate percentage |
unsubscribeRate | number | Unsubscribe rate percentage |
conversions | number | Goal conversions attributed to this sequence (last-touch, 24h window) |
revenueCents | number | Attributed revenue in cents from purchase events (saas.purchase and ecommerce.order_placed) |
conversions and revenueCents fields appear on the top-level stats object only, not on per-step stats.
Steps array:
| Field | Type | Description |
|---|---|---|
step | number | Step number (1-indexed) |
nodeId | string | Node ID for this email step |
subject | string|null | Email subject line |
stats | object | Stats for this step |
failedCount | number | Number of subscribers that failed at this step |
failedSubscribers | array | Up to 20 most recent failed subscribers for this step |
| Field | Type | Description |
|---|---|---|
subscriberId | string | Subscriber ID |
email | string|null | Subscriber email captured on the token |
failedAt | string | When the token failed (ISO 8601) |
failedReason | string|null | Stored failure reason for the token |
Common Queries
How is our onboarding sequence performing overall?
stats for aggregate performance across all steps.
Which step has the highest drop-off?
openRate across the steps array. A sharp drop between consecutive steps signals where subscribers lose interest.
How many people unsubscribed from the second email?
steps[1].stats.unsubscribed (step 2, zero-indexed in the array). If the unsubscribe rate is high on a specific step, consider revising that email’s content or timing.
How has the sequence performed this month?
Who engaged with this sequence?
Use the Get Recipients endpoint with asequenceId filter:
Responses
Get Sequence Metrics