Content Engagement Metrics: The Signals That Prove Visitors Actually Read Your Content

A screenshot of a Stack Overflow question page titled 'How do I parse JSON from a string in JavaScript?' with the top-voted answer's code block visible and a Copy code button in the upper-right corner of the code block, with two red editorial annotations. The code block contains a JSON.parse() example. The answer card shows 4,217 upvotes and a green accepted-answer checkmark. The answer is attributed to user ParsleyDev, answered Aug 12, 2018 at 9:42. One annotation reads 'Stack Overflow built this button after their 2021 internal study found 25% of question-page visitors copy something within 5 minutes.' A second reads 'Highest-intent engagement signal on the page. Visible to Stack Overflow's analytics. Invisible to almost every other analytics tool.' A footnote reads 'Stack Overflow's 2021 internal analysis. Reported in their developer-survey methodology notes.'
Show article contentsHide article contents
  1. The content measurement problem
  2. The signals hiding in every session
  3. The metric nobody measures: what visitors copy
  4. What copying actually tells you
  5. The gap between "visited" and "about to buy"
  6. Why engagement analytics cost $7,000 a year
  7. How copy detection works
  8. What copy data looks like in practice
  9. The privacy question
  10. What this changes for content teams

The average reader spends 26 seconds on a page. Less than half a minute. Your article got 4,200 pageviews and your dashboard called it a success, but 12 of those visitors copied a product name and left to comparison-shop somewhere else. Those 12 were your most valuable visitors. Your analytics had no idea they existed.

Key Takeaways
  • Average engaged time on publisher sites is 26 seconds (Chartbeat Q4 2025). Pageviews tell you someone arrived. Engagement metrics tell you if they found what they came for.
  • On Stack Overflow, 25% of question visitors copy something within five minutes. On a software documentation site, 22% of visitors copied at least once. Copy events are the most direct signal that a visitor found something worth keeping.
  • Enterprise engagement analytics (Chartbeat, Parse.ly, Contentsquare) start at $7,000 and scale to $170,000 per year. Small publishers who lost 60% of search traffic have no affordable tools to understand what's left.
  • Copying a product name is a comparison shopping signal. Usability research shows shoppers copy product names to price-compare across sites. It is the strongest pre-click intent signal available to publishers.
  • Combined engagement scoring (scroll depth + engaged time) gives each piece of content a quality number. Not 'how many people visited,' but 'did the content actually work.'

The content measurement problem

Content teams are flying blind. Pageviews tell you someone arrived. They do not tell you whether your content answered their question, whether they read past the second paragraph, or whether they found something worth acting on.

The numbers are brutal. Contentsquare's 2025 benchmark across 90 billion sessions found that bounce rates on paid social traffic were 9.2% higher than organic, brands increased digital ad spend by 13.2% while conversion rates dropped 6.1%, and pageviews per session declined. Their 2026 engagement data showed engagement dropping 10% year over year and time on site falling 7%. More people paying more to reach an audience that engages less.

More traffic. Less engagement. More money spent. Less return.

THE DASHBOARD VS. REALITY
What your dashboard shows
4,200
pageviews
2:41
avg. session duration
1.8
pages per session
What actually happened
26s
median engaged time
44%
median read depth
12
visitors who copied text
Sources: Chartbeat Q4 2025, Smartocto 2025

The global average engaged time is 26 seconds, according to Chartbeat's Q4 2025 data. Smartocto's benchmark across 343,000 articles from 231 brands found a median read depth of 44%. Less than half the article, on average. The standard dashboard shows none of this.

And it is getting worse. Small publishers lost 60% of search referral traffic over two years according to Chartbeat data reported by Search Engine Land. AI chatbots account for less than 1% of publisher pageview referrals, nowhere near enough to offset the drop. The traffic metric content teams have leaned on for twenty years is broken. When the traffic itself is disappearing, knowing what the visitors who remain do with your content stops being nice to have. It becomes the whole game.

The signals hiding in every session

Engagement is not one number. It is a handful of small behaviors, and each one tells you something different about what a visitor did with your content.

