A marketing ROI calculator turns campaign costs and revenue into one number you can compare across channels. The basic math is simple, but the inputs are where most reports go wrong. This guide gives you the formula, a worked example, and a spreadsheet structure that separates real return from flattering but incomplete metrics.
Use it for paid ads, email, content, social media, events, or a mixed campaign. You will also see when plain ROI is not enough and when customer acquisition cost, gross margin, payback period, and lifetime value give you a more honest answer.
Marketing ROI calculator: the core formula
The standard formula is:
Marketing ROI = (Revenue attributed to marketing - Marketing cost) / Marketing cost x 100
Suppose a campaign generates $24,000 in attributed revenue and costs $8,000. The calculation is:
($24,000 - $8,000) / $8,000 x 100 = 200%
A 200% result means the campaign produced $2 in return after marketing cost for every $1 spent. It does not automatically mean the campaign produced $2 in profit. Product costs, fulfillment, refunds, sales commissions, and overhead may still sit outside the calculation.
That distinction matters. Revenue-based ROI is useful for quick channel comparisons. Profit-based ROI is better for budgeting decisions because it accounts for the economics of delivering the sale.

A profit-based version
If your gross margin is 60%, the $24,000 in revenue produces $14,400 in gross profit before marketing cost. The more useful calculation becomes:
Profit-based marketing ROI = (Attributed gross profit - Marketing cost) / Marketing cost x 100
($14,400 - $8,000) / $8,000 x 100 = 80%
The same campaign shows 200% revenue-based ROI and 80% profit-based ROI. Both calculations are mathematically correct. They answer different questions, so label the result clearly in every report.
What to include in your marketing ROI calculator
A useful calculator needs more than media spend. Include every cost required to plan, create, run, and measure the campaign. Otherwise, labor-heavy channels can look better than they are.
- Advertising spend and platform fees
- Agency, contractor, or freelancer fees tied to the campaign
- Creative production, design, video, copy, and landing page work
- Software used specifically for the campaign
- Sponsorship, printing, shipping, or event expenses
- Internal labor, calculated as hours multiplied by an hourly cost
- Discounts, refunds, and promotional incentives when material
Do not load every company expense into a single campaign. Use direct costs first, then apply shared costs with a consistent rule. For example, split a reporting platform across the campaigns that used it during the month. Consistency is more useful than false precision.
Choose a revenue window before you calculate
A seven-day sale and a six-month sales cycle should not use the same measurement window. Decide how long a campaign can receive credit before viewing the result. Ecommerce teams may use 7, 30, or 60 days. A service business may need 90 days or longer between the first inquiry and collected revenue.
Use collected revenue when cash timing matters. Use booked revenue when the contract is reliable and your team reports accrual results. Whichever method you choose, apply it across campaigns and state it in the spreadsheet.
Want cleaner marketing measurement?
We help businesses and individuals build engaged audiences and drive real results through social media.
How to build a marketing ROI calculator in a spreadsheet
You can build the calculator in Google Sheets or Excel with one input tab and one summary tab. Keep raw numbers separate from formulas so anyone reviewing the file can trace the result.
Step 1: create the input columns
Add one row per campaign and use these columns:
- Campaign name
- Channel
- Start date and end date
- Media spend
- Creative and production cost
- Labor cost
- Other campaign cost
- Total marketing cost
- Leads or purchases
- New customers
- Attributed revenue
- Gross margin percentage
- Attributed gross profit
- Revenue-based ROI
- Profit-based ROI
If media spend is in column D and the other costs are in columns E through G, total marketing cost in H2 is =SUM(D2:G2). If attributed revenue is K2 and gross margin is L2, attributed gross profit in M2 is =K2*L2.
Revenue-based ROI in N2 is =(K2-H2)/H2. Profit-based ROI in O2 is =(M2-H2)/H2. Format both cells as percentages. Add an error check for zero spend, such as =IF(H2=0,"",(K2-H2)/H2).
Step 2: add supporting metrics
ROI tells you the return relative to cost, but it can hide the reason a campaign worked or failed. Add a few diagnostic metrics:
- Cost per lead: total marketing cost / leads
- Customer acquisition cost: total marketing cost / new customers
- Lead-to-customer rate: new customers / leads
- Average order value: attributed revenue / purchases
- Payback period: acquisition cost / monthly gross profit per customer
These numbers make the report actionable. A low ROI caused by expensive clicks needs a different response than a low ROI caused by poor lead follow-up. If you want a broader planning view, pair the calculator with a marketing budget template so planned and actual spend live in the same process.
Step 3: build a summary tab
Summarize results by channel, campaign type, and month. Show total cost, attributed revenue, gross profit, ROI, customer acquisition cost, and new customers. Avoid averaging ROI percentages across rows. Add the costs and returns first, then calculate ROI from the totals. A simple average can give a tiny campaign the same weight as your largest campaign.

