FlowStats
Provides flow analytics, including aggregated or time-series data for flow performance metrics based on the chosen granularity.
Select
The component uses the Klaviyo API to process WHERE clause conditions built with the following columns and operators. The rest of the filter is executed client-side within the component.
- ConversionMetricId supports the following operator: =
- Granularity supports the following operator: =. Valid values:
- hourly
- daily
- weekly
- monthly
- total (default)
- StartDateTime and EndDateTime support the following operators: =
- FlowId supports the following operators: =, IN
- SendChannel supports the following operators: =, IN
- FlowMessageId supports the following operators: =, IN
You can apply only one filter per column, and filters must be combined using the AND operator. The OR operator is not supported.
Note: Setting Granularity to total returns the same result as omitting the Granularity filter entirely.
You must specify a ConversionMetricId to query this table. If a time window is not explicitly provided using StartDateTime and EndDateTime, the component automatically applies defaults based on the value of Granularity:
- total or monthly: Last 1 year
- weekly: Last 52 weeks
- daily: Last 60 days
- hourly: Last 7 days
If you provide only one of StartDateTime or EndDateTime, the component calculates the missing value using the default time span for the selected granularity.
When Granularity is not total, the fields IntervalStartDateTime and IntervalEndDateTime are returned based on the current interval. When Granularity is total, they match the StartDateTime and EndDateTime values.
Note: When using the IN operator, you can provide up to 100 values. Valid values for SendChannel include:
- sms
- push-notification
For example, the following query returns monthly flow stats for a defined time range and multiple flows:
SELECT * FROM FlowStats
WHERE ConversionMetricId = 'conversion-metric-id'
AND Granularity = 'monthly'
AND StartDateTime = '2024-07-07'
AND EndDateTime = '2024-09-09'
AND FlowId IN ('flow-1', 'flow-2', 'flow-3')
You can also run simplified queries depending on your data needs:
SELECT * FROM FlowStats
WHERE ConversionMetricId = 'conversion-metric-id'
SELECT * FROM FlowStats
WHERE ConversionMetricId = 'conversion-metric-id'
AND StartDateTime = '2024-07-07'
AND EndDateTime = '2024-09-09'
SELECT * FROM FlowStats
WHERE ConversionMetricId = 'conversion-metric-id'
AND Granularity = 'monthly'
AND StartDateTime = '2024-07-07'
AND EndDateTime = '2024-09-09'
Columns
| Name | Type | References | Description |
| AverageOrderValue | Double | The average revenue generated per conversion, calculated by dividing the total Conversion Value by the number of Conversions. | |
| BounceRate | Double | The percentage of messages that bounced, including email and push, relative to all received and bounced messages. | |
| Bounced | Int | The total number of messages that failed to deliver due to bounces across email and push channels. | |
| BouncedOrFailed | Int | The total number of messages that either bounced (email or push) or failed to deliver (SMS). | |
| BouncedOrFailedRate | Double | The percentage of bounced or failed messages compared to all received and bounced or failed messages. | |
| ClickRate | Double | The percentage of unique clicks from email or SMS messages relative to the total number of received messages. | |
| ClickToOpenRate | Double | The percentage of unique email clicks compared to unique email opens, used to measure engagement after opening. | |
| Clicks | Int | The total number of clicks recorded across all email and SMS messages included in the flow. | |
| ClicksUnique | Int | The total number of unique recipients who clicked at least one link in an email or SMS message. | |
| ConversionRate | Double | The percentage of unique conversions out of all received messages across all supported channels, including email, SMS, and push. | |
| ConversionUniques | Int | The total number of unique conversion events attributed to the flow. | |
| ConversionValue | Double | The total monetary value of all conversions, typically calculated from completed purchase events such as Placed Order. | |
| Conversions | Int | The total number of conversion events recorded for the flow, including repeated conversions from the same recipient. | |
| Delivered | Int | The total number of messages successfully delivered across all channels, including email, SMS, and push notifications. | |
| DeliveryRate | Double | The percentage of successfully delivered messages compared to all received and bounced or failed messages. | |
| Failed | Int | The total number of SMS messages that failed to deliver due to carrier or delivery errors. | |
| FailedRate | Double | The percentage of failed SMS messages compared to all received and failed SMS messages. | |
| OpenRate | Double | The percentage of unique email and push opens relative to the total number of received messages. | |
| Opens | Int | The total number of email and push opens recorded for the flow. | |
| OpensUnique | Int | The total number of unique recipients who opened an email or push notification. | |
| Recipients | Int | The total number of intended recipients for the flow, including both successfully received and bounced or failed messages. | |
| RevenuePerRecipient | Double | The average revenue generated per recipient, calculated by dividing the total Conversion Value by the total number of received messages. | |
| SpamComplaintRate | Double | The percentage of spam complaints submitted relative to the total number of received emails. | |
| SpamComplaints | Int | The total number of spam complaints recorded for messages in the flow. | |
| UnsubscribeRate | Double | The percentage of unique unsubscribes across email and SMS channels compared to the total number of received messages. | |
| UnsubscribeUniques | Int | The total number of unique recipients who unsubscribed from messages within the flow. | |
| Unsubscribes | Int | The total number of unsubscribe events recorded for the flow, including multiple unsubscribes from the same recipient if applicable. | |
| Granularity | String | Specifies the interval used to aggregate flow analytics data. Supported values include hourly, daily, monthly, or total. Hourly intervals support up to 7 days, daily up to 60 days, and monthly up to 52 weeks. Use StartDateTime and EndDateTime to define a shorter interval.
The allowed values are hourly, daily, weekly, monthly, total. | |
| IntervalStartDateTime | String | The start date and time of the analytics interval for the series data. | |
| IntervalEndDateTime | String | The end date and time of the analytics interval for the series data. | |
| SendChannel | String | Specifies the message channel for the analytics data, such as email, SMS, or push. | |
| FlowId | String | The unique identifier of the flow associated with these analytics metrics. | |
| FlowMessageId | String | The unique identifier of the message within the flow used to generate these statistics. | |
| ConversionMetricId | String | The unique identifier of the conversion metric used to calculate flow-related conversion statistics. | |
| StartDateTime | Datetime | The start date and time of the reporting period for which flow analytics data is requested. | |
| EndDateTime | Datetime | The end date and time of the reporting period for which flow analytics data is requested. |