Scroll depth tells you how far someone got. If 80% of visitors stop at the third paragraph, the intro is working and the middle is not. If they keep going to the bottom, the content holds them. Contentsquare's 2026 benchmark found scroll rates fell 2% worldwide year over year, with desktop ahead of mobile at 50.5% against 45.2%. So half of desktop visitors scroll the page and fewer than half of phone visitors do. Scroll depth is the easiest engagement metric to measure and the one people ignore most.

Engaged time is not the same as time on page. Time on page counts every second the tab is open, including the 4 minutes the tab sat in the background while someone read email in another window. Engaged time only counts the seconds the visitor is really there. The tab loses focus and the clock stops. Chartbeat's methodology looks for a reader interaction in the last 5 seconds and ships the data to its servers every 15 seconds.

Outbound link clicks show which links visitors care about. On affiliate content, that click is the whole conversion. On a how-to piece, it tells you which sources your readers trust enough to follow. On a product page, it shows which outside reviews they go and check.

Form submissions show intent to convert. Someone who starts filling in a contact form is a different animal from someone who scrolls past it. The average cart abandonment rate is 70% according to Baymard Institute. That means only about 30 in every 100 shoppers who add something to a cart go on to buy. The signal is in the attempt, not only the finish.

Downloads show which files are worth saving to a hard drive. PDFs, spreadsheets, templates. A download is a small commitment. The visitor is saying this one is worth keeping.

And then there is the signal nobody bothers to track.

The metric nobody measures: what visitors copy

There used to be a company that measured this. Tynt, later renamed 33Across, was the biggest clipboard analytics service on the web. It watched copy behavior across about 500,000 websites. Its numbers showed that 2 to 6 in every 100 pageviews ended in a copy. Then the company walked away from clipboard analytics. The data went dark. And the metric dropped out of the industry's vocabulary.

The behavior never stopped. People copy text from websites all day long. What changes is the rate, and it swings hard depending on what the page is about.

COPY RATES BY CONTENT TYPE
Developer docs
22-25%
Reference / encyclopedia
8-12%
Recipes
8-10%
News / media
6-8%
E-commerce
3-7%
General websites
2-6%
Sources: Tynt/33Across data (2010-2013), Stack Overflow 2021 internal study, Kirsh 2020 academic study on software documentation

Stack Overflow's own 2021 study found that 25% of visitors to a question page copy something within five minutes. One in four. That number is what led them to build the "copy code" button. On a software documentation site, a 2020 academic study found that 22% of unique visitors copied at least once. More than one in five. On recipe sites, the ingredients list gets copied far more than anything else on the page.

A screenshot of a generic recipe website article page for 'Garlic Lemon Chicken with Roasted Potatoes' (Ready in 45 minutes, Serves 4) with two red editorial annotations. The page shows an Ingredients section on the left with a yellow-dashed highlight border around all 10 ingredients (chicken breasts, garlic, lemons, olive oil, oregano, thyme, salt, pepper, baby potatoes, parsley) and a Copy ingredients button below the list. The Instructions section on the right shows three cooking steps. One annotation reads 'Recipe sites: 8-10% of visitors copy this section. Highest copy rate of any content category.' A second reads 'Some recipe sites built an explicit Copy button after watching the behavior. Most never measured it.' A source footnote credits Tynt/33Across clipboard analytics data, recipe-vertical aggregate (2010-2013).
The ingredients section of a typical recipe page is the highest-copy-rate content unit on the web. 8-10% of visitors take it with them to their phone, their grocery app, or a paper list. Most recipe sites have never measured this behavior, even though some have built explicit Copy buttons around it.

Almost no analytics tool shows copy events as a metric you can read. PostHog offers an opt-in capture_copied_text feature, and FullStory stores copy events as data you can query. But no privacy-first tool tracks it, and nothing under $10,000 a year puts it on the dashboard with the copied text in plain sight.

What copying actually tells you

A copy event is more than an engagement signal. It is an intent signal. What someone copies tells you why they are on the page and what they are about to do next.

