Content analytics for publishers and bloggers, engagement first

See which stories get read to the end, where readers come from, AI included, and what your content earns. No cookie banner between you and your readers.

clickport.io
f fieldnotes.media
312 online
Engagement54%
Last 28 Days
Visitors
86k↗9%
Pageviews
214k↗12%
Views/Visit
2.49↗3%
Bounce
58%↘2%
Conversions
1,840↗21%
Conv. Rate
2.1%↗11%
Duration
3:12↗6%
Scroll
61%↗4%
9k7.5k6k4.5k3k1.5k0
Priya Raman
Deep-dive hit the HN front page
Six hours on the front page. 8.8k readers in a day, and the newsletter picked up 312 of them.
Wed, 18 Feb
Visitors 2,840 ↗14%
avg last 4 weeks 2,490
Pageviews 7,120 ↗18%
avg last 4 weeks 6,180
13.0214.0215.0216.0217.0218.0219.0220.0221.0222.0223.0224.0225.0226.0227.0228.0201.0302.0303.0304.0305.0306.0307.0308.0309.0310.0311.0312.03
24k20k16k12k8k4k0
SourcesLocationsTechnologiesCampaigns
ChannelsSourcesURLs
Channel
Visitors ↓%Eng
Organic Search
41,20048%62%
Direct
14,60017%44%
Organic Social
8,90010%39%
AI Search
6,4007%68%
Referral
5,8007%57%
Email
4,9006%72%
Organic Video
2,1002%41%
Paid Social
9001%26%
Paid Search
3400%22%
PagesSessionsGoalsJourneys
TopEntryExitSearch404AI
Page
Visitors ↓%Eng
/
18,40021%34%
/ai-tools-for-writers-2026
12,40014%74%
/guides/substack-vs-ghost
8,1009%71%
/newsletter
6,9008%63%
/reviews/best-e-readers-2026
5,2006%69%

Why publishers are leaving Google Analytics

Google Analytics was built for ad operations, and editorial teams feel it daily: the answer to "which stories are working" sits behind report menus, sampled data, and a consent banner that costs a large share of your readers before you count a single one. Visitors who click reject simply vanish from your numbers.

Readers make it worse for content sites specifically: the audiences that read newsletters, tech coverage, and independent media run ad blockers at the highest rates on the web, and Google's script is the first thing those blockers strip. The hole in your data is biggest exactly where your best readers are.

Clickport stores no personal data, so there is no banner, nothing to reject, and every reader is counted once.

Which stories actually get read

Pageviews tell you what was clicked. The engagement score tells you what was read: every page gets a 0-100 score built from how far readers scroll and how long they stay active. A guide read to the end scores in the seventies; a homepage bounce sits in the thirties.

PagesSessionsGoalsJourneys
TopEntryExitSearch404
Page
Visitors
Eng
/
3.8k29%
29%
/world/eu-energy-deal
2.2k17%
48%
/tech/openai-gpt6-launch
1.7k13%
65%
/markets/stocks-record-high
1.1k8%
46%
/sport/champions-league-final
8406%
55%
/culture/best-films-2026
6105%
59%
/politics/election-night-live
5244%
69%
/opinion/ai-needs-rules
4684%
13%
/science/mars-mission-update
4303%
34%
/health/sleep-study
3723%
52%
/tech/iphone-18-review
3182%
62%
/travel/48-hours-in-lisbon
2712%
41%
/food/weeknight-pasta
2242%
16%
/world/climate-talks
1861%
29%
/markets/rate-decision
1421%
38%
/sport/transfer-tracker
971%
26%

In the dashboard above, the AI-tools deep-dive holds a 74% score on 12,400 readers, while the homepage sits at 34%. That is the difference between traffic and readership, visible per story, sortable across your whole archive.

Traffic by author, section, or anything you tag

Editorial questions rarely stop at URLs. Which writers pull readers? Does the climate desk out-perform tech? Custom properties answer at that level: two small tags in your article template, and every pageview carries its author and section from then on. No JavaScript changes, and nothing to configure in the dashboard. The first tagged pageview makes the breakdown appear on its own.

PagesSessionsGoalsJourneys
AllClicksPagesFormsEventsOutboundPropertiesConfigure
authorHideShow hidden (2)
author
Visitors
%
Events
Jane Doe1.2k38%1.9k
Marcus Chen71022%1.1k
Priya Nair48015%692
Editorial Team40213%587
Guest Authors2147%301
(none)1585%213

Click a writer and the whole dashboard reorients around them: where their readers come from, which of their pieces carry the load, how their audience engages against the site average. The same works for section, content type, paywall status, or anything else your CMS knows. Included on every plan.

Where readers come from, AI included

Every visit lands in one of 16 channels: Organic Search, Direct, Social, Email, Referral, and AI Search as its own channel, not a mislabeled slice of Direct. A visit from ChatGPT, Perplexity, or Copilot is counted as what it is.

