How to calculate email marketing ROI: formulas and examples
A marketer reports: “Our email ROI is 3,600%”. The CFO asks: “How did you calculate that?” Silence. This article covers how to get the math right: which costs to include, how to attribute revenue, and why two companies with identical email revenue can report ROI that differs by a factor of three.
What ROI actually measures
Return on investment is the ratio of net profit from email to total running cost. Formula: ROI = ((Revenue − Cost) / Cost) × 100%. Spend $2,000, earn $30,000 in attributable revenue, and ROI is 1,400%. That number looks clean until you realize all the work is in defining “revenue” and “cost” correctly.
The industry average is around $36–$42 earned per dollar spent, but that figure hides everything. A mature e-commerce brand with clean segmentation and working automations can routinely hit 50:1. A company sending one generic newsletter a month to an uncleaned list may not break 5:1. Same channel, ten times the gap. That is process, not luck.
The cost side: what most teams forget
Marketers almost always remember the ESP subscription. That is the easy part. Full list of costs that belong in the denominator:
- ESP / sending platform. Monthly fee plus any per-send charges. For high-volume senders, overage fees can double the base price.
- Tooling. Email validation, analytics platforms, seed testing, design tools (Figma, Stripo, MJML editors), A/B testing add-ons.
- Labor. The share of salaries for everyone who touches email: copywriter, designer, developer (for HTML templates), marketing manager, analyst. If someone spends 30% of their time on email, 30% of their loaded cost goes into the formula.
- Content creation. Photography, video, custom illustrations, external copywriting.
- List building. Paid lead magnets, landing page hosting, form builder subscriptions, ad spend driving sign-ups.
- Deliverability maintenance. Dedicated IPs, warm-up tools, DMARC monitoring, domain authentication infrastructure.
Count only the ESP fee and ROI inflates 2x–5x versus fully loaded numbers. The inflated figure looks good in a deck but misleads budget decisions. If you want ROI that survives a CFO’s questions, include everything.
The revenue side: attribution models
A customer gets your email Monday, does not click, visits directly Wednesday, and buys. Did email drive that sale? No single right answer. There are models, each with trade-offs.
Last-click attribution. Revenue counts only if the purchase came from a direct click in the email. Simple, but underestimates email’s contribution by 30–50% because many buyers return via other channels.
View-through (open-based) attribution. Revenue is attributed to email if a subscriber opened within a window (3–7 days) then purchased. More generous, but Apple Mail Privacy Protection inflates opens artificially, so this model overstates results for any list with significant iOS share.
Click-through with window. Revenue counts if the subscriber clicked and purchased within a set window (1–14 days). Most balanced for most teams. Five days is a reasonable default; shorter for flash sales, longer for B2B.
Multi-touch attribution. Distributes credit across all touchpoints: email, paid, organic, social. Most accurate in theory, hardest to implement, requires a unified analytics stack. If you have one, use it. Otherwise, click-through with a 5-day window is a solid proxy.
Your choice of attribution model will shift reported ROI by 2x–4x. Pick one, document it, and keep it consistent across reporting periods. Switching models mid-year makes quarter-over-quarter comparisons meaningless.
Worked example: e-commerce store
An online store with 45,000 subscribers. Monthly figures:
| Line item | Amount |
|---|---|
| ESP (Klaviyo) | $700 |
| Email validation (uChecker) | $45 |
| Design tool | $30 |
| Marketer salary (40% allocation) | $2,400 |
| Designer (10% allocation) | $500 |
| Ad spend for list building | $600 |
| Total cost | $4,275 |
| Revenue (click, 5-day window) | $52,000 |
ROI = (($52,000 − $4,275) / $4,275) × 100% = 1,116%. About $12 per dollar invested. Not the mythical 36:1, but a real number that covers labor, tooling, and list acquisition. Count only the ESP and the same business shows 7,328%. Same revenue, seven times the reported ROI.
Worked example: B2B SaaS
A B2B SaaS company with 8,000 subscribers and an average contract value of $3,200/year. The email program drives trial sign-ups and nurtures leads. Monthly numbers:
| Line item | Amount |
|---|---|
| ESP (HubSpot, email portion) | $450 |
| Email validation | $25 |
| Content writer (freelance) | $1,200 |
| Marketing manager (25% allocation) | $1,750 |
| Total cost | $3,425 |
| Revenue (attributed closed deals) | $19,200 |
ROI = (($19,200 − $3,425) / $3,425) × 100% = 461%. Lower than e-commerce, which is normal for B2B: longer cycles, fewer deals, higher values. A deal closing in May may trace back to a February email. In a CRM, attribute revenue to the touchpoint that opened the opportunity, not the one closest to close.
Segmenting ROI: where the real insight is
Aggregate ROI works for board-level reporting. Operational decisions need the breakdown:
- By campaign type. Triggered flows (abandoned cart, welcome series, post-purchase) almost always outperform batch campaigns by 3–8x on ROI. Lump them together and the triggers mask poor batch performance. Keep them separate.
- By segment. Active subscribers (opened or clicked in the last 90 days) versus dormant ones. Dormant segments often have negative ROI: you pay to send, they generate nothing. That is a direct signal to re-engage or suppress.
- By lifecycle stage. Pre-purchase emails (nurture, welcome) versus post-purchase (upsell, retention). The balance shows whether your email program is acquisition-heavy or retention-heavy, and where to put budget next.
How list quality affects ROI
A dirty list hits both sides. You pay your ESP for every send, including addresses that bounce. Twenty percent invalid means 20% of sending cost wasted. Dead addresses do not buy. High bounce rates also erode sender reputation, pushing legitimate emails into spam for real subscribers too.
The pattern is consistent: a company validates their list, removes 15–25% of addresses, and reported ROI rises even though revenue is flat or slightly lower. The denominator shrank; the numerator held. Cleaning did not create revenue. It cut the waste that was suppressing the ratio.
Validating your email list is one of the cheapest ways to improve ROI. Not because it drives revenue, but because it cuts waste that was suppressing the number.
Common ROI calculation mistakes
1. Using revenue instead of profit. If your product margin is 40%, $50,000 in email-attributed revenue is $20,000 in gross profit, not $50,000. Plugging in revenue roughly doubles the reported ROI. For an honest picture, use gross profit or at least contribution margin.
2. Ignoring cannibalization. Would the customer have bought without the email? For discount campaigns, that figure can be 30–50%. A holdout group (a slice of the list that does not receive the campaign) is the only reliable way to measure incremental lift.
3. Switching attribution models between periods. If Q1 used last-click and Q2 used view-through, comparing the quarters means nothing. Pick a model and stick with it.
4. Omitting labor. The marketer’s time is not free. Fifteen hours a week on email is a real cost.
5. Measuring too infrequently. Annual ROI hides seasonal swings. Monthly is better: a drop in March can be fixed by April if you see it in time.
Checklist: calculating ROI correctly
- Pick an attribution model and document it. Click-through with a 5-day window is a solid default.
- Collect all costs: ESP, tools, salaries, content, list acquisition, deliverability infrastructure.
- Use gross profit, not revenue.
- Break ROI down by campaign type and segment. Aggregate is for reporting; detail is for decisions.
- Run holdout groups for large promotional campaigns to measure incremental lift.
- Recalculate monthly. Compare against prior periods, not industry averages.
- Validate your list first. Invalid addresses inflate costs and suppress ROI.
ROI is a decision tool, not a slide number. Which campaigns to scale, which to cut, how much to request next quarter. If it does not answer those questions, the calculation is off.
Accurate ROI starts with a clean list. Check your addresses in uChecker — 30 free validations will show what share of your sending budget is going to dead addresses.