WHAT COPY EVENTS REVEAL ABOUT INTENT
1
Product name copied
Comparison shopping. The visitor is taking this product name to Google, Amazon, or a competitor to check prices. This is the strongest pre-purchase intent signal available to publishers.
2
Code snippet copied
The tutorial worked. The visitor is implementing what you taught them. This is the highest-quality engagement signal for developer content.
3
Quote or passage copied
Content worth sharing. The visitor is saving this to paste into a message, email, document, or social media post. Your writing was good enough to carry somewhere else.
4
Address, phone, or email copied
About to act. The visitor is taking contact information off the screen and into another application. A navigation app, a phone dialer, an email client. This is the moment right before conversion.

There is a name for what is going on here. Information foraging theory, set out by Pirolli and Card in 1999, says people forage for information the way animals forage for food. Copying text is hoarding. The visitor found something good enough to take home.

Cognitive psychology has a name for it too: cognitive offloading. You use an outside tool, in this case the clipboard, so you do not have to hold something in your head. Instead of trying to remember a product name, a price, or a quote, the visitor parks it on the clipboard. The clipboard turns into spare working memory. So a copy is, word for word, the visitor saying this is worth remembering.

For affiliate publishers, this is a big deal. A visitor who copies "Sony WH-1000XM5" out of your headphone review is comparison shopping right now. Usability research keeps showing that shoppers copy product names to check prices across sites, and they do it most for anything over $50. The clipboard is the bridge between your page and the buy.

And yet copy never made the list. In the standard set of micro-conversions that analytics tools track, text copying is missing. It shows up in no major framework's default metrics at all.

The gap between "visited" and "about to buy"

Affiliate publishers and content marketers have the same problem. There is a big measurement gap sitting right in the middle of the visitor journey.

THE MEASUREMENT GAP
Step 1
Visitor arrives on your page
TRACKED
Step 2
Visitor reads, scrolls, engages with content
PARTIALLY
Step 3
Visitor develops purchase intent (copies product name, checks price)
INVISIBLE
Step 4
Visitor clicks an affiliate or outbound link
TRACKED
Step 5
Visitor lands on merchant site
INVISIBLE
Step 6
Visitor purchases (reported by network, hours or days later)
DELAYED
Steps 2 and 3 are where all the value is created. They are almost entirely unmeasured.

Steps 2 and 3 are where a visitor turns from "someone browsing" into "someone about to buy." And you can barely see them. Most tools log the arrival at step 1 and maybe the outbound click at step 4 if you set it up. The affiliate network reports the purchase at step 6 hours or days later with almost no context. Everything in between is a black box.

This is not a small annoyance. It means content teams can only tune for traffic volume, never for conversion quality. They cannot tell which content formats drive purchases. They cannot tell a browser apart from a buyer.

Copy detection fills the hole at step 3. When a visitor copies a product name, a price, a coupon code, or a list of specs, they are telling you their intent. Not in a form field. Not in a click. In the plainest way there is: by deciding something on your page is worth taking with them.

Put it next to scroll depth (did they reach the recommendations?), engaged time (did they read the comparison?), and outbound clicks (did they follow through?), and copy events finish the picture that ties arrival to action.

Why engagement analytics cost $7,000 a year

If these signals are so useful, why isn't everyone tracking them?

Because for a long time, the only tools that measured engagement this well were built for big publishers with big budgets.

