Anobee

Content & Marketing

Content ROI Framework (2026): The Formula, What GA4 Can Actually Attribute, and What to Do Without Revenue

By Bibek Thapa · Updated · 13 min read

Quick Answer

Content ROI = (revenue attributed to content − content cost) ÷ content cost × 100. The formula is easy; the number depends on how revenue is attributed. Since November 2023, GA4 no longer offers the linear, time-decay, first-click or position-based models most ROI guides recommend. It keeps data-driven and last-click. If content has no revenue attached yet, measure cost per outcome instead.

Content ROI framework: content cost on one side, attributed revenue on the other, with an attribution model between them
Table of ContentsOn this page
  1. The content ROI formula, and the one word that decides the answer
  2. What a content ROI framework can actually attribute in GA4
  3. When there is no revenue to attribute
  4. The content ROI framework, in the order that works
  5. The content ROI dashboard
  6. Common mistakes in content ROI framework measurement
  7. Bottom line on building a content ROI framework
  8. Frequently Asked Questions
  9. Sources and References
Key Takeaways
  • Content ROI = (attributed revenue − cost) ÷ cost × 100. Everything contested lives in the word "attributed".
  • GA4 removed linear, time-decay, first-click and position-based attribution in November 2023. Guides recommending them are stale.
  • What GA4 offers now: data-driven (the recommended reporting model) and last-click, paid and organic or Google paid only.
  • The default key-event lookback is 30 days for first visits and 90 days for everything else, which caps what long cycles can credit.
  • No revenue yet? Report cost per subscriber, per lead or per qualified click. An ROI percentage without attributed revenue is invented.
  • Anobee's own 90 days: 31.4K impressions, 158 clicks, 1,051 users, 5 newsletter signups. That is a ledger, not an ROI claim.

Most content ROI framework advice has a measurement layer that quietly stopped existing. Guides published since 2024 still tell readers to set a linear or time-decay model in Google Analytics 4 and split credit across touchpoints. Those models were removed in November 2023 [1]. A content ROI framework built on a setting you cannot select is not a framework; it is a diagram.

Accordingly, this refresh fixes that. It keeps the formula and the dashboard structure. However, it replaces the attribution section with what GA4 actually offers today, checked in Anobee's own property on 22 September 2026. It also adds the case the old version ignored: what to report when content has produced outcomes but no revenue anyone can attribute. That case covers most blogs, most new sites and, honestly, this one.

Two things from the previous version are gone. The "PROOF framework" was invented for the article rather than drawn from practice. Similarly, the mid-market HR software case study, with its precise -40% to 178% reversal, cannot be sourced. Anobee's review methodology does not allow either. Consequently, both have been removed rather than re-dressed.

The content ROI formula, and the one word that decides the answer

The formula is standard and uncontroversial:

Content ROI = (revenue attributed to content − content cost) ÷ content cost × 100

The content ROI formula: revenue attributed to content minus content cost, divided by content cost, times one hundred

A quarter costing $20,000 that is credited with $47,000 in revenue returns 135%. Meanwhile, the same quarter credited with nothing returns −100%. The arithmetic never changes. What changes is the word "attributed", and that single word is where every honest disagreement about content ROI lives.

Content cost is the easier half. Include writer and freelancer fees, internal hours at loaded cost, editing and design, and promotion spend. Also include the share of SEO and analytics tooling used for content. Amortise one-off setup costs across periods instead of dumping them into the first quarter. Meanwhile, the common error here is leaving internal hours out, which shrinks the denominator and inflates every ROI number that follows.

Attributed revenue is the contested half. It should only include revenue from deals where a content touchpoint is recorded, under a model you have written down. Not all organic revenue. Not revenue from channels with no logged content interaction. The discipline of excluding revenue you cannot trace is what makes the number survive a finance review.

What a content ROI framework can actually attribute in GA4

However, this is the part of most content ROI frameworks that has silently expired. Google removed four attribution models from Analytics in November 2023: first click, linear, time decay and position-based [1]. What remains, as shown in the reporting attribution model selector in Anobee's own GA4 property on 22 September 2026, is three options:

Model still availableWhat it doesWhen it fits content
Data-driven (recommended)Distributes credit across touchpoints using the property's own data, learning from converting and non-converting pathsThe closest thing GA4 offers to multi-touch credit for content
Paid and organic channels, last clickAll credit to the last non-direct channel before the key eventShort cycles, or a deliberately conservative floor for content's value
Google paid channels, last clickCredit restricted to Google paid channelsAd reporting, not content reporting
GA4 attribution settings showing data-driven as the reporting model, the shortlist a content ROI framework has to work with since the 2023 removals

Three consequences follow for a content ROI framework.

First, the multi-touch model you were told to configure no longer exists in GA4. Linear and time-decay splits now live outside Analytics: in a CRM, a BI tool, a spreadsheet built from exported touchpoint data, or a dedicated attribution product. That is a legitimate choice. However, it is no longer a GA4 setting, and a guide that says otherwise is describing 2022.

