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.

Table of ContentsOn this page
- The content ROI formula, and the one word that decides the answer
- What a content ROI framework can actually attribute in GA4
- When there is no revenue to attribute
- The content ROI framework, in the order that works
- The content ROI dashboard
- Common mistakes in content ROI framework measurement
- Bottom line on building a content ROI framework
- Frequently Asked Questions
- 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

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 available | What it does | When it fits content |
|---|---|---|
| Data-driven (recommended) | Distributes credit across touchpoints using the property's own data, learning from converting and non-converting paths | The closest thing GA4 offers to multi-touch credit for content |
| Paid and organic channels, last click | All credit to the last non-direct channel before the key event | Short cycles, or a deliberately conservative floor for content's value |
| Google paid channels, last click | Credit restricted to Google paid channels | Ad reporting, not content reporting |

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.

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.

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.

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.
- 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.
- 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.
- 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.
- 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.
- 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.
- 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.
- 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:
| Tier | What is in it | Source | Review |
|---|---|---|---|
| Cost | Production cost per piece, cumulative spend, internal hours | Your own records | Monthly |
| Reach | Impressions, clicks, average position, organic sessions | Search Console, GA4 | Weekly |
| Engagement | Engagement time, scroll depth, returning users | GA4 | Weekly |
| Outcomes | Key events by page and cluster, assisted conversions | GA4 key events [4] | Monthly |
| Return | Attributed revenue, ROI %, or cost per outcome | CRM plus attribution model | Quarterly |
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
Was this guide helpful?
Your answer helps Anobee improve future updates.
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