Channel
Visitors
Eng
Organic Search
5.1k38%
55%
Direct
3.1k23%
42%
AI Search
1.6k12%
61%
Organic Social
1.1k8%
31%
Referral
9407%
48%
Email
5404%
50%
Paid Search
3122%
28%
$Paid Social
2182%
21%
Affiliates
1561%
39%
Display
981%
13%
Organic Video
741%
24%
Organic Shopping
410%
34%

Note the engagement column: the 6,400 AI Search readers above engage at 68%, second only to the newsletter. People who arrive pre-briefed read deeper. Click any channel and the whole dashboard cross-filters to it, stories included.

Your content is feeding the answers

The uncomfortable 2026 question for every publisher: AI assistants read your work, answer with it, and send back a fraction of the readers search used to. Clickport tracks that whole chain instead of letting it happen invisibly: which engines crawl you, which ones cite you, what those citations send, and what it converts.

SourcesLocationsTechnologiesCampaigns
ChannelsSourcesURLsAI
5820 citations · 31k crawls · 6,400 AI visits · 134 conversions
Engine
Ingested
Cited ↓
Visited
Converted
OpenAI13,4002,6002,90061
Perplexity8,2001,5401,70038
Anthropic4,60078082017
Google2,90056062012
Microsoft1,3002202404
Mistral6001201202
Cross filters don't apply to agent traffic.

Crawlers are verified against the engines' published signatures, so a scraper pretending to be GPTBot does not pollute the numbers. AI agent analytics and crawler tracking come with every dashboard, and the citation-to-click gap stops being a rumor and becomes a number you can quote to your team, or to the sponsor asking why traffic looks different this year.

Hit publish, watch it land

The realtime view shows the last 30 minutes as a full live breakdown, refreshed every 30 seconds: a minute-by-minute chart of readers arriving right now.

50403020100
50403020100
-30m-26m-22m-18m-14m-10m-6m-2m

And every active reader is a row you can open: their source, the story they are on, and how far they have read.

PagesSessionsGoalsJourneys
AllLive (7)ConvertedBouncedSignals
Jun 3 11:42 - 11:42Google · Germany · Desktop · macOS · Chrome
Jun 3 11:42 - 11:42ChatGPT · United States · Mobile · iOS · Safari
Jun 3 11:41 - 11:42LinkedIn · United Kingdom · Desktop · Windows · Edge
Jun 3 11:41 - 11:42Perplexity · Canada · Desktop · macOS · Chrome
Jun 3 11:41 - 11:42Direct · Netherlands · Desktop · Linux · Firefox
/1:02 48%
Jun 3 11:41 - 11:42Bing · France · Mobile · Android · Chrome
Jun 3 11:41 - 11:42Reddit · Sweden · Desktop · macOS · Chrome

That is the screen for launch minutes: the newsletter just went out, the piece just hit Hacker News, the syndication just went live. The chart in the hero above carries the annotation from a day like that: six hours on the HN front page, 8.8k readers, 312 new subscribers.

From reader to subscriber

The newsletter is the asset. Turn the signup form into a form goal with no code, and every story shows what it actually contributes: not reads, subscribers. The dashboard above counts 1,840 signups this month at a 2.1% rate, and cross-filtering any story shows its share.

Chain it into a funnel, story to newsletter page to confirmed signup, and you can see exactly where readers fall out. When a story converts readers at three times your average, that is the topic your next five pieces should orbit.

Affiliate clicks and sponsor numbers

Every outbound and affiliate click is tracked automatically, the moment a reader leaves for Amazon, Etsy, or any merchant, with the full destination kept. No link plugins, no tagging session.

PagesSessionsGoalsJourneys
AllClicksPagesFormsEventsOutboundConfigure
Link
Visitors
Clicks
amzn.to/3sK9pQr
84229%
1k
amzn.to/4aB2cD9
51118%
689
amzn.to/2xY7zWk
39814%
452
amzn.to/8kP3mNq
27610%
318
www.etsy.com/listing/ceramic-mug
2037%
241
www.etsy.com/listing/linen-apron
1545%
172
www.williams-sonoma.com/dutch-oven
1325%
158
www.williams-sonoma.com/baking-mat
973%
110
shareasale.com/r.cfm?b=83921
843%
95
www.rei.com/product/hiking-boots
612%
73
bookshop.org/a/sourdough
492%
58
www.target.com/p/cast-iron-skillet
371%
41
thrivemarket.com/p/organic-matcha
281%
33
www.kingarthurbaking.com/flour
191%
22
www.bhphotovideo.com/camera
120%
15

Put a value on the clicks that pay, and revenue shows up per story and per channel. And when a sponsor asks for numbers, the share link gives them a live, read-only dashboard instead of a screenshot deck: audience size, geography, engagement, all real.

For one writer or a newsroom

