Free marketing ROI calculator
Marketing ROI calculator
Nine numbers in, five numbers out: revenue, cost, profit, ROI and cost per acquisition, plus the funnel step quietly eating your audience. Every figure on this page comes from you. Nothing is estimated on your behalf.
Why this calculator refuses to guess
Open four other marketing ROI calculators and three of them will prefill a conversion rate for you. Somewhere under the form there will be a line about industry averages. Ask where the average came from and the trail goes cold, because it was a number someone picked to make the output look plausible.
That is not a small complaint. A prefilled conversion rate is the single most load-bearing input in the whole model. Multiply your real audience by someone else's invented rate and the revenue figure you get is fiction with a currency symbol in front of it. You then take that fiction into a budget meeting.
So this one has none. The fields arrive filled with round placeholders (10,000, 50%, 10%) and they are marked as placeholders everywhere they appear, because round numbers are honest about being made up in a way that 2.7% never is. Replace every one of them with a number you can actually source, from your own last campaign, your own analytics, your own invoices. If you cannot source a number, that gap is the finding, and no calculator should paper over it for you.
Your numbers
Change anything and the results update as you type. The second column starts as a copy of the first, so any gap you see between them is a change you made.
Placeholder These starting values are round placeholders, not benchmarks. They are here so the page has something to show, not because they describe your campaign or anyone else's.
Results
Where the funnel loses people
Each bar is the people still in play after that step. The gap above it is what the step cost you.
- Reached 5,000Never saw it 5,000
- Clicked 500Saw it, did not click 4,500
- Replied 100Clicked, did not reply 400
- Bought 10Replied, did not buy 90
Your biggest drop is at reached, which costs you 5,000 people.
Take the result with you
Copy the full breakdown, inputs included, so the numbers arrive with their assumptions attached.
The formulas, in full
Nothing here is hidden behind a script. If you would rather rebuild this in a spreadsheet, these five lines are the whole thing.
- Funnel
audience × reach% × click% × reply% × conversion% = customersMultiplicative. Each rate applies to the survivors of the step before, which is why 50% then 10% leaves 5% of the original, not 60%.
- Revenue
customers × average valueGross, not margin. If you want margin, enter your margin per customer instead of order value.
- Total cost
channel cost + (team hours × cost per hour)Team time counts. A campaign that burns 40 hours is not free because nobody invoiced for it.
- ROI
(revenue - total cost) ÷ total cost × 100A 0% result means you broke even. Negative means the campaign cost more than it returned.
- Cost per acquisition
total cost ÷ customersCompare it against what a customer is worth over their lifetime, not against one order.
Reading the result without fooling yourself
Four things that change what the number means, none of which the calculator can know.
- ROI and payback are different questions. This calculates return on one campaign against its cost. If customers stay and buy again, the real return is higher than what you see here, and if they churn in a month it is lower. Enter lifetime value instead of order value when you want the longer answer.
- Attribution decides the revenue line. A customer who saw three channels before buying is counted in full by whichever model you use. If your attribution is generous, this calculator inherits that generosity exactly.
- Team time is the cost people forget. Set team hours to zero and watch the ROI jump. That jump is the size of the lie in most campaign reports.
- A reply is not a conversion. Messaging channels produce replies that feel like progress. Reply rate and conversion rate are separate fields here because a channel can be excellent at one and useless at the other.
What the second scenario is for
The useful question is rarely what a campaign returned. It is what one change would be worth. Scenario B exists for that: copy A, change a single number, and read the gap.
Try it on reach before you try it on conversion. Reach sits at the top of the funnel, so every point you gain there multiplies through all four steps. Conversion sits at the bottom, where it only ever acts on whoever survived.
The comparison also works as a sanity check. If a change you consider realistic produces a result that would be the best campaign in your company's history, one of the numbers you typed is optimistic, and it is usually the conversion rate.
Questions about the calculator
How do you calculate marketing ROI?
Subtract the campaign's total cost from the revenue it produced, divide by the total cost, and multiply by 100. The part people get wrong is the cost side: channel spend is easy to count, team hours are easy to forget, and leaving them out inflates the result.
Why are there no benchmark conversion rates in this tool?
Because we do not have any we could stand behind. A figure on an Entergram page has to have a source, and there is no measured conversion benchmark we could publish for your channel, your market and your offer. A plausible-looking average would make the output feel more authoritative while making it less true.
What are the prefilled numbers then?
Round placeholders, nothing more. 10,000 people, 50%, 10%, 20%, 10%. They are deliberately tidy so that nobody mistakes them for measurements. Replace all nine before you take the result anywhere.
Is my data sent anywhere?
No. The calculation runs in your browser. There is no signup, no email gate, and nothing is posted to a server. The copy and download buttons build the summary locally from what is on screen.
What counts as cost per acquisition here?
Total cost divided by the customers the funnel produced, where total cost is channel spend plus team hours multiplied by your hourly rate. It is a blended CPA for this campaign, not a per-channel figure.
Why does ROI show nothing when I set cost to zero?
Dividing by zero does not give you enormous ROI, it gives you an undefined result. Rather than print a symbol that looks like a win, the calculator says there is no cost to measure a return against.
Can I use this for a Telegram or messaging campaign?
Yes, that is why reply rate is a separate field. Broadcast and messaging campaigns produce conversations rather than page visits, so a model that jumps straight from click to purchase misses the step where most of the work happens.
Keep going
Also free: Telegram Group Finder , Telegram Lead Finder , Free QR Code Generator .
The hard part is sourcing the numbers
Reach, replies and what happened after are straightforward to count when the conversations live in one place. Entergram is a Telegram CRM for teams running many real personal Telegram accounts in one workspace, so broadcast replies land in one interface against the CRM record and stay attached to the chat. Its MCP connector exposes the underlying message events to a connected AI client, each carrying an account id, a chat id, a timestamp and a direction, which is how teams work out their own reply rates instead of borrowing someone else's.
See how Entergram works