Second, data-driven is the reporting model to pick when you want content credited for assists. Google labels it the recommended option in the settings screen. It distributes credit rather than handing it all to the last click. Accordingly, it avoids the failure mode that makes content look worthless.

Third, the comparison report is where the argument gets settled. GA4's key event attribution models report, under Advertising → Attribution → Attribution models, shows key-event metrics side by side across models [3]. Run your content key events through both data-driven and last-click, then report the gap. Therefore leadership sees how much of content's value the conservative model discards, which is more persuasive than either number alone.

The lookback window nobody checks

Attribution settings also carry a lookback window, and it quietly caps what any model can credit. GA4's defaults are 30 days for acquisition key events (first_open, first_visit) and 90 days for all other key events [2]. Alternatives of 30 and 60 days are available for the latter. Anobee's property uses both recommended defaults.

For content, the 90-day ceiling is the number that matters. A first blog visit in January and a closed deal in June are, as far as the default window is concerned, unrelated events. That is not a flaw in your content ROI framework. Instead, it is a boundary condition of the measurement system, and it belongs in the methodology note beside the dashboard. It is also the strongest practical argument for keeping CRM-side touchpoint records, which have no such cap.

Diagram comparing GA4's 90-day key event lookback window with a nine-month sales cycle, showing early content touchpoints falling outside the window

When there is no revenue to attribute

Here is the case every content ROI guide skips, and it applies to most sites that search for one. Content is running, outcomes are happening, and no revenue has been attributed to anything yet. Think of a blog before monetisation, a new site building an email list, or a business whose deals close over the phone with no tracked path.

The wrong answer is to invent a number. Estimating a lead's value, multiplying by leads and publishing the result as ROI produces a figure that collapses the first time anyone asks where the value came from.

The right answer is to invert the calculation. You cannot report return without attributed revenue, but you can always report cost per outcome:

Cost per outcome = content cost for the period ÷ outcomes produced in the period

Pick the outcome closest to money that you actually record: subscribers, qualified leads, booked calls, affiliate clicks, trial starts. Report it with its cost basis and its period, and track the direction over time. A cost per subscriber falling from one quarter to the next is real evidence that content is getting more efficient. Moreover, it never requires you to guess what a subscriber is worth.

Anobee's own ledger, and what it does and does not prove

For the 90 days to 21 September 2026, Search Console recorded 31.4K impressions and 158 clicks for anobee.com, at an average position of 51.5. GA4 recorded 1,051 users, 2,535 page views, 8 CTA clicks and 5 newsletter signups. The site carries affiliate links and ads, and no revenue is currently attributed to any individual page.

So the ROI percentage for this site is not −100%, and it is not 400%. It is undefined, because the numerator has no measured value in it. What can be reported honestly is the ledger above, plus cost per outcome once a cost basis is fixed. At a nominal $500 of content cost for the quarter, that would be $100 per newsletter subscriber and $3.16 per organic click. Those two figures are the ones worth watching quarter over quarter.

Content ROI ledger with no attributed revenue: 31,400 impressions, 158 clicks, 1,051 users and five signups, converted into cost per outcome

Two observations follow from that ledger, and both are more useful than a fabricated percentage. First, visibility is not the constraint. 31.4K impressions is plenty of exposure, and an average position of 51.5 with a 0.5% click-through rate says the constraint is ranking, not writing. Second, the conversion step is barely instrumented. Five signups from 1,051 users is a rate too low to optimise against, which is a measurement problem before it is a content problem. Meanwhile, the conversion rate optimization guide covers that second point, including why a site this size cannot A/B test its way out of it.

Search Console performance for anobee.com over three months: 31.4K impressions, 158 clicks, 0.5% CTR and average position 51.5

The content ROI framework, in the order that works

This replaces the invented five-stage acronym with the sequence that actually holds up. Each step depends on the one before it.

  1. Define the outcome and confirm it is recorded. Pick the key event that represents the business result. Then verify in GA4 that it fires and is marked as a key event [4]. Everything downstream is arithmetic on this number, so an unrecorded outcome makes the whole framework decorative.
  2. Tag before publishing, not after. Use UTM parameters on promoted links and a funnel-stage field on every published asset. Add a CRM field that can hold a content touchpoint. Otherwise, retroactive tagging permanently loses data.
  3. Choose one attribution model and write down why. Data-driven or last-click inside GA4 [1]; anything else lives outside it. Put the choice in a one-page methodology note so a question in eight months is answered with a link rather than a re-litigation.
  4. Fix the cost basis. Decide once what counts as content cost, including internal hours, and keep it stable. A cost basis that changes between quarters makes every trend meaningless.
  5. Report return if you have attributed revenue, cost per outcome if you do not. Never both at once. Similarly, never pad a return figure with estimated values.
  6. Separate maturity from performance. Track ranking position alongside outcomes, so a piece that has not ranked yet is not confused with one that ranked and failed. The content audit guide covers what to do with each group.
  7. Re-run on a schedule the sales cycle can support. Review leading indicators weekly or monthly. Meanwhile, report the revenue tier no more often than quarterly for any cycle longer than 60 days.