The same dashboard runs a single-author newsletter and a multi-title newsroom. Plans scale by pageviews, from 10k to 10M a month, and every feature is on every plan: engagement scores, AI tracking, funnels, share links. Nothing is gated behind a "publisher tier".

For teams: add editors and writers by email with a role, read-only for most, edit rights for whoever owns goals and campaigns. There is no per-seat pricing, so the whole desk can look. Email reports land the week's numbers in everyone's inbox Monday morning, and a guest role scopes a freelancer to a single title.

Real readers, not scrapers

Content sites get crawled constantly, and a dashboard that counts scrapers flatters you into bad decisions. Clickport screens every hit at ingestion through eleven bot-detection layers: datacenter and cloud IPs, headless browsers, and known bot signatures never reach your numbers.

01 · Protection
Protection active· 11 detection layers · blocklists refreshed today
19
Blocked today
2,300↗22%
Last 30 days
47.9%
Of all traffic

AI crawlers are surfaced separately, counted and named without inflating your traffic. When the dashboard says 86k readers, that is 86k people.

No cookie banner between you and your readers

Clickport uses no cookies and retains no personal data, so it is designed to run without a consent banner: nothing in front of your stories, no reject button subtracting readers from your numbers, and no consent-mode guesswork filling the gaps with estimates. It is built for GDPR compliance and hosted in the EU.

For a content site the banner is not just a data problem, it is a reader-experience problem: the first thing a new reader sees should be your writing.

2 KB against your Core Web Vitals

The tracker is a single deferred script of about 2 KB that loads after your page, off the critical render path. Your Core Web Vitals, and the search rankings your traffic depends on, will not notice it exists.

Works where you publish

WordPress sites install the plugin in two minutes. Ghost, Substack custom domains, Webflow, Hugo, and every other platform that allows a script tag take the one-line snippet. Multiple titles run as separate sites under one login, with an all-sites view on top.

Every screen above is the same dashboard, live minutes after the snippet. And Clickport works the same way for agencies, SaaS, ecommerce, and affiliate sites.

Try Clickport

Start a free 30-day trial. No credit card required. Run it alongside your current analytics and compare what each one tells you about the same week of publishing; the comparison usually settles it.

Clickport charges a subscription instead of monetizing your data. That is the model that keeps our incentives aligned with yours: you pay for analytics, you get analytics, and your readers are not the product.

Bigger operation? If you need SSO, an SLA, or invoice billing, see Clickport for enterprise or contact sales.

Coming from Google Analytics? The migration guide walks through the switch in six steps, your GA4 history included.

Pageviews tell you what was clicked. Engagement tells you what was read.

Frequently asked questions

Can editors see the numbers without accounts?

Yes. Send a read-only share link and anyone in the newsroom sees the live dashboard for that title: no login, no seat to pay for. Refresh or revoke the link whenever you like.

Can I run it alongside our current analytics?

Yes, and that is the easiest way to evaluate it: the snippet coexists with any other tag, the two never interact, and nothing about your stack changes. Compare the numbers for a month, then keep the one that earns it.

Can I see which AI tools send me readers?

Yes. Referrer-bearing visits from ChatGPT, Perplexity, and Gemini land in a dedicated AI Search channel, ahead of Organic Search, where they tend to be your most engaged readers. The honest limit, true for every tool: a visit with no referrer can not be attributed, so it counts as Direct.

Can I watch traffic live when a story breaks?

Yes. The realtime view shows the last 30 minutes as a full live breakdown: every active reader's source, page, country, and engagement, refreshing on its own.

Do I need a cookie banner?

No. Clickport uses no cookies and stores no personal data, so there is no consent banner and nothing for a reader to reject. It is GDPR compliant by design, and every reader is counted as one real visit.

Will bots and scrapers inflate my numbers?

No. Every hit is screened at ingestion through multiple bot-detection layers, and a bot center shows you exactly what was blocked and why. AI crawlers are surfaced separately so you can see them without them padding your counts.

Is it hard to set up across our titles?

One script tag per site. Scroll, engagement, AI Search classification, and bot filtering are on by default, with nothing to configure.

Can writers and editors get their own logins?

Yes. On any paid plan you add teammates by email with a role: writers as read-only viewers, the audience desk as editors who manage goals and campaigns. Access is active the moment you add someone; new colleagues set a password once and land straight on the dashboard. There is no per-seat pricing, and every change is recorded in a team activity trail with a name on it. Read how teams work.

Does it work with WordPress?

Yes. Install the WordPress plugin or paste the snippet into your theme header; either takes about a minute and works with any theme and any host. Ghost, Hugo, Squarespace, and anything else that takes a script tag work the same way.

Can I track affiliate clicks without code?

Yes. Outbound and affiliate clicks are tracked automatically from the first visit, with the full destination URL kept and tied to the post and source. No Tag Manager, no snippets.

See what actually gets read

30-day free trial. No credit card, no cookie banner, one snippet.

Start free trial