Guide · Measurement & search data
How to Measure Content Performance Beyond Traffic
A four-layer framework for measuring content: the Search Console and GA4 metrics to use, how to credit content when GA4 attribution can't, a weighted scorecard and the reports leadership reads.
18 min readUpdated
Updated November 14, 2026: Updated for current GA4 metrics, key events and attribution models and for Search Console's data limits, with a worked scorecard, page-type weights and a 30-day plan.
This guide answers one question: how do you tell whether a piece of content is working when traffic alone can't tell you? It gives you four layers to measure (visibility, engagement, conversion and quality), the exact Search Console and GA4 metrics for each, a scorecard you can build in a spreadsheet this week, and the two reports that get content taken seriously in a budget review.
Traffic still matters. It is just an input, not an outcome. A page with 50,000 visits a month and no sign-ups is not performing. A page with 800 visits that shows up in the journey of most of your new customers is. Teams default to traffic because it moves fastest and needs the least interpretation, and that is exactly why it is the first number leadership stops trusting.
Why traffic is a weak single metric
Used alone, traffic rewards the wrong work. Teams chase high-volume, low-intent keywords, publish thin pages for informational queries that never convert, and celebrate a one-day social spike over the evergreen guide that quietly feeds demo requests every week. Traffic is also easy to inflate: clickbait titles, paid amplification and internal link loops all move the chart without moving the business.
The real problem is the follow-up question. When the answer to "what did content produce this quarter?" is "traffic grew 15%," the next question is "so what?" Without layers that connect visits to outcomes, content is the first budget line questioned in a downturn.
The four layers of content performance
Each layer answers a different question, and each needs a different data source. Measure all four, then weight them by what the page is for.
| Layer | Question it answers | Core metrics | Where the data lives |
|---|---|---|---|
| Visibility | Do the right searchers see us? | Impressions, clicks, CTR, average position, queries per page, share of voice, branded search trend | Search Console; a rank or SERP tracker for competitors |
| Engagement | Does the page serve the visitor? | Engagement rate, average engagement time, scroll to 90%, next-page paths | GA4 |
| Conversion | Does it move people toward a business outcome? | Key events per landing page, key event rate of readers vs non-readers, content-touched pipeline | GA4 plus your CRM |
| Quality | Will it keep performing? | Freshness against a review date, accuracy, authorship and sourcing, on-page basics | Content inventory and a page-level quality review |
Most teams measure the first two well. The other two are where the argument for content is won: conversion shows what content contributes, and quality is the leading indicator that tells you which pages will decline next.
Visibility: what Search Console can and can't tell you
Search Console's Performance report is the primary visibility source for Google. It gives clicks, impressions, CTR and average position by query and by page. Know its limits before you build anything on top of it (the Search Console guide for content teams covers the reports and filters in depth):
- Position is an average of your topmost result. Google defines it as the average position of the topmost result from your site, so a page that ranks 3 for one query and 40 for another averages somewhere unhelpful. Read position at the query level, not the page level.
- The interface exports 1,000 rows. For anything bigger, use the Search Analytics API, which returns up to 50,000 rows per day per site per search type, or the bulk data export to BigQuery.
- Rare queries are hidden. Anonymized queries, ones not issued by more than a few dozen users over two to three months, are left out of the query tables but still count in chart totals. Your query rows will never add up to the page total.
- History runs out. The Performance report keeps about 16 months of data. If you want year-on-year comparisons beyond that, export on a schedule.
- AI features are not broken out. Google counts appearances in AI Overviews and AI Mode inside the overall Web search data. You cannot filter them out, so Search Console alone cannot tell you whether you are being cited in an AI answer.
Impressions before rankings
A page can hold position 3 and still lose impressions because demand fell, the season turned or Google is showing it for fewer related queries. Track impressions per page and per query. A falling impression count at a stable position usually means shrinking demand or narrowing query coverage, not a ranking problem.
Query coverage as a trend
Count the distinct queries that bring impressions to each page and watch the trend. Because anonymized queries are excluded, treat the number as relative: a page going from 180 visible queries to 90 over two quarters is losing breadth, which often shows up before the clicks fall. Compare a page with its own past, not with another page's absolute count.
Branded vs non-branded
Split every visibility number into branded and non-branded. Search Console's Performance report supports custom regular-expression filters on queries, so a filter like yourbrand|your brand|yourbrnd(set to "doesn't match") isolates non-branded demand. Non-branded growth is what content earns; branded growth is the downstream sign that people remember you.
Share of voice and SERP features
Share of voice is the slice of available clicks or impressions in your target query set that you capture against named competitors. You can hold a stable position and still lose share when a competitor enters the results or a SERP feature pushes organic results down. Search Console only sees your own site, so share of voice needs a rank tracker or SERP data source; see share of voice analysis for the method. Record which features (featured snippets, People Also Ask, video, AI Overviews) appear for your priority queries and whether you hold any of them, because position 2 below a competitor's snippet is not the same asset as position 2 on a plain page.
Engagement: reading GA4 correctly
Several metrics people still quote from Universal Analytics no longer mean what they used to in GA4. Use the current definitions:
- Engaged session: a session that lasts longer than 10 seconds, has a key event, or has two or more page or screen views.
- Engagement rate: the percentage of sessions that were engaged.
- Bounce rate: in GA4, the percentage of sessions that were notengaged. It is the inverse of engagement rate, not the Universal Analytics single-page-session metric, so old benchmarks don't carry over.
- Key events:what GA4 used to call conversions. "Conversion" in GA4 now refers to key events used to measure ad campaigns.
Scroll depth needs setup
GA4's enhanced measurement sends one scrollevent when a visitor first reaches 90% of the page. That is useful as a "reached the end" signal, but it can't show where readers drop off. If you want 25%, 50% and 75% milestones, add them as custom events (for example with a Google Tag Manager scroll depth trigger). On a long guide, the gap between 50% and 90% tells you whether the second half earns its place.
Engagement time and a read-through rule of thumb
Average engagement time is directional, not precise, but you can make it more useful by comparing it to reading time. A rule of thumb: estimated reading time is word count divided by about 230 words a minute.
Worked example (illustrative numbers):a 2,300-word guide takes about 10 minutes to read. If average engagement time per session is 1 minute 40 seconds, readers spend roughly 17% of the reading time on it. That is scanning, and it is fine for a reference page people consult for one answer. On a guide meant to be read end to end, it says the opening isn't holding people or the page attracts the wrong searchers. Track the ratio over time per page; a guide that falls from 40% to 15% over six months is losing relevance.
Next-page paths
What readers do next is often more telling than how long they stay. In GA4, a path exploration starting from a page shows the most common next pages. A post that sends a meaningful share of readers to a product, pricing or sign-up page is doing a different job from one where nearly everyone leaves. Note the share for your key pages and watch how it shifts after you change internal links or calls to action.
Bounce rate depends on intent
Someone who searches "how to center a div in CSS," reads your answer in eight seconds and leaves has been well served, yet GA4 records a non-engaged session. A high bounce rate on a quick-answer page is expected. The same rate on a comparison page built to drive demo requests is a problem. Always read engagement metrics against the page's intent.
Conversion: connecting content to outcomes
This is where most frameworks break down, partly because the tools changed. Perfect attribution is impossible. Good-enough attribution is achievable if you know what GA4 does and doesn't give you.
What GA4 attribution can do now
GA4 offers three attribution models: data-driven, paid and organic last click, and Google paid channels last click. First click, linear, time decay and position-based models were removed in November 2023, so advice to "compare first-click and last-click conversions" in GA4 is out of date.
GA4's attribution paths report (formerly conversion paths) shows the sequence of channels before a key event, such as organic search, then email, then direct. It does not show which pages people read. Use it to see how often organic search starts or assists a journey, not to credit individual articles.
Three page-level methods that work
- Landing-page key events. In GA4, report key events and session key event rate by landing page. This is the direct contribution: sessions that started on the article and converted in the same session.
- Reader vs non-reader comparison. In an exploration, build a user segment of people who viewed your content section (for example, page path contains
/blog/) and compare its key event rate with users who never did. This is the closest GA4 gets to "assisted conversions" for content. - Content touches in the CRM.Capture the first landing page and the content pages a lead viewed (hidden form fields or your marketing automation tool's page tracking), and store them on the contact. Then report pipeline where at least one content touch occurred before the opportunity was created.
Worked example (illustrative numbers): in one quarter, 2,000 users read at least one guide and 120 of them completed a demo request (6%). Among 18,000 users who never read a guide, 360 did (2%). Guide readers convert at three times the rate. That is correlation, not proof: people already close to buying read more. But reported quarter after quarter, with the five guides that appear most often before a demo request named, it changes the budget conversation. The performance correlation use case covers how to look for these patterns.
One practical warning: in a standard GA4 property, user- and event-level data in explorations is kept for 2 or 14 months, depending on your data retention setting. Standard reports are not affected, but segment comparisons are. Set retention to 14 months before you need the history.
Quality: the leading indicator
Visitor metrics tell you what already happened. Quality tells you what is about to. A page with strong traffic and slipping quality is heading for trouble; a page with weak traffic and strong quality may only need better internal links or distribution.
Freshness and accuracy
Give every page a review date and track how many are past it. Freshness matters for ranking only on some queries: Google says it has "query deserves freshness" systems that show fresher content where it would be expected, such as news or a just-released product. It matters for trust on all of them, because readers leave when they spot stale facts. For regulated topics, pair freshness checks with compliance and accuracy scanning.
E-E-A-T signals, measured honestly
Google is explicit that E-E-A-T itself isn't a specific ranking factor, and that search quality rater data is not used directly in ranking; raters help Google check whether its systems work. What you can measure is whether a page shows the things Google's helpful-content guidance asks about: who wrote it and why they are credible, how it was made, whether claims are sourced, and whether it shows first-hand experience. A structured E-E-A-T assessment turns those questions into a checklist per page.
A page quality score
Combine freshness, accuracy, authorship and sourcing, and on-page basics (title, headings, internal links) into one quality score per page. Keep the inputs few and visible, so an editor can see why a page scored low and what to fix.
Click-through rate: read it against your own curve
CTR sits between visibility and engagement: it measures whether your title, description and any rich result win the click at the position you hold. Published "CTR by position" benchmarks vary widely by study, query type and SERP layout, so build your own.
- Export query-level data for the last three months from Search Console (API or bulk export if you have more than 1,000 rows).
- Exclude branded queries with your regex filter, then group rows into position buckets: 1, 2, 3, 4 to 5, 6 to 10.
- Take the median CTR per bucket, ideally per page type. That is your curve.
- Flag pages whose CTR is below half the median for their bucket on queries with meaningful impressions. Rule of thumb, not a law: start with the pages that have the most impressions.
Then read CTR next to engagement, because one without the other misleads:
| Engagement high | Engagement low | |
|---|---|---|
| CTR high | Working end to end. Protect it. | The snippet promises something the page doesn't deliver. Fix the page or the promise. |
| CTR low | Packaging problem. Rewrite title and description; see CTR optimization. | Wrong page for the query, or wrong query for the page. Revisit intent. |
Measuring content that wins without a click
Some searches end on the results page: definitions, quick facts, conversions, and answers that an AI Overview or featured snippet covers. For those queries, clicks undercount the value of being there. Treat impressions and position as the success metrics, record whether you hold the snippet or are cited in the AI answer (with a SERP data source, since Search Console doesn't separate AI features), and watch branded search as the downstream signal. If your informational pages are widely surfaced and branded queries grow, the exposure is working even without the visit. The zero-click optimization use case goes deeper.
Build a content scorecard
Individual metrics are for diagnosis. Decisions need one view per page, per cluster and for the whole library. Here is a scorecard you can build in a spreadsheet.
Step 1: score each layer as a percentile within its page type
Raw numbers aren't comparable: a pricing page and a glossary entry will never have the same traffic. Rank each page against other pages of the same type and convert to a percentile (0 to 100). Use two or three metrics per layer at most:
- Visibility: non-branded impressions trend (last 90 days vs the 90 before), distinct queries trend, share of priority queries in the top 3.
- Engagement: engagement rate, read-through ratio, share of sessions with a next page.
- Conversion: key event rate as landing page, and appearances before key events (from the reader segment or CRM).
- Quality: the page quality score from above.
Step 2: weight by page type
These weights are a starting point, not a standard. Agree them with stakeholders once, then leave them alone for a quarter so trends mean something.
| Page type | Visibility | Engagement | Conversion | Quality |
|---|---|---|---|---|
| Guide or blog post | 35% | 25% | 15% | 25% |
| Comparison or alternatives page | 25% | 15% | 45% | 15% |
| Product or service page | 20% | 15% | 50% | 15% |
| Glossary or quick answer | 50% | 10% | 10% | 30% |
Step 3: read the result, not just the total
Worked example (illustrative numbers):a guide scores visibility 80, engagement 30, conversion 20 and quality 45. Weighted, that is 0.35 × 80 + 0.25 × 30 + 0.15 × 20 + 0.25 × 45 = 49.75, roughly 50. The total says "average." The pattern says more: Google likes the page, readers don't stay, and the quality score is low. That is a refresh candidate, not a promotion candidate. Always show the four layer scores next to the total.
Step 4: roll up to clusters
Average the page scores by topic cluster and show the spread. A cluster with strong top-of-funnel visibility and no conversion-stage pages has a gap you can brief against. A cluster with high quality and weak visibility usually has an internal linking problem. Prioritize clusters by business importance, not just score.
Content scorecard, step by step
Collect two or three metrics per layer
Visibility, engagement, conversion, quality
Convert to percentiles within page type
Compare pages only with pages of the same kind
Weight by page type
Agree weights once, hold them for a quarter
Show layer scores next to the total
The pattern tells you what to do
Roll up to clusters and the library
Find topic areas that need investment
Snapshot monthly
Trends matter more than any single score
Reporting to stakeholders
Leadership and the content team need different reports. A spreadsheet of 500 page scores loses an executive in a minute; a one-page summary is useless to an editor deciding what to fix today.
What leadership needs
- Contribution: key events from content landing pages, the reader vs non-reader rate, and content-touched pipeline if you track it in the CRM.
- Library health: the share of pages that are healthy, declining or critical, trended by quarter.
- Non-branded visibility and share of voice: how you compare with named competitors on the queries that matter.
- Five up, five down: the pages that contributed most and the ones that declined most, by name.
- Next quarter's ask: where you will invest and what you expect it to change.
One narrative, five to eight numbers, one page. If you produce it every month or quarter, template it; see stakeholder reporting.
What the content team needs
- Page scorecards with the layer scores visible
- Pages past their review date and pages losing clicks
- A refresh queue sorted by priority
- Pages that appear most often before key events
- SERP changes on tracked queries
- A change log, so you can tie outcomes to edits
Set KPIs that drive the right behavior
Teams optimize what they are measured on. Measure traffic and they chase volume; measure only conversions and the top of the funnel withers. Use one KPI per layer and report all four together:
- Visibility: non-branded impressions in your target query set, or share of voice against your top three competitors.
- Engagement: median engagement rate across published content, read against intent.
- Conversion: key events from content, or content-touched pipeline.
- Library health: share of pages above your quality threshold and inside their review date.
Give each KPI a balancing metric so it can't be gamed: articles published balanced by engagement, conversion rate balanced by traffic volume, freshness balanced by quality. A "reduce bounce rate" target on its own invites tricks like splitting articles across pages; a "more backlinks" target without a quality gate invites link schemes.
The data you need, and how often
| Source | What it feeds | Refresh | Watch out for |
|---|---|---|---|
| Search Console | Visibility, CTR | Weekly, daily for priority pages | About 16 months of history; export to keep more |
| GA4 | Engagement, key events | Weekly | Exploration data retention of 2 or 14 months |
| CRM | Pipeline and revenue | Monthly | Content touches must be captured at the form |
| Rank or SERP tracker | Share of voice, SERP features | Weekly for priority queries | Keep the tracked query set stable |
| Content inventory | Page type, cluster, owner, review date | Monthly; full reconciliation quarterly | Without it, nothing rolls up |
Under a few hundred pages, a well-kept spreadsheet works. Above that, pull the sources into one place (BigQuery, a database, or a platform that joins them per page). Whatever you choose, the test is simple: can someone see all four layers for one page in one view? If it takes four tools and a lookup, the system will not be used. A content inventory is the prerequisite for all of it.
Where Morrison fits
Everything above can be done by hand with exports and a spreadsheet. It works until the person who built the spreadsheet goes on holiday. Morrison covers several of the steps directly:
- Visibility per page.The Search Console integration brings clicks, impressions and queries, plus URL inspection and sitemaps. Every URL in Morrison's site index shows its last 90 days of Search Console clicks and impressions, and you can filter and export the list.
- Engagement and conversions. The GA4 integration brings sessions, engagement and conversions by page and channel, so you can ask which pages are visited but not converting.
- Competitive context. Ahrefs adds backlinks, keyword difficulty and competitor visibility; SerpApi adds live Google results, SERP features and People Also Ask.
- Quality. The content analyzer scores every page on eight dimensions drawn from Google's helpful-content guidance (originality, effort, helpfulness, skill, accuracy, trust, people-first and spam), from Weak to Excellent. Use it for the quality layer across the whole site; chat ranks pages by the overall score and reads their scans when you drill into a section.
- Recurring reports. Automations write a report on a schedule and send it by email, for example a weekly list of pages that lost clicks, with a refresh, merge or redirect call on each.
Morrison does not connect to your CRM, so content-touched pipeline stays a CRM report. And the framework matters more than the tool: with clear layers and weights, any stack can run it; without them, you have dashboards nobody acts on.
Your first 30 days
- Week 1: baseline your top 20 pages. Pull non-branded clicks, impressions, CTR and query count from Search Console, engagement rate and key events from GA4. Set GA4 data retention to 14 months and start a scheduled Search Console export.
- Week 2: fix the conversion layer. Confirm your key events (demo request, trial sign-up, purchase) fire, build the reader vs non-reader segment, and add first landing page to your forms.
- Week 3: build the inventory and quality score. Page type, cluster, owner, review date, and a simple quality score for the top 20.
- Week 4: first scorecard and first report. Apply the weights, show layer scores and totals, and send leadership a one-page summary with five up, five down and one ask.
After that, extend to the whole library, add competitor benchmarking, and review weights each quarter. A team in growth mode weights visibility; a mature library weights conversion and health.
Key takeaways
- Measure in four layers. Visibility, engagement, conversion and quality each answer a different question. Weight them by page type.
- Use current definitions. GA4 bounce rate is the inverse of engagement rate, conversions are key events, and only data-driven and last-click attribution models remain.
- Know Search Console's limits. 1,000-row exports, hidden rare queries, about 16 months of history, and no separate AI Overview data.
- Credit content at page level yourself.Landing page key events, reader vs non-reader rates and CRM content touches do what GA4's channel paths can't.
- Show the pattern, not just the score. Layer scores next to the total tell you whether to refresh, promote or rethink a page.
- Report twice. One page for leadership, a working view for the team.
Sources and further reading
- 1Performance report (Search results): Overview and basic setupGoogle Search Console Help
- 2A deep dive into Search Console performance data filtering and limitsGoogle Search Central Blog
- 3Improved data filtering and comparison on Performance reportsGoogle Search Central Blog
- 4AI features and your websiteGoogle Search Central
- 5Engaged sessions, engagement rate and bounce rateGoogle Analytics Help
- 6Conversions vs. key events in Google AnalyticsGoogle Analytics Help
- 7Get started with attributionGoogle Analytics Help
- 8Enhanced event measurement (scroll event)Google Analytics Help
- 9Data retentionGoogle Analytics Help
- 10A guide to Google Search ranking systemsGoogle Search Central
- 11Creating helpful, reliable, people-first contentGoogle Search Central

CEO, Morrison
Ulrich is CEO of Morrison and founded Bonzer in 2017, growing it into one of Scandinavia's leading SEO agencies with 900+ clients across Copenhagen, Oslo, and Stockholm. At Morrison he leads strategy, operations and go-to-market, bringing years of hands-on SEO and content work to the platform side of the business.