- Lead with email's share of total store revenue, not email revenue alone. Across the brands I work with, about 32% of total revenue comes from email on average.
- Split flow revenue from campaign revenue. After a skincare brand rebuilt its flows, flows went from 60% to 83% of its email revenue.
- Report clicks and revenue per recipient, not opens. Across 4 consumable brands, click rate tracked revenue at 0.65 and open rate at 0.32.
- Every report should end with what changed this month and what's planned next month. Numbers without a plan are just a scoreboard.
What should a monthly email marketing report include?
Seven numbers. Each one answers a question a founder actually has.
- Email share of total revenue. Email-attributed revenue divided by total store revenue from Shopify. This is the headline.
- Flow revenue vs campaign revenue. Tells you how much runs on autopilot and how much depends on someone sending a campaign that week.
- Revenue per recipient. Revenue divided by the people who got the email. It's how you compare a blast to a segment send fairly.
- Click rate. Did people care enough to tap? This is the engagement number to trust.
- List growth. New subscribers this month, and whether the list is growing faster than it's shrinking.
- Unsubscribes and spam complaints. The early warning for deliverability.
- What changed and what's next. A few lines in plain English.
That's it. If a report runs to ten pages, the important numbers are hard to find.
The email marketing report template
Copy this into a doc or spreadsheet. Fill it in once a month. The "same month last year" column matters for consumable brands, since seasonality can make a normal month look like a drop.
| Metric | This month | Last month | Same month last year | Note |
|---|---|---|---|---|
| Total store revenue (Shopify) | ||||
| Email-attributed revenue | ||||
| Email share of total revenue | ||||
| Flow revenue (and % of email revenue) | ||||
| Campaign revenue (and number of campaigns sent) | ||||
| Campaign revenue per recipient | ||||
| Top 3 flows by revenue per recipient | ||||
| Campaign click rate | ||||
| New subscribers | ||||
| Unsubscribe rate | ||||
| Spam complaint rate | ||||
| Deliverability score |
Under the table, two short sections:
What changed this month. Three bullets max. What launched, what broke, what got fixed, anything unusual like a sellout or a sale.
What's next. Three bullets max. The one or two things being built or tested next month, and why.
Here's a made-up example of the bottom half, so you can see the tone:
- What changed: New reorder reminder went live mid-month. Campaign revenue dipped because we skipped the mid-month sale. One send had a broken link, caught and resent the same day.
- What's next: Add a second email to the reorder reminder. Split campaigns into customers and non-customers. Test shorter subject lines on the engaged segment.
Where do you pull each number?
Most of it lives in two places: Klaviyo for email, Shopify for total revenue.
- Overview dashboard in Klaviyo. Klaviyo's help center puts it under Analytics > Dashboards. The pre-built Overview dashboard includes a conversion summary card (revenue attributed to flows and campaigns), campaign and flow performance cards with per-message detail tables, and an email deliverability card.
- Subscriber growth. The subscriber growth card isn't on the default dashboard. You can add it from Klaviyo's card library.
- Deliverability hub. Under Analytics > Deliverability, then Email. It gives a 0 to 100 deliverability score based on open, click, bounce, unsubscribe and spam complaint rates over the last 30 days. Klaviyo labels 90 to 100 Excellent and 75 to 89 Good.
- Shopify. Total sales for the month, so you have the denominator for email's share.
For spam complaints, Gmail's sender guidelines say to keep the spam rate in Postmaster Tools below 0.10% and avoid ever reaching 0.30%. If you're anywhere near that, it goes at the top of the report. I cover fixes in Klaviyo emails going to spam.
One rule for consistency: pick an attribution window and keep it. Klaviyo's help center says new accounts after October 9, 2024 default to a 5-day window for email. If someone changes it mid-year, your month-over-month numbers stop meaning anything.
What shouldn't be in the report
Some things make a report look busy without telling you anything. Watch for these.
Open rate as the headline. Across 4 consumable brands and 2,897 campaigns, open rate tracked revenue at 0.32 and click rate at 0.65. For one brand, more opens actually meant less money. Apple Mail auto-opens pushed open rates past 85% on some segments. I explain why in open rate vs click rate.
Engagement with no revenue next to it. A fitness tech brand sent 12 educational campaigns in one month, some with 6 to 10% click rates. Together they made $547. A wellness brand had a month of all-educational sends with no offer, and campaign revenue went from $3,146 to $110. A report that shows only clicks would have called both of those great months.
Total revenue without a per-person number. A full-list blast will almost always make more total dollars than a segment send. For the same fitness tech brand, an engaged send to 7,145 people earned $0.19 per person and a full-list blast to 49,475 earned $0.04. That's why revenue per recipient belongs in the report.
Attributed revenue presented as caused revenue. Attribution is credit, not proof. If you want to know what email really adds, that's a separate test. I explain how in email incrementality test.
How do you read the report?
A few patterns to look for.
Email share went up. Is that good? Usually, but check why. A subscription wellness brand had a month where store revenue fell 37% and new customers dropped from 1,657 to 223. Email's share went from 41% to 53%. That's email holding the store up while ads dried up, which is great to have, but the bigger story was the drop in new customers.
Flow share is low. If flows are a small slice of email revenue, your automation is missing pieces or broken. The skincare brand's jump from 60% to 83% came from rebuilding its flows, including welcome, browse abandonment, post-purchase, a reorder reminder and winback.
Clicks with no sales. Something broke. Across my portfolio, about 20 sends showed opens and revenue but zero clicks, which meant tracking was broken. A fitness gear brand's restock email got double its usual click rate and made $0. Click every link before you hit send.
For what "good" looks like on these numbers, see my CPG email marketing benchmarks.
Where these numbers come from
The click and open correlations come from 4 consumable brands I work with, 2,897 campaigns and $17.7M in email revenue. It's a small sample, so treat them as directional. The other figures each come from a single brand, and the 32% is the average across the brands I work with.
FAQ
How often should I get an email marketing report?
Monthly for the full report. Weekly, a quick look at the dashboard is enough to catch anything broken. I walk through mine in the weekly Klaviyo check.
What's a good email share of revenue?
It depends on your category and how much you spend on ads. Across the brands I work with, the average is about 32%. I go deeper in what percentage of revenue should come from email.
Should SMS be in the same report?
Yes, but on separate rows. If you combine them, a strong SMS month can hide a weak email month, or the other way around.
My agency's report is 20 pages. Is that bad?
Not if the first page answers the seven questions above. If you have to dig for email's share of revenue or flow vs campaign revenue, ask for a one-page summary on top.