Content Marketing ROI: How to Calculate It Honestly

The short answer

Content marketing ROI equals the revenue or pipeline value attributed to content minus the full cost of producing and distributing it, divided by that cost. The hard part is not the formula, it is honest cost inputs and a defensible attribution window.

Key takeaways

  • The formula is trivial: pipeline value minus total cost, divided by total cost. Every real difficulty sits inside those two inputs.
  • Most teams undercount cost by 3x or more because they count the freelancer invoice and ignore the salaried hours spent briefing, reviewing and distributing.
  • Attribution windows change the answer more than any other single choice, so state your window before you calculate, not after you see the result.
  • Per-asset ROI is more actionable than channel-level ROI for small teams, because the asset is the unit you actually decide to fund again.
  • When you genuinely cannot attribute revenue, calculate cost per qualified conversion instead and say plainly that it is a proxy.

The formula takes ten seconds; the difficulty is entirely in getting the two inputs right, because most teams understate cost by a factor of three and overstate attribution by using whatever window makes the number look best.

If you have ever produced a content ROI figure and quietly known it was not defensible, this is why. The arithmetic was fine. The inputs were fiction.

This article gives you the formula, a fully labelled illustrative example, the cost inputs that get missed, and a fallback for the common case where revenue attribution is genuinely impossible.

Content marketing ROI is the ratio of value attributed to content over a stated attribution window to the full cost of producing and distributing that content, including internal hours.

What is the content marketing ROI formula?

The content marketing ROI formula is:

ROI = (Attributed Value minus Total Content Cost) divided by Total Content Cost

Multiply by 100 for a percentage. An ROI of 0% means you broke even. An ROI of 150% means you got 2.5 times your money back.

Two variants are worth knowing, because people use them interchangeably and they give different answers:

  • Return on investment, as above, is a ratio of net gain to cost. Break-even reads as 0%.
  • Return on ad spend, or a simple multiple, is Attributed Value divided by Total Content Cost. Break-even reads as 1.0x.

Pick one, label it, and never switch mid-report. A team reporting 3.0x one quarter and 200% the next has not improved, it has changed notation.

There is a third number that matters more than either for small teams:

Cost per qualified conversion = Total Content Cost divided by ICP-matched conversions

This one requires no revenue attribution at all, which is why it is the metric most small teams should actually run on.

Which costs belong in the content ROI calculation?

Every cost required to make the content exist and reach an audience belongs in the calculation. In practice teams count the invoices and ignore the hours, which is where the factor-of-three error comes from.

The full list:

  1. Salaried internal hours. Briefing, interviewing, subject matter expert time, editing, review cycles, publishing, and distribution. This is almost always the largest line.
  2. Freelancer and agency fees. The invoice everybody remembers.
  3. Design and production. Graphics, video editing, webinar platform, transcription.
  4. Tools apportioned to the work. Your CMS, scheduler, analytics, SEO tool, transcription service. Apportion by rough share of use rather than assigning the full annual licence to one asset.
  5. Paid amplification. Any spend used to push distribution.
  6. Distribution labour. Separate this from production labour deliberately, because it is the line most teams cannot even estimate. If you do not know how many hours went into distributing an asset, that itself is a finding.

To convert hours into money, use a fully loaded hourly rate: annual salary plus employer costs, divided by roughly 1,700 working hours a year. A marketer on a 70,000 package works out to roughly 45 per hour once you load it. Use your own currency and your own numbers; the point is that six hours of senior time is a real 270 cost, not free.

Worked cost table

The table below prices a single source asset, a 45-minute customer webinar, and its three-week distribution campaign. Illustrative example, not customer data. Currency-neutral units, fully loaded internal rate of 45 per hour.

Cost line Detail Hours Cost
Planning and guest coordination Marketer 4 180
Internal SME prep and rehearsal Product lead 3 135
Live delivery (two internal people) Marketer plus product lead 3 135
Webinar platform Apportioned monthly share 0 90
Transcription and editing Tool plus cleanup 2 130
Recap article writing and editing Marketer 6 270
Clip and graphic production Designer, partial 5 225
Distribution: writing 12 posts plus 2 emails Marketer 7 315
Distribution: scheduling, posting, comment replies Marketer 4 180
Paid amplification LinkedIn boost on two posts 0 300
Tools apportioned Scheduler, analytics, SEO 0 60
Total 34 2,020

Note the shape of that table. The invoice-shaped costs, meaning the platform, paid, tools and transcription, total 580. The hours total 1,440. A team that reports this webinar as costing 580 has hidden 71% of its cost, and any ROI figure they produce is inflated by roughly 3.5 times.