The content ROI dashboard

A dashboard that shows traffic is a traffic dashboard. Instead, use five tiers, each with its own review rhythm:

TierWhat is in itSourceReview
CostProduction cost per piece, cumulative spend, internal hoursYour own recordsMonthly
ReachImpressions, clicks, average position, organic sessionsSearch Console, GA4Weekly
EngagementEngagement time, scroll depth, returning usersGA4Weekly
OutcomesKey events by page and cluster, assisted conversionsGA4 key events [4]Monthly
ReturnAttributed revenue, ROI %, or cost per outcomeCRM plus attribution modelQuarterly

Two construction notes. Build it at content cluster level, not single URL, because a pillar and its supporting pages usually earn together and single-URL reporting hides that. Also keep the model comparison visible in the return tier. Reporting the same quarter under data-driven and under last-click [3] makes the attribution assumption explicit, instead of hiding it inside one number.

Common mistakes in content ROI framework measurement

  • Recommending attribution models GA4 no longer has. The most common error in current guides, this article's previous version included.
  • Reporting ROI without attributed revenue. If nothing is attributed, the answer is a cost per outcome, not a percentage.
  • Ignoring the lookback window. A 90-day default cannot credit a nine-month cycle [2]. Therefore a report that does not say so overstates its own precision.
  • Leaving internal hours out of cost. Shrinks the denominator; inflates every figure that follows.
  • Counting all organic revenue as content revenue. Inflates the numerator with sessions that never touched a tracked content asset.
  • Judging revenue tier too early. Ranking maturity plus sales cycle can exceed a year. Consequently, checking at 60 days measures the calendar, not the content.
  • Switching models mid-report. First-click for top-of-funnel and last-click for bottom-of-funnel is fine as two labelled reports. Blended into one ROI figure, it is double counting.

Bottom line on building a content ROI framework

The formula was never the hard part. Attribution is. Therefore an honest content ROI framework in 2026 starts by admitting what your analytics can and cannot see: GA4 gives you data-driven or last-click credit within a 90-day window, and nothing else without a CRM behind it. Fix the cost basis, record the outcome, pick one model, and write the choice down. Then report return if revenue is attributed and cost per outcome if it is not. Ultimately, a modest defensible number is worth more than a large one that dissolves under the first question.

Frequently Asked Questions

What is the content ROI formula?

Content ROI = (revenue attributed to content − content cost) ÷ content cost × 100. Content cost should include writing, editing, design, tools apportioned to content, and internal hours at loaded cost. Attributed revenue should only include deals where a content touchpoint is recorded in analytics or the CRM, under a stated attribution model.

Which attribution models does GA4 still support?

Data-driven attribution, which Google recommends as the reporting model, and last click in two forms: paid and organic channels, or Google paid channels only. First click, linear, time decay and position-based were removed in November 2023, so any content ROI guide built on a linear multi-touch model in GA4 is describing a setting that no longer exists.

How long does content take to show ROI?

Long enough that measurement windows matter more than the content. Ranking maturity commonly takes several months, then the sales cycle runs on top of it, and GA4's default lookback window for non-acquisition key events is 90 days. A nine-month B2B cycle will therefore lose touchpoints that fall outside the window, no matter how well the content performed.

How do you measure content ROI with no revenue?

Measure cost per outcome rather than return. Divide the period's content cost by the outcomes it produced: cost per subscriber, per lead, per qualified click, per booked call. State the cost basis and the period. It is a defensible number, unlike an ROI percentage built on revenue nobody attributed.

What should a content ROI dashboard contain?

Five tiers, reviewed at different intervals: cost, reach (impressions, clicks, position), engagement, outcomes (signups, leads, assisted conversions) and revenue. Filter by content cluster rather than single URL, since a pillar and its supporting pages usually earn together, and report the revenue tier no more often than your sales cycle can support.

Sources and References

  1. Google Analytics Help — Get started with attribution (models available; removals in November 2023) ↩
  2. Google Analytics Help — Select attribution settings (reporting model, lookback windows) ↩
  3. Google Analytics Help — Key event attribution models report ↩
  4. Google Analytics Help — Key events ↩

Was this guide helpful?

Your answer helps Anobee improve future updates.

Bibek Thapa

Written by

Bibek Thapa

AI-Powered Digital Growth Strategist

Bibek Thapa works across AI workflows, SEO, AI search optimization, content strategy, website growth, and productivity systems. Anobee documents practical lessons, tools, experiments, and systems for improving digital presence.

  • AI workflows
  • Digital growth
  • SEO
  • GEO
  • AEO
  • Content strategy
  • Website growth

Related Articles