Calculate email ROI with explicit costs, margin, and attribution assumptions, and separate attributed sales from incremental results.
Email ROI is the return attributable to an email program after accounting for its costs. The difficult word is "attributable."
An order after a click is useful evidence. It does not prove the customer would never have bought without the email. Keep that distinction visible when reporting results.
For a profit-based view:
ROI = (incremental gross profit - email program cost) / email program costIf you only have attributed revenue, label the result as revenue-based and state the attribution model. Do not present it as incremental profit.
Include software, sending, production time, engineering support, and any campaign-specific discounts or costs. Avoid counting the same cost twice if it already sits in your gross-margin calculation.
Use the same period for costs and revenue. When a cost serves several channels, allocate the email share and write down how you split it, so next quarter's report uses the same rule.
| Cost | What to count | Watch for |
|---|---|---|
| Email platform | Plan or subscription fees for the reporting period | A plan that also sends product or transactional email, where only part of the fee belongs to marketing |
| Sending | Per-message, overage, or dedicated IP charges, plus any separate sending service | Charges billed to another team's budget |
| Design and production time | Hours for writing, design, building, review, testing, and approvals, times an hourly cost that includes overhead | Rework and last-minute fixes, which are easy to leave out |
| Engineering support | Time spent on templates, integrations, tracking, and data fixes | Work logged under a product team |
| Data and tools | Analytics, attribution, list verification, integrations, and data sync | Tools shared with other channels, which should be prorated |
| Agency or freelance work | Retainers, per-campaign fees, and contractor hours | Retainers that also cover other channels |
| Offer costs | Discounts, free shipping, or incentives given only through email | Costs already deducted in your gross margin |
If you cannot measure a cost precisely, estimate it and mark it as an estimate. Leaving it out makes the return look better than it is.
Decide what counts as email revenue before the send, write it next to the result, and keep it the same when you compare periods. An attribution window is a reporting choice. It does not show that the email caused the purchase.
| Revenue | What to count | Rule to write down |
|---|---|---|
| Attributed orders | Orders credited to an email under your attribution model | The window, such as 7 days after a click, and whether orders without a click count |
| Subscription revenue | New subscriptions, upgrades, and add-ons started after an email | First payment only, a fixed period of collected revenue, or modeled lifetime value |
| Retained revenue | Renewals and saved cancellations after a retention or win-back email | An explicit window, such as renewals within 30 days of the send, and how you account for customers who would have renewed anyway |
| Refunds and cancellations | Refunded orders and cancelled subscriptions already counted above | Whether you subtract refunds that arrive after the report closes |
The window lengths in the table are examples, not recommendations. Pick windows that match how long your customers take to buy or renew.
Suppose a campaign costs $500 including production and sending. Your analysis estimates $2,000 in incremental sales at a 60% gross margin. That yields $1,200 in gross profit and $700 after the campaign cost. The estimated ROI is 140%.
If the $2,000 is only attributed sales and there was no incrementality analysis, call the result an attributed estimate. The arithmetic is still useful, but the causal claim is weaker.
Written out, the revenue-based version looks like this. The figures are made up to show the arithmetic. They are not a benchmark or a typical result.
Revenue-based ROI = (attributed revenue - email program cost) / email program cost
Illustrative arithmetic only:
Attributed revenue, 7-day click window $3,000
Email program cost, same month $750
ROI = (3,000 - 750) / 750 = 3.0, or 300% revenue-basedReport the labels with the number: that it is revenue-based, which attribution window you used, and which costs you included. Without them, a reader cannot tell whether this month's figure is comparable to last quarter's.
For subscriptions, decide whether the report covers the first payment, a fixed period of realized revenue, or modeled lifetime value. A forecast should not silently appear beside collected revenue as if they were equivalent.
Use consistent campaign parameters and a defined conversion window. Decide how to handle multiple emails, other channels, refunds, repeat purchases, and orders from people who never clicked.
An email platform and an analytics platform can report different revenue without either being broken. They may use different windows or credit rules. Reconcile the definitions before reconciling the numbers.
Where the audience and business allow it, a randomized holdout can help estimate incremental impact. Choose the unit carefully and allow enough time for the purchase cycle. Small samples produce uncertainty; report it rather than converting every difference into a confident lift claim.
If production consumes most of the cost, reusable brand guidance and layouts may help more than a cheaper send rate. If the audience is wrong, faster drafting simply sends the wrong message sooner.
Brew can help produce and revise emails from an existing brand. Its current limits and prices are on the pricing page; use your actual plan and usage in the calculation. Do not assume an advertised plan price equals the full cost of the program.
Review segmentation, list quality, and the destination page before increasing frequency. A clear report should show the outcome, its cost, and what remains uncertain. It should not need an industry-wide return statistic to make the campaign look successful.