Note also that distribution is 11 of 34 hours, about a third of the effort. Teams that skip distribution do not save that third, they forfeit the return on the other two thirds. That trade-off is the whole argument in why most webinars die after one week.

How do you work through a content ROI example?

Illustrative example, not customer data. Same webinar as the cost table above, measured over a stated 90-day attribution window.

Step 1: total content cost. 2,020 from the table.

Step 2: attributed conversions inside the window. Assume the campaign produced, across all distributions:

Outcome Count Notes
Webinar registrations 140 Direct form fills
Recap article sessions 620 Entry page sessions, 90 days
Newsletter subscribers 55 Attributed to this asset's landing pages
Demo requests, all sources 11 Forms attributed by UTM or self-report
Demo requests matching ICP 7 After CRM fit filtering
Opportunities created 4 Sales-accepted

Step 3: value the outcomes. Use pipeline value, not closed revenue, because a 90-day window will not contain closed deals in most B2B SaaS.

Assume an average deal value of 9,000 in annual contract value and a historical close rate of 22%.

  • 4 opportunities at 9,000 = 36,000 in pipeline
  • Expected revenue = 36,000 times 0.22 = 7,920

Step 4: apply the formula.

  • Using expected revenue: (7,920 minus 2,020) divided by 2,020 = 292% ROI, or 3.9x
  • Using raw pipeline: (36,000 minus 2,020) divided by 2,020 = 1,682% ROI, or 17.8x

Both numbers come from the same campaign. The gap between 3.9x and 17.8x is entirely a choice about whether you multiply by close rate. Reporting the second number without the caveat is the single most common way content ROI gets inflated in a board deck.

Step 5: sanity-check with the proxy metric.

  • Cost per ICP-matched conversion = 2,020 divided by 7 = 289
  • Cost per opportunity = 2,020 divided by 4 = 505

If your paid channels acquire an opportunity for 1,200, then 505 is a strong result and you did not need the revenue model to know it. This is why the proxy metric is often the more useful number.

Why does the attribution window change the answer?

The attribution window changes the answer because content generates demand on a delay, and where you cut the window decides how much of that delay you capture.

The same webinar measured at three windows, using the same illustrative numbers:

Attribution window Opportunities captured Expected revenue ROI
30 days 1 1,980 Negative, about minus 2%
90 days 4 7,920 292%
180 days 6 11,880 488%

Illustrative example, not customer data.

Nothing about the content changed. The 30-day view says the webinar lost money. The 180-day view says it returned nearly five times its cost. Both are arithmetically correct.

Three rules for handling this honestly:

  1. Set the window from your sales cycle, before you look at results. Median time from first touch to opportunity, rounded up. If that is 75 days, use 90.
  2. Use the same window for every asset you compare. Comparing a webinar at 180 days to a blog post at 30 days is not a comparison.
  3. Report the window in the same sentence as the number. ROI of 292% means nothing. ROI of 292% on a 90-day window with a 22% close rate applied means something.

Long-window content and short-window content also serve different purposes, and a single window will always flatter one of them. Search-driven articles compound over a year or more. Social distribution spikes and decays inside two weeks. Judge them on the same clock and you will systematically defund the compounding one.

Why is per-asset ROI better than channel-level ROI?

Per-asset ROI is better than channel-level ROI for small teams because the asset is the unit you actually make a funding decision about, and because channel-level attribution is the part of your data most corrupted by dark social.

Channel ROI answers the question: should we invest more in LinkedIn or in email? For a five-person marketing team that already runs both, that question is close to unanswerable and not very useful. You are not going to stop doing LinkedIn.

Per-asset ROI answers a question you actually face: was the customer webinar worth more than the industry benchmark guide, and which one should we make again next quarter? That is a decision you make roughly monthly.

Per-asset ROI is also more robust. When an asset is distributed across LinkedIn, email, a recap article and a community post, dark social scrambles which channel gets credit, but the asset still gets credit. You lose channel resolution and keep the number that drives the decision.

The practical version: one spreadsheet row per source asset, columns for total cost, distributions published, off-platform clicks, ICP conversions and opportunities. That row set, sorted by cost per opportunity, is a content strategy. It pairs naturally with the layered view in how to measure content performance, where per-asset rows are the recommended unit throughout.

What do you do when you genuinely cannot attribute revenue?

When you cannot attribute revenue, stop trying to produce a revenue ROI number and switch to cost-based efficiency metrics plus a stated inference.