A screenshot of a publisher-analytics SaaS pricing page with three pricing tiers and three red editorial annotations. The header reads 'Engagement analytics for publishers' with sub-headline 'Real-time editorial dashboards, attention metrics, and reader-quality scoring. Trusted by 5,000+ media brands.' Three pricing cards: Starter at $7,000 per year (Real-time dashboard, 25M pageviews per month, 90-day data retention, Email and chat support), Growth at $36,000 per year marked Most popular (Everything in Starter plus unlimited pageviews, 24-month retention, attention metrics, reader-quality scoring, priority support), and Enterprise at $50,000-$170,000 per year (cross-property reporting, custom integrations, dedicated account manager, SLA, heatmaps, session replay). A trusted-by editorial-teams strip with silhouette logos sits below. One annotation reads '$7,000 / year is the entry point. The cheapest dedicated engagement-analytics tier.' A second reads 'Up to $170,000 / year at the top end. The category was built for enterprise publishers, not for small sites.' A third reads 'Engagement analytics has historically been an enterprise category. Small publishers were never the market.' A footnote credits the article's research across Chartbeat, Parse.ly, Contentsquare, and IO Technologies.
The publisher-engagement-analytics category is built for enterprise media. Starter at $7,000 per year is the cheapest dedicated tier. Enterprise reaches $170,000 per year. A blogger doing 5,000 pageviews a day cannot pay for any of these.

Chartbeat runs engagement analytics for 5,000+ media brands, the New York Times and Washington Post among them, and it starts at roughly $7,000 a year. Parse.ly, used by the Wall Street Journal and Bloomberg, starts at about $36,000 a year. A Contentsquare enterprise rollout runs from $50,000 to $170,000 a year.

That is the gap. The cheapest dedicated engagement tool starts around $2,000 a year. Now picture who needs this data. A blogger doing 5,000 pageviews a day. An affiliate publisher earning $3,000 a month. A SaaS founder trying to see which docs pages really help. Every one of them needs engagement data. Not one of them can pay for Chartbeat. And the tools they can afford, the $9 to $19 a month ones, do not even try to measure it.

And none of the big tools, at any of those prices, put copy events on the dashboard with the copied text right there to read.

How copy detection works

Copy detection runs on its own inside Clickport's 2 KB tracker script. There is nothing to set up. When a visitor copies text from your page, the event is caught and saved with the rest of their session.

One thing matters here. The tracker only sees a real copy, Ctrl+C, Cmd+C, or right-click then copy. It does not see plain text highlighting. Plenty of people drag-select text while they read and never copy a word. That habit, sometimes called "fidget highlighting," does not set off copy detection. You get the copies people meant to make, not the idle selecting. That keeps the data clean.

Copy detection only reads text from the site owner's own published pages. It cannot touch the system clipboard, other browser tabs, or anything in other apps. It is fenced to how visitors use the content you put out yourself.

A screenshot of Chrome DevTools showing the Sources panel and Console panel for a tracker.js file, with three red editorial annotations. The Sources panel shows the file tree with tracker.js selected and the code editor displaying a 20-line vanilla JavaScript copy event listener that calls document.addEventListener('copy', ...), reads window.getSelection().toString(), filters out empty selections and text longer than 200 characters, and sends a fetch POST request to /api/event with the captured text and page path. Line 2 is highlighted with a red dashed border. The Console panel below shows captured events with selection.toString() outputting 'Sony WH-1000XM5' then '$278 at Amazon' followed by [Copy detected] log lines and the resulting JSON payloads. One annotation reads '12 lines of vanilla JS. The copy event has been in the browser since 2014.' A second reads 'Visitor copied Sony WH-1000XM5 then $278 at Amazon. Comparison shopping in real time.' A footnote reads 'Copy event support: Chrome (since 2014), Firefox (since 2014), Safari (since 2015). Specified in W3C Clipboard API Working Draft.'
Copy detection in 12 lines of vanilla JavaScript. The Console shows a real sequence: visitor copies a product name, then a price, then heads off to comparison shop. The browser has supported this event since 2014; no analytics tool had to invent it.

What copy data looks like in practice

In Clickport's session drill-down, copy events show up as purple badges next to the page where the copy happened. Hover a badge and you see the copied text. Click it and the original page opens with the exact passage the visitor took lit up, using the browser's own text fragment API.

SESSION DRILL-DOWN WITH COPY DETECTION
Session #4821 · 3m 42s · Google · iPhone · Germany
/blog/best-noise-cancelling-headphones 2m 14s 78% C C
/blog/sony-wh-1000xm5-review 1m 28s 92% Click
This visitor read the headphones roundup for 2 minutes and 14 seconds, scrolled 78%, and copied both the product name and the price. Then they navigated to the dedicated review, scrolled 92%, and clicked an outbound affiliate link. Every signal pointed to purchase intent long before the click happened.

