How to Calculate the Real ROI of Content
Most content ROI numbers are built to make someone look good in a slide deck. They divide this month's organic revenue by this month's content spend and call it a day. That math is wrong in both directions: it ignores the articles you published a year ago that are still pulling traffic, and it ignores the months of spend before a single piece ranked. If you want a number you can actually defend to a partner or a board, you need to measure the way content behaves — slowly, then all at once, and then for years.
Here is a framework that accounts for how organic content actually earns, plus a worked example you can drop your own numbers into.
Start with the right definition of return
Content produces two kinds of value, and you have to count both or the ROI looks fake.
The first is direct: someone searches, lands on an article, and becomes a lead or a sale in a traceable path. This is what most analytics tools show you, and it undercounts badly.
The second is assisted: someone reads three of your articles over two weeks, never converts from any of them directly, then searches your brand name and calls. Your analytics attributes that to "direct" or "branded search," and the content that built the trust gets zero credit.
For a defensible number, count a lead as content-driven if content appeared anywhere in the path before conversion, not just as the last click. Most analytics platforms let you view assisted conversions or a path report. Use it.
The formula
The core calculation is simple. The discipline is in the inputs.
Content ROI = (Attributed Pipeline Value − Total Content Cost) ÷ Total Content Cost
Expressed as a percentage, multiply by 100. The four inputs you have to get honest about:
- Total Content Cost: everything — subscription or agency fee, internal review time, any tools, and the cost of your own hours spent on approvals.
- Attributed leads: leads where content touched the path, over a defined window.
- Close rate: the percentage of those leads that become customers.
- Value per customer: either first sale or lifetime value, but pick one and label it clearly.
Attributed Pipeline Value = attributed leads × close rate × value per customer.
Why the time window matters more than anything
An article published in March might not rank until July and might still be earning the following March. If you measure ROI in a 30-day window, you will conclude content doesn't work — because in month one, it doesn't. The costs are all front-loaded and the returns arrive late.
Measure on a trailing 12-month basis once you are past your first year. In year one, measure cumulatively from the start and expect the ratio to be underwater for the first several months. That's not failure; it's the shape of the curve.
A worked example
Suppose a commercial HVAC company runs a content program for 12 months. Here are the numbers, kept deliberately simple.
| Input | Value |
|---|---|
| Monthly content cost (all-in) | $400 |
| Months running | 12 |
| Total content cost | $4,800 |
| Content-attributed leads (year) | 36 |
| Close rate | 25% |
| Average first-contract value | $3,200 |
Attributed Pipeline Value = 36 × 0.25 × $3,200 = $28,800.
Content ROI = ($28,800 − $4,800) ÷ $4,800 = 5.0, or 500%.
Now look at the same program measured only in month three, when nine articles were live but only two ranked. Say it produced 1 attributed lead that closed: pipeline value $800, cost to date $1,200. ROI is −33%. Same program, same quality — the only difference is when you took the snapshot. This is exactly why so many owners kill content in month four and conclude it doesn't pay.
How do you attribute a sale to content when the customer took a winding path?
Use last-non-direct plus assisted attribution together, and treat any content touch in the path as qualifying. Practically, that means opening your analytics conversion-path report, filtering for conversions where an organic landing page was one of the steps, and counting those — not only the ones where content was the final click before the form fill. Then sanity-check against your CRM or intake process: add one question to your lead form or intake call, "How did you first hear about us?" or "What made you reach out today?" When someone says "I read your article on rooftop unit sizing," that's a content-attributed lead even if your analytics filed it under direct. The combination of a path report and a single intake question closes most of the gap between what content actually earns and what your dashboard shows.
What's a good content ROI ratio, and when should I expect to hit it?
A mature organic content program that's genuinely working tends to run somewhere in the 3x to 10x range on a trailing-twelve-month basis, but the honest answer is that it depends entirely on your deal size and close rate, and you should not expect any positive ratio in the first three to six months. Content ROI follows a hockey-stick shape: costs are steady and front-loaded, returns lag because articles take time to rank and compound as they interlink and age. A law firm with $8,000 matters needs far fewer conversions to hit a strong ratio than a dental practice selling $300 cleanings, so the same absolute effort produces very different percentages. Judge the program by the slope of the curve — are attributed leads growing quarter over quarter? — not by the ratio in any single early month.
A step sequence to run your own calculation
- Set your window. Trailing 12 months if you're past year one; cumulative from start if you're not.
- Total every cost. Subscription or fees, tools, and a realistic dollar value for internal review hours.
- Pull attributed leads. From your analytics path report, count conversions where an organic content page appeared anywhere in the path.
- Cross-check with intake. Add the "what made you reach out" question and reconcile against the analytics number. Use the higher, better-supported figure.
- Apply your close rate. Use your real number from the CRM, not an optimistic guess.
- Multiply by customer value. Label whether it's first sale or lifetime value and stay consistent.
- Run the formula. (Pipeline − Cost) ÷ Cost × 100.
- Track the trend. Recalculate quarterly and watch the direction, not just the number.
The mistakes that wreck the number
Two errors show up constantly. The first is counting cost in year one but expecting return in month two — the timing mismatch that makes good programs look like losers. The second is the opposite: attributing every lead to content because content is the thing you're trying to justify. If a customer found you through a referral and happened to read a blog post afterward, that's not a content lead. Be as strict on attribution as you'd want a skeptical partner to be, because the number is only useful if you believe it when it's inconvenient.
If you're building a program and want the measurement wired in from the start, that's part of what a structured provider like ClearPath Content sets up — mapping content to the questions that actually drive intake so attribution isn't guesswork later. But the formula above works regardless of who produces the content.
The takeaway: pick a 12-month window, count every cost, count only leads content genuinely touched, apply your real close rate and deal value, and recalculate every quarter. A single-month snapshot of an asset that compounds over years will lie to you every time. Measure the slope, not the moment.
This is what we do, every week, on autopilot.
ClearPath Content runs the whole organic program — demand mapping, production, publication and interlinking — as a monthly subscription.
Book a 30-minute call