You cannot attribute revenue if any of these are true: you close fewer than about 30 deals a year, so no sample is meaningful; you have no CRM or no deal values in it; your buyers are committees where the reader and the form-filler are different people; or a large share of your traffic arrives with no referrer.

What to use instead, in order of preference:

  1. Cost per ICP-matched conversion. Total content cost divided by conversions from fit companies. Comparable across assets and across quarters.
  2. Cost per off-platform click. Cruder, but available even without forms, and it exposes assets that reached people without ever moving them.
  3. Self-reported attribution. Add one optional field to your demo form asking how the person first heard about you. Messy, unweighted, and still the best read available on dark social.
  4. Correlated lift. Track branded search volume and direct traffic against your distribution calendar. If both rise in the weeks you distributed heavily, report it as correlation and label it as such.
  5. Sales anecdote logging. Log every time a prospect mentions a specific piece of content on a call. It is not a metric. After 20 entries it is a pattern, and it will tell you which assets do work you cannot see in analytics.

The one thing not to do is build a revenue model on assumptions you cannot defend and then present it as measurement. A CFO who finds one soft assumption in your model discounts the whole thing. A marketer who says the honest version, that content produced 7 fit conversions at 289 each and that revenue attribution is not yet possible at this deal volume, keeps credibility and usually gets the budget anyway.

What is the most common way content ROI gets inflated?

The most common way content ROI gets inflated is counting production cost only, valuing raw pipeline instead of expected revenue, and using an attribution window longer than the sales cycle. Do all three and you can turn a break-even asset into a reported 15x.

Run the reverse check on any content ROI figure you are handed, including your own:

Question Inflation risk if the answer is no
Does the cost include internal salaried hours? 2x to 4x overstatement
Does the cost include distribution labour? 1.3x to 1.6x overstatement
Is pipeline multiplied by close rate? 3x to 5x overstatement
Is the window equal to or shorter than the sales cycle? Unbounded overstatement
Are conversions filtered to ICP fit? Large, varies
Is the same window used across compared assets? Makes the comparison meaningless

Five yes answers and a stated window means you have a number you can defend in a budget meeting.

Where to start this week

Take one asset you produced in the last quarter. Reconstruct its full cost using the cost table above, including hours, and be generous with the hours estimate rather than conservative.

Then count two things inside a window that matches your sales cycle: ICP-matched conversions and opportunities created. Divide cost by each. You now have a cost per opportunity for one real asset, which is more than most content teams can produce.

Do it for two more assets and you have a ranking. That ranking is what should decide next quarter's content distribution strategy, because it tells you which formats return and which ones only feel productive.

If the ranking shows every asset performing poorly, check the distribution layer before you blame the content. An asset published once and distributed twice has not been tested. Measuring Distribution Yield per asset will tell you whether you have a content problem or a distribution problem, and repurposing systematically is the cheaper fix if it is the second one.

Distful is being built to make that side of the arithmetic visible, because the cost of distribution labour and the return it produces are the two numbers almost no content stack currently records.

Frequently asked questions

What is the content marketing ROI formula?

Content marketing ROI equals attributed value minus total content cost, divided by total content cost, expressed as a percentage. Attributed value is usually pipeline value or closed revenue linked to the content. Total cost must include salaried hours, freelancer fees, tools, paid amplification and design, not just the invoice you happened to receive.

Should you use closed revenue or pipeline value?

Use pipeline value if your sales cycle is longer than your reporting period, which for most B2B teams it is. Waiting for closed revenue means judging content produced nine months ago. Pipeline value multiplied by your historical close rate gives a defensible estimate you can report monthly, as long as you label it as an estimate.

How long should the attribution window be?

Match it to your sales cycle, then state it explicitly. A 90-day window is a reasonable default for B2B SaaS with a one to three month cycle. Short windows systematically undercredit awareness content such as webinars and thought leadership, while long windows credit content for demand it did not create.

Why is my content marketing ROI negative?

Usually one of three reasons. You are measuring within a window shorter than your sales cycle. You are counting full production cost against partial distribution, meaning the asset was made but never properly distributed. Or the content genuinely targets an audience that does not buy, which is a strategy problem rather than a measurement one.

Can you calculate content ROI without a CRM?

Not revenue ROI, no. Without a CRM you cannot link a conversion to a deal value. What you can calculate is cost per qualified conversion: total content cost divided by the number of conversions from companies that match your ideal customer profile. It is a proxy, it is directionally useful, and it is honest as long as you call it what it is.

Distful turns one asset into weeks of distribution

Upload a webinar, interview, guide or podcast. Distful finds what is worth distributing, builds the multi week campaign across your channels, and measures what it returned.