Blog · Board and management reporting
Structure campaign revenue, delivery costs and marketing costs in a reusable Excel workbook. The worked template shows campaign contribution, ROI formulas and reconciliations before you compare completed returns.
A marketing ROI Excel template compares campaign contribution after marketing costs, using the same revenue and cost definitions for every campaign. Build separate input, calculation and check sheets so a reviewer can reproduce the return from exported business records. The layout below can be copied into a workbook; it does not require a download.
This example uses a fictional US business-services company reviewing completed campaigns at September 30, 2026. Attributed net revenue means invoiced sales after credits that the company's documented attribution policy assigns to each campaign. Delivery costs are the costs assigned to fulfilling those same sales.
Media, agency fees and allocated campaign labor form the marketing-cost boundary. The result is contribution after those specified costs, before any excluded corporate expenses. The workbook does not establish incremental revenue caused by marketing. For the underlying distinction between revenue return and contribution return, see marketing ROI versus ROAS.
Campaign contribution = Attributed net revenue − Delivery costs
Net campaign contribution = Campaign contribution − Marketing costs
Marketing ROI = Net campaign contribution / Marketing costs
Put the revenue basis, attribution policy, cost boundary, cutoff and reviewer on a Rules tab. Keep an export date and source reference beside each campaign. A completed review needs enough time for the chosen revenue and cost records to arrive; use a provisional label until they do.
Use an Inputs tab with the headers below in columns A:F. Enter the example campaign records in rows 2 through 4. Amounts are USD, and the totals row shown here is a control, not an additional campaign.
| Campaign | Attributed net revenue (USD) | Delivery costs (USD) | Media (USD) | Agency (USD) | Campaign labor (USD) |
|---|---|---|---|---|---|
| Search | 90,000 | 54,000 | 12,000 | 3,000 | 3,000 |
| Events | 60,000 | 27,000 | 8,000 | 2,000 | 2,000 |
| 50,000 | 35,000 | 4,000 | 1,000 | 1,000 | |
| Source totals | 200,000 | 116,000 | 24,000 | 6,000 | 6,000 |
Preserve the source totals separately on Checks. Convert the campaign records, without that totals row, into a table for reuse. Microsoft's calculated-column guidance explains how a table column applies its formula to the rows and extends it when rows are added.
Add columns G:J to the same input sheet:
| Column | Heading | Formula in row 2 |
|---|---|---|
| G | Contribution before marketing | =B2-C2 |
| H | Marketing costs | =D2+E2+F2 |
| I | Net campaign contribution | =G2-H2 |
| J | Marketing ROI | =IF(H2=0,"Not available",I2/H2) |
Fill the formulas through row 4, or use the equivalent table calculated columns. The zero-cost test uses Excel's IF function to return text when the denominator is zero. Resolve blank cost inputs before accepting the calculation: the formula cannot tell whether an empty cell means no cost or an unfinished export.
Keep source amounts unrounded. Format dollar outputs to whole dollars and ROI to one decimal place for this example. Formatting changes the display, while the underlying calculation retains its precision.
| Campaign | Contribution before marketing (USD) | Marketing costs (USD) | Net campaign contribution (USD) | Marketing ROI |
|---|---|---|---|---|
| Search | 36,000 | 18,000 | 18,000 | 100.0% |
| Events | 33,000 | 12,000 | 21,000 | 175.0% |
| 15,000 | 6,000 | 9,000 | 150.0% | |
| Total | 84,000 | 36,000 | 48,000 | 133.3% |
Search leaves 90,000 − 54,000 = $36,000 before marketing. Its marketing costs are 12,000 + 3,000 + 3,000 = $18,000, leaving $18,000 after marketing. Dividing 18,000 by 18,000 produces 100.0% ROI.
Events produces the largest net contribution in this example, while Email uses the smallest marketing investment. Read dollars and percentages together: neither column alone describes the scale of the result. The marketing dashboard Excel layout covers the separate workbook for spend, leads and revenue comparisons.
On a Summary tab, link to the campaign outputs and sum each dollar column. The combined ROI is calculated from totals:
=SUM(Inputs!I2:I4)/SUM(Inputs!H2:H4)
That is 48,000 / 36,000 = 133.3%, rounded to one decimal place. The simple average, (100.0% + 175.0% + 150.0%) / 3 = 141.7%, overstates the combined return because it gives unequal investments equal weight.
Do not turn this small example into a market benchmark. The average marketing ROI guide discusses why comparison requires matching definitions and business context.
The source-total checks should compare each imported amount with its independent control. For example, =SUM(Inputs!B2:B4)-Checks!B2 must return zero when Checks!B2 holds the retained revenue total of $200,000. Repeat the comparison for delivery costs, media, agency and labor.
Then prove the output with this identity:
| Reconciliation step | Amount (USD) |
|---|---|
| Attributed net revenue | 200,000 |
| Less delivery costs | −116,000 |
| Less media | −24,000 |
| Less agency | −6,000 |
| Less campaign labor | −6,000 |
| Net campaign contribution | 48,000 |
The result equals the sum of campaign net contributions: 18,000 + 21,000 + 9,000 = $48,000. A failure here signals a missing cost, duplicated record or broken formula before it signals campaign performance.
For a sensitivity check, increase only Search labor from $3,000 to $5,000. Search marketing costs become $20,000, net contribution becomes $16,000, and ROI becomes 16,000 / 20,000 = 80.0%. This isolates a cost-allocation change without pretending that revenue changed. Restore the original value after recording the scenario separately.
Once the workbook ties, the guide to improving marketing ROI covers how to turn a checked return into a business review.
Covirage is not affiliated with Microsoft.
Bring your completed campaign workbook with the revenue assignments, delivery costs and marketing-cost policy. Covirage maps the columns; its tools compute and check the figures, and 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 data.
See Excel analysis in Covirage for the supporting workflow.
Document the boundary before comparing campaigns. This template includes media, agency and allocated campaign labor as marketing costs, with delivery costs deducted separately from revenue. Any other included cost needs its own recorded amount and allocation rule, applied consistently across campaigns.
Leave its ROI unavailable and investigate whether the cost is genuinely absent or missing from the export. A zero denominator cannot produce a meaningful percentage. Show the campaign's revenue and contribution separately while the reviewer resolves the cost record.
Choose the revenue basis that matches the review and label it clearly. This workbook uses net invoiced revenue attributed to completed campaigns. Do not combine bookings from one campaign with invoiced revenue from another and present the result as a consistent return comparison.