Klaviyo campaigns to dashboard
Klaviyo revenue per recipient, campaign by campaign.
Export campaign performance from Klaviyo and drop the file here. The dashboard leads with revenue per recipient rather than open rate, because that is the number Klaviyo itself is built around, and it treats the Revenue column as attributed within a window rather than as a fact, which is the distinction that stops people over-crediting a single send.
Prefer the full explorer? Open the app, or start from the generic dashboard builder.
Attributed revenue is a claim, not a measurement
The Revenue column in a Klaviyo export is the sum of orders placed by recipients within an attribution window after the send. That window is a setting in your account, commonly five days for clicks and a shorter period for opens, and it can be changed. Change it and the same historical campaign reports a different revenue figure. Nothing was falsified; the question being asked changed. Any dashboard that presents that number as a hard fact is overstating what it knows.
This matters most when campaigns overlap. Send a newsletter on Tuesday and a promo on Thursday and a purchase on Friday can be attributed to both, depending on the model. Summing the Revenue column across a quarter therefore produces a total that will usually exceed your actual store revenue for the period, sometimes substantially. The useful comparison is between campaigns rather than against your accounts, and revenue per recipient is the version of that comparison that is fair across list sizes.
How to export from Klaviyo
- Open Campaigns in Klaviyo Sign in at klaviyo.com and choose Campaigns from the left navigation. Switch to the list view rather than the calendar, since only the list view exports.
- Set the date range and the tab Klaviyo separates Email, SMS and Push. Exporting the Email tab and comparing it against SMS in one file is not possible, and the metrics do not mean the same thing anyway.
- Check your attribution setting Under Account, then Settings, then Email, the conversion tracking window controls what Revenue means. Note the value before exporting, because the export does not record it.
- Export the campaign list The export control sits above the table. Klaviyo prepares a CSV with one row per campaign and the aggregate metrics attached.
- Drop the file here Revenue per Recipient becomes the headline ranking, and List becomes a filter so segment sends and broadcast sends can be separated.
Flows are exported separately from campaigns and behave very differently, since a flow email is triggered per subscriber rather than sent at one moment. Do not merge the two files.
Try with sample Klaviyo data (the same columns, 58 rows, no upload needed).
What the dashboard shows
Every panel below is built from a column that is actually in the export, named the way Klaviyo names it.
- Revenue per recipient, ranked. The fair comparison across campaigns of very different sizes, and the one Klaviyo's own optimization targets.
- Attributed revenue over time. Send Time as the axis, with the attribution caveat carried in the panel label rather than buried.
- Placed order rate. Unique Placed Order over recipients, which is the conversion funnel's last step and the least gameable one.
- Open and click rates as percentages. Converted from the decimal fractions Klaviyo exports, so 0.4218 reads as 42.18 percent.
- Spam complaints. Small numbers that matter enormously. Anything above roughly one in a thousand is a deliverability problem forming.
- List and segment comparison. VIP segments almost always beat the full list on revenue per recipient, and seeing the gap tells you what segmentation is worth.
Campaign Name,Subject,List,Send Time,Send Weekday,Total Recipients,Unique Placed Order,Placed Order Rate,Revenue,Unique Opens,Open Rate,Unique Clicks,Click Rate,Unsubscribes,Spam Complaints,Revenue per Recipient
Reading a Klaviyo export honestly
- Revenue depends on a setting you can change. The attribution window is configured per account. Two exports of the same quarter taken before and after a settings change will disagree, and neither is wrong.
- Attributed revenue overlaps between campaigns. One order can be credited to more than one send. Summing the column across a period gives a number larger than your actual store revenue.
- Rates are decimal fractions, not percent strings. The opposite of Mailchimp. 0.4218 means 42.18 percent, and a chart that plots it raw shows a bar of almost nothing.
- Revenue per Recipient is precomputed. It is Revenue over Total Recipients, already in the file. Recomputing it is a good sanity check on whether the export is internally consistent.
- Spam Complaints are tiny and load-bearing. A handful of complaints on a large send is normal. A rate above one in a thousand is the level at which mailbox providers begin to act.
- Flows and campaigns are separate exports. A welcome flow's numbers are per-subscriber and time-shifted. Merging them into one file makes both sets of averages meaningless.
Treat Revenue as a ranking device rather than an accounting figure, lead with revenue per recipient, and keep an eye on spam complaints. That is how the export earns its keep without overclaiming.
Frequently asked questions
Why does my Klaviyo revenue exceed my store revenue?
Because attributed revenue overlaps. Klaviyo credits an order to a campaign if the recipient purchased within the attribution window after opening or clicking, and a customer who received two emails in that window can be credited to both. Summing the column across a quarter therefore double counts. Use it to compare campaigns against each other, and use your store or payment processor for what you actually earned.
What is a good revenue per recipient?
It depends so heavily on average order value that a cross-industry benchmark is close to useless. What is useful is the spread inside your own account. A segmented send to recent buyers commonly earns several times what a full-list broadcast does per recipient, and quantifying that gap is the argument for spending time on segmentation rather than on subject lines.
Are the rate columns percentages or fractions?
Fractions. Klaviyo writes Open Rate as 0.4218 rather than as 42.18% or as the string with a sign, which is the opposite of what Mailchimp does. Plotting the raw value gives you a chart where every bar is invisible. This page multiplies by 100 and labels the axis, and it does the same for Click Rate and Placed Order Rate.
Can I compare campaigns against flows?
Not in one file, and not really at all. A campaign goes to a list at a single moment. A flow email is triggered per subscriber at a moment specific to them, usually when their interest is at a peak, so flow engagement is structurally higher. Export them separately, read them separately, and resist the urge to put both in one average.
How many spam complaints are too many?
The commonly cited threshold is one complaint per thousand delivered, at which point mailbox providers start routing more of your mail to junk. Because the numbers are small, a single campaign crossing the line is noise, but a rising trend across several sends is not. Plot complaints per thousand rather than raw counts, since a large send naturally produces more.
Does this page send my campaign data anywhere?
No. Parsing happens in the browser tab and nothing is transmitted. A Klaviyo export names your segments, your revenue by campaign and your list sizes, which together are a fairly complete description of a direct-to-consumer business. That is exactly the kind of file that should not be handed to a web service in exchange for a bar chart.
Related tools
Rank 58 campaigns by revenue per recipient
Decimal rates, attributed revenue, spam complaints and a VIP segment that beats the full list. Load it and see which comparison actually holds.
Open the sample Klaviyo dashboard