Blog · Finance metrics and formulas
Email marketing ROI depends on which customers and purchases qualify, how long outcomes are observed, and which costs are included. Work from delivery, order and finance exports to compare contribution after returns across email cohorts.
Email marketing ROI compares the contribution assigned to an email cohort with the complete cost of reaching it. The useful calculation starts with eligible deliveries and matched orders, then adjusts for refunds, fulfillment costs and equal observation windows. A large sales total alone cannot show whether the campaign paid for itself.
The marketing ROI versus ROAS guide owns the general formulas and cost conventions. Here the job is narrower: decide which email recipients and purchases enter that calculation, and make the customer cohorts comparable.
Use contribution before marketing: net sales less the agreed product and variable delivery costs. Keep email platform, creative and campaign labor costs outside that contribution so they are deducted once. Label the result attribution-based unless separate evidence establishes incremental contribution.
The marketing attribution guide covers allocating a purchase across recorded interactions. Apply an agreed allocation from that process; do not award an order entirely to email merely because the customer received a message.
Keep a delivery register with campaign ID, customer ID, send date, delivery status and the suppression status applicable at send time. Keep a separate order register with order ID, customer ID, purchase date, net sales, variable costs and approved email credit. Stable customer identifiers are preferable to matching on names.
A hypothetical US office-supply retailer starts with this audience bridge. The campaign sends on September 1, 2026, and each customer belongs to exactly one cohort.
| Audience step | Customers | Calculation |
|---|---|---|
| Candidate audience | 6,000 | Starting register |
| Suppressed before sending | 400 | Exclude from attempted sends |
| Attempted sends | 5,600 | 6,000 - 400 |
| Failed deliveries | 100 | Exclude from delivered cohort |
| Delivered customers | 5,500 | 5,600 - 100 |
Deduplicate customer IDs before this bridge. Repeated sends to the same customer belong in an event register, but they must not inflate the unique customer denominator. Preserve failed deliveries as an exception group rather than describing them as customers who declined to buy.
Observe purchases from September 1 through September 30. Incorporate refunds linked to those purchases and recorded through October 15. This is a stated reporting policy for the example; later refunds can revise the cohort result. Do not compare it with another cohort whose purchases have barely begun to arrive.
The prepared order file already applies the approved channel credits. Refunds follow the original order into its original cohort. Product and fulfillment costs below are net of any recoveries on returned goods; sales tax is excluded.
| Cohort | Delivered customers | Sales before refunds (USD) | Refunds (USD) | Net sales (USD) | Variable costs (USD) | Contribution (USD) |
|---|---|---|---|---|---|---|
| New customers | 2,000 | 9,000 | 900 | 8,100 | 4,860 | 3,240 |
| Existing active customers | 2,500 | 14,000 | 1,000 | 13,000 | 7,150 | 5,850 |
| Reactivated customers | 1,000 | 4,000 | 400 | 3,600 | 2,340 | 1,260 |
| Total | 5,500 | 27,000 | 2,300 | 24,700 | 14,350 | 10,350 |
In Excel, place this table's cohort labels in A2:A4, delivered counts in B, sales in C, refunds in D, net sales in E, variable costs in F and contribution in G. Enter these formulas in E2 and G2 respectively, then fill down:
=C2-D2
=E2-F2
For the underlying Orders sheet, use A for order ID, B for cohort, C for purchase date, D for credited net sales, E for credited variable costs, F for contribution, G for approved eligibility and H for delivery date. Eligibility is 1 only where the approved matching and credit rules permit inclusion. Enter these formulas in F2 and I2 respectively, then fill down:
=D2-E2
=IF(AND(G2=1,ISNUMBER(C2),ISNUMBER(H2),C2>=H2,C2<H2+30),1,0)
Then summarize the credited contribution for the cohort named in Summary!A2:
=SUMIFS(Orders!$F$2:$F$1000,Orders!$B$2:$B$1000,A2,Orders!$I$2:$I$1000,1)
Microsoft documents SUMIFS as adding values that satisfy multiple conditions. Extend every range together when the file grows. This formula implements supplied eligibility; it does not determine which campaign deserves the credit.
Finance approves these costs and allocates them equally because the three cohort campaigns used equal production effort and an agreed equal platform allocation. That is a documented assumption, not a claim that equal allocation always fits.
| Cost component | New (USD) | Existing (USD) | Reactivated (USD) | Total (USD) |
|---|---|---|---|---|
| Platform allocation | 200 | 200 | 200 | 600 |
| Creative | 300 | 300 | 300 | 900 |
| Campaign labor | 500 | 500 | 500 | 1,500 |
| Campaign cost | 1,000 | 1,000 | 1,000 | 3,000 |
Put the campaign cost in H2:H4 beside the contribution table. In I2, calculate =G2-H2; in J2, calculate =IF(H2=0,NA(),I2/H2) and format as a percentage. The resulting comparison is:
| Cohort | Contribution (USD) | Campaign cost (USD) | After campaign cost (USD) | Attributed ROI |
|---|---|---|---|---|
| New customers | 3,240 | 1,000 | 2,240 | 224% |
| Existing active customers | 5,850 | 1,000 | 4,850 | 485% |
| Reactivated customers | 1,260 | 1,000 | 260 | 26% |
| Total | 10,350 | 3,000 | 7,350 | 245% |
The total is =(SUM(G2:G4)-SUM(H2:H4))/SUM(H2:H4). Here the equal campaign costs happen to make the simple average agree, but dividing total dollars remains the correct general method. All displayed ROI percentages are exact for these illustrative inputs.
The financial bridge must close: $27,000 less $2,300 in refunds less $14,350 in variable costs equals $10,350 before marketing. Subtracting $3,000 leaves $7,350. Tie the selected sales and refunds to the finance export, and credited channel amounts back to the same eligible orders without duplicating an order across channels.
Track unsubscribes separately:
| Cohort | Delivered customers | Unsubscribes | Unsubscribes / delivered |
|---|---|---|---|
| New customers | 2,000 | 20 | 1.00% |
| Existing active customers | 2,500 | 15 | 0.60% |
| Reactivated customers | 1,000 | 25 | 2.50% |
| Total | 5,500 | 60 | 1.09% |
Rates are rounded to two decimal places. The reactivation cohort produces a positive attributed return and the highest unsubscribe rate in this example. That combination deserves review before repeating the campaign. Do not subtract an invented lifetime value for each unsubscribe from realized contribution.
Do not define financial eligibility from opens alone. Apple explains that Mail Privacy Protection can download remote content regardless of engagement. An open signal therefore cannot replace a matched purchase. Covirage is not affiliated with Microsoft or Apple.
For acquisition economics beyond this window, use customer acquisition cost. If the campaign includes a creator partnership, the separate influencer marketing ROI workflow handles gifted products and overlapping codes.
Bring a delivery register, prepared order export and campaign cost file; Covirage maps the columns, and its tools compute and check the cohort comparisons. The external AI model explains the results with every figure traced to its rows. Create a free Covirage account and bring a sample of your own export.
See revenue driver analysis for the supporting business workflow.
Include existing customers when the campaign targets them, but report their cohort separately from new customers. Existing buyers can have different purchase frequency and contribution. Revenue assigned to their emails does not establish that those purchases would disappear without the campaign.
Choose a window that fits the buying cycle and document it before comparing campaigns. Allow the same purchase observation period for each delivery cohort, then state how later returns are handled. Keep immature cohorts visible instead of ranking them against completed ones.
An unsubscribe is not automatically a dollar expense or a refund. Report it alongside contribution using a consistent delivery denominator. Honor the supplied suppression status for later sends, and only attach a financial loss when finance has approved an explicit, separately labeled assumption.
No. Opens are an engagement signal rather than a financial outcome, and privacy features can affect their interpretation. Calculate return from qualifying orders and their costs. Keep engagement measures separate so an apparent increase in opens does not become invented revenue.