You can use the Signals filter to narrow the whole Sessions panel down to sessions where a copy happened, told apart from rage and dead clicks by a purple C badge. What you get is a list of your highest-intent visitors: the ones who found something worth taking with them. Look across those sessions and patterns come out. Which products get copied most? Which paragraphs? Which pages make copy events and which never do?

No amount of pageview data tells you any of that. If your comparison table gets copied more than your product descriptions, the table format is winning. If people copy the price but not the product name, they already know what they want and are just shopping on price. If nobody copies a single thing out of a 3,000-word review, the piece may be thorough but too vague to be useful.

The privacy question

Copy detection is a behavioral feature. It is fair to ask whether it belongs in a privacy-first tool at all.

Here is how I think about it. Copy detection reads the text a visitor selected from the site owner's own published page. It does not read the system clipboard. It cannot see passwords, private messages, or anything in other apps. The text it captures is text the site owner wrote and published in public. The visitor is using that content, and the owner gets to see which part they found worth keeping.

In that sense it sits right next to two things people already accept. Scroll depth, which records how far someone got down a page the owner controls. Outbound clicks, which record which of the owner's links the visitor followed. All three are behavioral signals. All three watch how a visitor used content the owner published.

The difference is that copy detection captures real text, not just a percentage or a URL. I am not going to pretend that is the same. The 200-character limit is there to keep it small. And the tracker only fires on pages where the owner installed it, capturing text the owner already has.

Clickport does not use cookies. It does not fingerprint. It does not follow you site to site. The copied text is stored with the session for the site it happened on, and only the site owner can see it. Nothing goes to a third party. The whole thing runs on EU-hosted infrastructure, and no data leaves Europe.

I think copy detection is a fair engagement metric, for some sites. Reasonable people can draw the line somewhere else. I would rather tell you exactly what it does than bury it in a privacy policy nobody reads.

What this changes for content teams

Put copy detection together with scroll depth, engaged time, and click tracking and you get something that did not exist at a price normal people pay: a full picture of how visitors use your content.

Not "how many people came." Not "how long was the average session." Just one question. Did the content work?

For affiliate publishers: You see which products visitors copy before they click through to Amazon. The copy comes before the click. It tells you the visitor is comparison shopping and which product caught their eye. If your most-copied product is not your most-clicked product, your content is creating interest that your link placement is dropping on the floor.

For SaaS documentation: You see which code blocks visitors copy. A getting-started guide with high scroll depth but low copy rates means people are reading and not building. If one code snippet gets copied in 25% of sessions, that snippet is why people came. Promote it. Make it easy to find.

For content marketers: You see which quotes, stats, and passages visitors keep. The passages that get copied are the ones worth growing into their own posts. They are the hooks that landed. If one data point in a 4,000-word article pulls most of the copies, that data point is the article.

For e-commerce: You see which products visitors research before they buy. Copies of product names, prices, and SKUs are the clearest comparison-shopping signals you can get. They tell you which products people are seriously weighing, not just which ones got an impression.

Every one of these signals is invisible in a standard dashboard. Every one of them has lived in the browser's event model for over a decade. The gap was never a technical one. It was that nobody built an analytics tool that bothered to listen.

Clickport tracks all of it: scroll depth, engaged time, outbound clicks, form submissions, downloads, 404 errors, and copy detection. Everything is in every tier, starting at EUR 9/month. No feature gates. No enterprise upsell. No cookies, no consent banners, no data leaving the EU.

If you have been judging your content by pageviews, you have been measuring the wrong thing. The signals that tell you whether your content works have been there the whole time. You just need a tool that listens for them.

Start your free trial
30 days free. See scroll depth, time on page, and engagement scores instantly.

David Karpik

David Karpik

Founder of Clickport Analytics
Building privacy-focused analytics for website owners who respect their visitors.

Comments

Loading comments...

Leave a comment