Analytics & Reporting

Email ROI Calculation: Measuring Campaign Profitability

December 11, 2025 4 min read 3,278 views Guide

Why You Should Know Your Email ROI

Email marketing consistently delivers the highest ROI of any digital marketing channel — industry benchmarks cite $36–$42 return per $1 spent. But most email marketers don't know their actual ROI — they track opens and clicks without connecting them to revenue.

Knowing your email ROI enables you to:

  • Justify budget and resources for your email program
  • Compare performance across campaigns, segments, and time periods
  • Make data-driven decisions about send frequency, content investment, and list growth

The Core ROI Formula

Email ROI = ((Revenue Attributed to Email − Cost of Email) / Cost of Email) × 100

Example:

Monthly email revenue:    $12,500
Monthly email costs:      $400 (platform) + $600 (copywriter) = $1,000
Email ROI:                (($12,500 − $1,000) / $1,000) × 100 = 1,150%

Calculating Costs

Direct costs to include:

  • ESP/platform costs (AcelleMail plan fee or per-send cost)
  • Email copywriting (freelancer or employee time)
  • Design costs (template design, custom graphics)
  • Email verification service fees
  • Analytics tools (if separate from email platform)

Annualizing for accurate comparison:

Cost item Monthly Annual
AcelleMail plan $79 $948
Copywriter (5 hrs/mo at $50/hr) $250 $3,000
Designer (2 hrs/mo at $75/hr) $150 $1,800
Email verification $30 $360
Total $509 $6,108

Attributing Revenue to Email

Method 1: Last-Click Attribution (Simplest)

In Google Analytics, revenue attributed to utm_medium = email within a session is counted as email revenue.

Limitation: If someone clicks your email, visits your site, leaves, and returns directly two days later to purchase — that sale is not attributed to email.

Method 2: Time-Window Attribution

Count any purchase made within X days of an email click as email-attributed.

// In your analytics system
$emailAttributedOrders = Order::where('created_at', '>=', $campaignSentAt)
    ->where('created_at', '<=', $campaignSentAt->addDays(7))
    ->whereHas('sessions', function ($q) {
        $q->where('utm_medium', 'email')
          ->where('utm_campaign', $this->campaignSlug);
    })
    ->sum('total');

Method 3: First-Touch Attribution

If email was the first touchpoint in the customer's journey, attribute the full purchase value to email. This is most appropriate for new customer acquisition campaigns.

Campaign-Level Profitability

Calculate profitability per campaign to identify which content types and segments drive the most value:

Campaign: Spring Sale Email
Sent to:            8,500 subscribers
Delivered:          8,330
Opens (click-based): 1,200 (estimated)
Clicks:             680 (8.2% click rate)
Orders:             94
Revenue:            $6,820
AOV:                $72.55
Campaign cost:      $280 (design + copy + platform)

Revenue per email:  $6,820 / 8,330 = $0.82
Campaign ROI:       (($6,820 - $280) / $280) × 100 = 2,336%

Track this per campaign in a simple spreadsheet, and over 6+ campaigns, patterns emerge: which segments are most profitable, which content types drive the most revenue, which send days perform best.

Revenue per Subscriber (RPS)

This metric tells you how much each subscriber on your list is worth monthly:

RPS = Monthly Email Revenue / Total Active Subscribers

Example: $12,500 / 6,200 active subscribers = $2.02 per subscriber per month

This figure is powerful for justifying list-building investment:

  • If each subscriber is worth $2.02/month, acquiring 1,000 new subscribers via paid ads at $1,500 breaks even in <1 month
  • It also quantifies the cost of churn: losing 500 subscribers = losing ~$1,010/month in expected revenue

Lifetime Email Value (LEV)

Model how long subscribers stay on your list on average:

Avg subscriber lifespan = 1 / monthly_unsubscribe_rate

Example: 0.5% monthly unsubscribe rate
Avg lifespan: 1 / 0.005 = 200 months (unrealistic — cap at reasonable maximum)

Better approach: Use actual cohort data
  Subscribers acquired in Jan 2025: 500
  Still active in Jan 2026: 310
  12-month retention: 62%
  Annual churn: 38%
LEV = Monthly Revenue per Subscriber × (1 / Monthly Churn Rate)
LEV = $2.02 × (1 / 0.038/month) = $2.02 × 26 months = $52.52 lifetime value

Reporting ROI in AcelleMail

AcelleMail doesn't calculate revenue natively unless integrated with an e-commerce platform. To build your ROI report:

  1. Export campaign click data from AcelleMail
  2. Cross-reference with order data from your store (match UTM campaign names)
  3. Input costs from your records
  4. Calculate ROI in a spreadsheet or your analytics tool

For automated reporting, set up a Google Analytics custom report that summarizes email-attributed revenue by campaign name — your UTM utm_campaign values become the report dimensions.

Measuring email ROI is not glamorous work, but it transforms your email program from a "nice to have" into a quantifiable revenue engine — and that's what gets it invested in and grown.

A

AcelleMail Team