Klaviyo has established itself as the leading email and SMS marketing platform for e-commerce brands, powering billions of messages per year for over 150,000 businesses. Whether you're building custom reports, pulling data through the Klaviyo API, or analyzing campaign performance in the analytics dashboard, understanding the full landscape of available dimensions and metrics is essential for maximizing your email and SMS revenue.
This guide provides a complete reference of every major dimension and metric available in Klaviyo as of 2026. We've organized them by functional area, included API field names for developers and analysts, and added practical context on when and how to use each one.
How Klaviyo Data Is Structured
Klaviyo organizes data around four core concepts: profiles (people), events (actions), campaigns (one-time sends), and flows (automated sequences). Profiles contain attributes (dimensions) and are associated with events that track behavior. Campaigns and flows are the delivery mechanisms, each with their own performance metrics.
Lists and segments are grouping mechanisms. Lists are static collections you manage manually or through signup forms. Segments are dynamic groups that update automatically based on conditions — profile properties, event history, engagement behavior, and predictive analytics. Both can be used as targeting criteria for campaigns and flow filters.
Klaviyo's data model is event-driven. Every action — email open, link click, purchase, page view, form submission — is recorded as an event with a timestamp, associated profile, and event-specific properties. This event stream powers segmentation, automation triggers, and attribution.
Campaign Dimensions
Campaign dimensions describe the one-time email and SMS sends you create in Klaviyo. These fields identify the campaign, its configuration, and its targeting — essential for organizing campaign reports and comparing performance across sends.
| Dimension | API Field | Description |
|---|---|---|
| Campaign ID | id | Unique identifier for the campaign |
| Campaign Name | name | Name of the campaign as set by the marketer |
| Subject Line | subject | Email subject line displayed to recipients |
| Preview Text | preview_text | Preview text shown after the subject in email clients |
| Channel | channel | Delivery channel: email or sms |
| Send Time | send_time | Scheduled or actual send timestamp |
| Status | status | Campaign status: draft, scheduled, sending, sent, cancelled |
| Send Strategy | send_strategy | How the campaign is sent: immediate, smart send time, or throttled |
| Tags | tags | Tags applied to the campaign for organization and filtering |
| Lists/Segments | audiences.included | Lists and segments included in the campaign audience |
| Excluded Lists/Segments | audiences.excluded | Lists and segments excluded from the campaign audience |
| From Name | from_name | Sender name displayed to recipients |
| From Email | from_email | Sender email address |
| Template | template_id | Email template used for the campaign |
Flow Dimensions
Flow dimensions describe your automated email and SMS sequences. Flows are triggered by events (placed order, subscribed to list, abandoned checkout) or conditions (date-based triggers, segment membership changes). These dimensions help you organize, analyze, and optimize your automation strategy.
| Dimension | API Field | Description |
|---|---|---|
| Flow ID | id | Unique identifier for the flow |
| Flow Name | name | Name of the automated flow |
| Status | status | Flow status: draft, manual, or live |
| Trigger Type | trigger_type | What starts the flow: metric (event), list, segment, date, or price drop |
| Trigger Event | trigger.metric_id | Specific event that triggers the flow (e.g., Placed Order, Added to Cart) |
| Tags | tags | Tags applied to the flow for organization |
| Created Date | created | When the flow was first created |
| Updated Date | updated | When the flow was last modified |
| Flow Message ID | flow_message_id | Unique identifier for a specific message step within the flow |
| Flow Message Name | flow_message_name | Name of the individual message step |
| Flow Message Channel | flow_message_channel | Channel of the step: email or sms |
| Flow Step Position | step_position | Order position of the step within the flow sequence |
List and Segment Dimensions
List and segment dimensions describe how you organize your audience in Klaviyo. Lists are typically tied to acquisition sources (signup forms, imports), while segments reflect behavioral and demographic criteria that update dynamically.
| Dimension | API Field | Description |
|---|---|---|
| List/Segment ID | id | Unique identifier for the list or segment |
| Name | name | Display name of the list or segment |
| Type | type | Whether it is a list (static) or segment (dynamic) |
| Created Date | created | When the list or segment was created |
| Updated Date | updated | When the list or segment was last updated |
| Tags | tags | Tags applied for organization and filtering |
| Opt-in Process | opt_in_process | For lists: single opt-in or double opt-in |
| Segment Conditions | definition | For segments: the conditions that define membership |
Core Email Metrics
These are the fundamental metrics that measure how your emails perform — from delivery through engagement to negative signals. Understanding each metric and its limitations (especially around privacy changes) is essential for accurate reporting and optimization.
| Metric | API Field | Description | Formula / Notes |
|---|---|---|---|
| Recipients | recipients | Total profiles the email was sent to | Count of all targeted profiles minus suppressed and bounced |
| Delivered | delivered | Emails successfully delivered to the inbox | Recipients minus bounces |
| Delivery Rate | delivery_rate | Percentage of sent emails that were delivered | (Delivered ÷ Recipients) × 100 |
| Opens | unique_opens | Unique profiles who opened the email | Deduplicated by profile. Affected by Apple MPP |
| Total Opens | total_opens | Total open events including repeat opens | Not deduplicated — same person opening 3 times counts as 3 |
| Open Rate | open_rate | Percentage of delivered emails that were opened | (Unique Opens ÷ Delivered) × 100 |
| Clicks | unique_clicks | Unique profiles who clicked a link in the email | Deduplicated by profile across all links |
| Total Clicks | total_clicks | Total click events including repeat clicks | Same person clicking the same link twice counts as 2 |
| Click Rate | click_rate | Percentage of delivered emails with a click | (Unique Clicks ÷ Delivered) × 100 |
| Click-to-Open Rate | click_to_open_rate | Percentage of openers who also clicked | (Unique Clicks ÷ Unique Opens) × 100 |
| Bounces | bounces | Emails that failed to deliver | Total hard and soft bounces combined |
| Bounce Rate | bounce_rate | Percentage of sent emails that bounced | (Bounces ÷ Recipients) × 100 |
| Unsubscribes | unsubscribes | Profiles who unsubscribed after receiving the email | Removes profile from the email list |
| Unsubscribe Rate | unsubscribe_rate | Percentage of delivered emails that resulted in unsubscribe | (Unsubscribes ÷ Delivered) × 100 |
| Spam Complaints | spam_complaints | Profiles who marked the email as spam | Critical for sender reputation — keep below 0.1% |
| Spam Complaint Rate | spam_complaint_rate | Percentage of delivered emails reported as spam | (Spam Complaints ÷ Delivered) × 100 |
Revenue Metrics
Revenue metrics are what set Klaviyo apart for e-commerce — they directly connect email and SMS performance to sales outcomes. Klaviyo uses last-touch attribution within configurable windows to credit revenue back to specific messages.
| Metric | API Field | Description | Formula / Notes |
|---|---|---|---|
| Placed Order | placed_order | Number of orders attributed to the message | Orders placed within the attribution window after open/click |
| Attributed Revenue | revenue | Total revenue attributed to the message | Sum of order values within the attribution window |
| Revenue Per Recipient | revenue_per_recipient | Average revenue generated per email recipient | Attributed Revenue ÷ Recipients |
| Average Order Value | average_order_value | Average value of attributed orders | Attributed Revenue ÷ Placed Orders |
| Conversion Rate | conversion_rate | Percentage of recipients who placed an order | (Placed Orders ÷ Recipients) × 100 |
| Items Ordered | items_ordered | Total number of items in attributed orders | Sum of line item quantities across all attributed orders |
| Attributed Value Per Open | revenue_per_open | Revenue attributed per unique open | Attributed Revenue ÷ Unique Opens |
| Attributed Value Per Click | revenue_per_click | Revenue attributed per unique click | Attributed Revenue ÷ Unique Clicks |
SMS Metrics
SMS metrics measure the performance of your text message campaigns and flow messages. Unlike email, SMS has no open tracking — delivery and clicks are the primary engagement signals. SMS also has unique metrics around consent management and carrier-level delivery.
| Metric | API Field | Description | Formula / Notes |
|---|---|---|---|
| Sent | sms_sent | Total SMS messages sent | Count of all delivery attempts |
| Delivered | sms_delivered | SMS messages successfully delivered to the handset | Confirmed by carrier delivery receipt |
| Delivery Rate | sms_delivery_rate | Percentage of sent SMS that were delivered | (Delivered ÷ Sent) × 100 |
| Failed | sms_failed | SMS messages that failed to deliver | Carrier rejection, invalid number, or network error |
| Clicks | sms_clicks | Clicks on shortened links within SMS messages | Requires Klaviyo link shortening enabled |
| Click Rate | sms_click_rate | Percentage of delivered SMS with a click | (Clicks ÷ Delivered) × 100 |
| Opt-Outs | sms_unsubscribes | Profiles who replied STOP or opted out | Removes SMS consent for the profile |
| Opt-Out Rate | sms_unsubscribe_rate | Percentage of delivered SMS that resulted in opt-out | (Opt-Outs ÷ Delivered) × 100 |
| SMS Revenue | sms_revenue | Revenue attributed to SMS messages | Default 1-day attribution window for SMS |
| SMS Placed Orders | sms_placed_order | Orders attributed to SMS messages | Orders placed within the SMS attribution window |
| Cost Per SMS | sms_cost | Cost to send each SMS message | Varies by country — US typically $0.01-0.02 per segment |
Flow Metrics
Flow metrics measure the ongoing performance of your automated sequences. Unlike campaigns that have a fixed send date, flows continuously accumulate data as new profiles enter them. These metrics help you optimize automation timing, content, and targeting logic.
| Metric | Description | Formula / Notes |
|---|---|---|
| Total Recipients | Cumulative profiles who received a flow message | Grows over time as new profiles enter the flow |
| Active in Flow | Profiles currently in the flow (waiting at a step or delay) | Real-time count of profiles mid-sequence |
| Entered Flow | Profiles who triggered the flow entry event | Count of trigger events that passed all flow filters |
| Skipped | Profiles who were skipped at a flow step | Usually due to conditional splits or flow filters |
| Skip Rate | Percentage of eligible profiles who were skipped | (Skipped ÷ Entered) × 100 per step |
| Conversion Rate | Percentage of flow recipients who completed the goal action | Varies by flow type — purchase for abandoned cart, subscribe for welcome series |
| Per-Step Open Rate | Open rate for each individual message in the flow | Helps identify which messages in the sequence engage best |
| Per-Step Click Rate | Click rate for each individual message in the flow | Shows engagement decline or improvement across the sequence |
| Per-Step Revenue | Revenue attributed to each individual message step | Identifies which messages in the sequence drive the most sales |
| Total Flow Revenue | Cumulative revenue attributed to the entire flow | Sum of revenue across all steps and all time |
Audience Profile Dimensions
Profile dimensions are the attributes stored on each person in your Klaviyo account. These come from e-commerce integrations, form submissions, event tracking, and predictive analytics. They form the basis of segmentation, personalization, and reporting.
| Dimension | API Field | Description |
|---|---|---|
| Profile ID | id | Unique identifier for the profile |
email | Primary email address | |
| Phone Number | phone_number | Phone number for SMS messaging |
| First Name | first_name | Contact's first name |
| Last Name | last_name | Contact's last name |
| Location (City) | location.city | City derived from IP geolocation or profile data |
| Location (Country) | location.country | Country derived from IP geolocation or profile data |
| Location (Timezone) | location.timezone | Timezone used for smart send time optimization |
| Email Consent | subscriptions.email | Email subscription status: subscribed, unsubscribed, or never subscribed |
| SMS Consent | subscriptions.sms | SMS subscription status and consent timestamp |
| Source | source | How the profile was added: form, import, API, integration sync |
| Created Date | created | When the profile was first added to Klaviyo |
| Predicted CLV | predictive_analytics.predicted_clv | Predicted customer lifetime value (machine learning model) |
| Predicted Next Order Date | predictive_analytics.predicted_next_order_date | Estimated date of next purchase |
| Predicted Churn Risk | predictive_analytics.churn_risk | Risk level of the customer churning: low, medium, high |
| Predicted Gender | predictive_analytics.predicted_gender | Predicted gender based on name and behavior patterns |
| Historical CLV | predictive_analytics.historic_clv | Total revenue from all historical orders |
| Total Order Count | properties.$total_order_count | Lifetime number of orders placed |
| Average Order Value | properties.$average_order_value | Average value across all historical orders |
| Last Order Date | properties.$last_order_date | Date of the most recent purchase |
Segment and List Metrics
These metrics measure the size, growth, and health of your audience groups. Tracking list and segment metrics over time helps you understand audience growth trends, engagement quality, and the effectiveness of your acquisition and retention strategies.
| Metric | Description | Formula / Notes |
|---|---|---|
| Profile Count | Total number of profiles in the list or segment | For segments, this updates dynamically as conditions change |
| Growth Rate | Rate of new profile additions over time | Net new profiles per day/week/month |
| Subscribed Count | Profiles with active email consent in the list | Excludes unsubscribed and suppressed profiles |
| SMS Subscribed Count | Profiles with active SMS consent in the list | Separate from email consent — tracked independently |
| Unsubscribed Count | Profiles who have unsubscribed from the list | Cumulative count of opt-outs |
| Suppressed Count | Profiles who are suppressed (bounced, spam complaint) | Cannot receive emails until suppression is lifted |
| Engaged Percentage | Percentage of profiles who opened or clicked recently | Typically measured over 30, 60, or 90-day windows |
How to Use Klaviyo Metrics for Optimization
Knowing which metrics to focus on for different goals is what turns data into actionable insights. Here is a practical framework for selecting the right metrics at each stage of your Klaviyo strategy.
For email campaign optimization
Focus on click rate over open rate as your primary engagement metric — it's unaffected by Apple MPP. Track revenue per recipient to measure the direct business impact of each send. Monitor unsubscribe rate and spam complaint rate as health indicators — if either spikes after a send, investigate your content, frequency, and targeting immediately.
For flow optimization
Analyze per-step revenue to identify which messages in the sequence drive the most value. Track skip rate to understand how many profiles are filtered out at each step — high skip rates may indicate overly restrictive conditions or successful earlier conversions. Compare click rate decay across steps to determine the optimal flow length.
For SMS strategy
Prioritize click rate (the only real engagement metric for SMS), opt-out rate, and revenue per SMS. Compare the cost per SMS against attributed revenue to calculate SMS ROI. Keep opt-out rates below 2% per message — anything higher signals frequency or relevance issues.
For audience health monitoring
Track list growth rate, engaged percentage, and the ratio of subscribed to total profiles. A growing list with declining engagement percentage means you are adding low-quality profiles. Monitor predicted churn risk distribution in your segments to proactively target at-risk customers with win-back campaigns.
Attribution Windows and Revenue Accuracy
Klaviyo's default attribution windows are 5 days for email (open or click to purchase) and 1 day for SMS (click to purchase). You can configure these in your account settings. Shorter windows are more conservative and attribute less revenue, while longer windows capture more downstream conversions but may over-credit.
Important: if a profile receives both an email and an SMS before purchasing, the most recent interaction gets credit. This means email and SMS revenue totals can overlap — do not simply add them together to get total attributed revenue. Use Klaviyo's combined view or deduplicate at the order level.
Klaviyo Predictive Analytics Dimensions
Klaviyo's machine learning models generate predictive dimensions that help you anticipate customer behavior. These predictions are calculated for profiles with sufficient purchase history and are updated regularly.
Predicted Customer Lifetime Value (CLV) estimates the total revenue a customer will generate over their entire relationship with your brand. Use this to segment VIP customers and allocate retention budgets. Predicted Next Order Date estimates when a customer is likely to purchase next, enabling proactive outreach. Churn Risk (low, medium, high) identifies customers who are likely to stop purchasing, enabling targeted win-back flows before they lapse.
Common Mistakes When Analyzing Klaviyo Data
Even experienced e-commerce marketers make these mistakes when working with Klaviyo metrics. Avoiding them will lead to more accurate reporting and better optimization decisions.
1. Trusting open rate as a primary KPI
With Apple Mail Privacy Protection inflating opens for 40-60% of many audiences, open rate is no longer a reliable absolute metric. Use it only for relative comparisons (A/B tests, trend analysis) and shift your primary engagement KPI to click rate or revenue per recipient.
2. Adding email + SMS revenue for total attribution
If a customer clicks an email and an SMS before purchasing, both channels claim credit for the same order. Simply adding email revenue + SMS revenue will double-count orders. Use order-level deduplication or Klaviyo's combined revenue view for accurate totals.
3. Comparing campaign metrics to flow metrics directly
Campaigns go to a fixed audience at a point in time, while flows continuously accumulate recipients. Comparing raw totals (revenue, opens, clicks) between campaigns and flows is misleading. Use rate-based metrics (revenue per recipient, click rate) for fair comparisons, or normalize by time period.
4. Ignoring segment staleness
Dynamic segments recalculate on a cadence, not in real-time. If you target a segment minutes after a major event (like a flash sale), the segment membership may not reflect the latest activity. For time-sensitive campaigns, verify segment freshness before sending.
5. Overlooking deliverability health metrics
Bounce rate and spam complaint rate directly affect your sender reputation. A sender reputation decline will reduce inbox placement for all future sends. Monitor these metrics at the account level, not just per campaign — a single problematic send can damage deliverability for weeks.
6. Using broad attribution windows for everything
A 5-day email attribution window means any purchase within 5 days of an open gets credited — even purchases that would have happened anyway. For high-frequency purchasers (daily/weekly buyers), this over-attributes revenue to email. Consider using shorter windows or click-only attribution for more conservative measurement.