Marketing ROI calculator example
Consider a 30-day lead generation campaign with these inputs:
- Ad spend: $5,000
- Creative and landing page work: $1,200
- Internal labor: $800
- Total marketing cost: $7,000
- Qualified leads: 70
- New customers: 10
- Attributed revenue: $20,000
- Gross margin: 55%
The revenue-based ROI is ($20,000 - $7,000) / $7,000 = 185.7%. Attributed gross profit is $20,000 x 55% = $11,000. Profit-based ROI is ($11,000 - $7,000) / $7,000 = 57.1%.
Cost per lead is $100. Customer acquisition cost is $700. Those figures give the team practical targets for the next campaign. If the sales team can raise the close rate from 14.3% to 18% without increasing lead cost, the return should improve even if ad performance stays flat.
Now compare this with a campaign that produces a 100% profit-based ROI on only $1,000 of spend. The smaller campaign is more efficient, but it adds less total gross profit. Budget decisions need both efficiency and scale.
Attribution limits every marketing ROI calculator
The formula cannot fix weak attribution. A customer may see a social post, read two articles, search your name, click an ad, and later buy through email. Giving all revenue to the final click makes the last channel look productive while ignoring the earlier work.
Use one attribution rule for comparison, then add context. First-click attribution is useful for discovery. Last-click attribution is easy to audit but favors conversion channels. Multi-touch models spread credit across interactions, though the weighting is still a choice rather than a fact.
For larger budgets, run controlled tests when possible. Holdout groups, geographic tests, and campaign pauses can estimate incremental lift. The question is not only, "Which campaign received credit?" It is also, "How many sales would have happened without this campaign?"
Keep a note in the calculator for attribution model, lookback window, and data source. If the data comes from platform-reported conversions, compare it with analytics and CRM records. Platforms may claim overlapping conversions, so adding every channel's reported revenue can overstate the total.
When ROI should include customer lifetime value
First-purchase revenue can undervalue campaigns that acquire repeat customers. If retention data is stable, compare customer acquisition cost with expected gross profit over the customer's lifetime.
A simple lifetime value estimate is:
Customer lifetime value = Average purchase value x Purchase frequency x Customer lifespan x Gross margin
Lifetime value is a forecast, not cash already earned. Keep an actual first-order ROI view beside the lifetime-value view. That prevents optimistic retention assumptions from turning a weak campaign into a fictional winner. For a fuller walkthrough, use this guide to calculate customer lifetime value.
Common marketing ROI mistakes
The arithmetic rarely causes the biggest error. Watch for these reporting habits:
- Counting revenue but ignoring gross margin
- Using ad spend as the only campaign cost
- Mixing booked revenue and collected revenue across campaigns
- Changing attribution windows between channels
- Adding overlapping platform conversion totals
- Using lifetime value without showing the underlying retention assumptions
- Comparing campaigns before enough sales have matured
- Optimizing for percentage return while ignoring total profit and scale
A defensible result is better than an impressive one. Add a short methodology note to each report and keep the input data available for review. If someone cannot reproduce the number, the dashboard is decoration.
Turn the result into a budget decision
Calculate ROI on a regular schedule, but do not react to every daily swing. Match the review period to sales volume and cycle length. A high-volume store may learn weekly. A service business with ten monthly opportunities may need a quarter of data.
When a campaign performs well, test whether it can absorb more budget without pushing acquisition cost beyond your limit. When it performs poorly, inspect the supporting metrics before cutting it. The problem may be targeting, conversion rate, sales follow-up, margin, or attribution rather than the channel itself.
Your calculator should end with a decision field: increase, maintain, repair, or stop. Add the owner, next action, and review date. That small step turns a report into an operating tool.
Put your marketing numbers to work
We help businesses and individuals build engaged audiences and drive real results through social media.



