TapCub is live — analytics, insights and live chat, free on one platform

Content & media analytics Who finishes, who subscribes, and who is a bot?

The content template follows a piece from first open through progress to completion, then to like, share, follow and subscribe. Articles, video, audio and courses share one model and are split by content type.

  • Completion, not just views
  • 197+ bot rules and an AI-crawler channel
  • Author or channel as a group
app.tapcub.com
DashboardsContent consumptionLast 12 monthsFilterExport

Content views

418,200

▲ 9.4%

Readers

96,400

▲ 6.1%

Completion rate

36%

▲ 2.2 pts

Engagement rate

12%

▲ 0.6 pts

Views and completions

Content viewsCompletions
JanMarMayJulSepNov
Sample data
The problem

Three things page views hide

A view is the start of a read. Everything that matters happens after it.

Views are not reads

A piece opened by 10,000 people and finished by 900 looks the same as one finished by 6,000. Completion rate separates them.

Watch: Completion rate

Crawlers inflate the audience

AI assistants and scrapers can be a third of hits. Bot rules remove them; the AI-crawler channel shows what they fetched.

Watch: Human vs all traffic

Subscriptions are not tied to content

Subscribe arrives from billing without the piece that drove it. The subscribe funnel holds content_view → complete → subscribe.

Watch: Subscribe conversion

Template metrics

Sixteen metrics from view to churn

Consumption, engagement, subscription and churn. Names match the console after install.

MetricDefinitionFormatDashboards
Content viewsTOTALS(content_view)NumberContent consumption
ReadersUNIQUES(content_view)NumberContent consumption
Views per readerTOTALS(content_view) / UNIQUES(content_view)Number—
CompletionsTOTALS(content_complete)NumberContent consumption
Completion rateTOTALS(content_complete) / TOTALS(content_view) * 100PercentContent consumption
Average time on contentPROPAVG(content_complete.duration)Duration—
EngagementsTOTALS(like) + TOTALS(comment) + TOTALS(share) + TOTALS(favorite)NumberContent consumption
Engagement rate(TOTALS(like) + TOTALS(comment) + TOTALS(share) + TOTALS(favorite)) / TOTALS(content_view) * 100PercentContent consumption
SharesTOTALS(share)Number—
FollowsTOTALS(follow)NumberContent consumption
SubscriptionsTOTALS(subscribe)NumberContent consumption
Subscriptions and revenue
SubscribersUNIQUES(subscribe)Number—
Subscription revenuePROPSUM(subscribe.price)CurrencySubscriptions and revenue
Subscribe conversionUNIQUES(subscribe) / UNIQUES(content_view) * 100PercentSubscriptions and revenue
Pay-per-piece revenuePROPSUM(paid_content_unlock.price)CurrencySubscriptions and revenue
UnsubscribesTOTALS(unsubscribe)NumberSubscriptions and revenue

Metric names and formulas come from the industry pack. TOTALS counts events, UNIQUES counts people, PROPSUM adds up a property. Every figure on this page is sample data.

Dashboards the template installs

Each dashboard is a set of cards: KPIs, funnels, trends, retention, distributions and breakdown tables. Edit, duplicate or share them after install.

Content consumption

11 cards on this board

4 × KPI1 × funnel1 × trend1 × retention1 × distribution3 × table

Metrics on this board

Content views · Readers · Completion rate · Engagement rate · Completions · Subscriptions

Subscriptions and revenue

9 cards on this board

4 × KPI2 × funnel1 × trend1 × distribution1 × retention

Metrics on this board

Subscriptions · Subscription revenue · Subscribe conversion · Unsubscribes · Pay-per-piece revenue

Funnel

View, progress, complete, on the same piece

The completion funnel holds content_id, so a reader who opens one article and finishes another does not count. The window is one day.

app.tapcub.com
FunnelsCompletion funnelLast 30 daysUsersSessions

Completion funnel

1-day window

Content view

2,400

Content progress

1,248

Content complete

674

Sample data

Hold on the piece

hold_prop keeps the funnel on one content_id. It answers how far people get in this piece, not in the site.

Split by content type

content_type separates article, video, audio and course. Completion for a 40-minute video and a 600-word post should not share a benchmark.

Thirty days to subscribe

The subscribe funnel runs view → complete → subscribe over 30 days, so you see which pieces finished readers before they paid.

Also in the pack

  • Subscribe funnelContent view → Content complete → Subscribe · 30-day window
  • Engagement funnelContent view → Like / Comment / Favourite → Share · 7-day window
How teams use it

What newsrooms and creators set up first

Depth, author performance, membership and the crawler ledger.

Use case 1

Rank pieces by completion, not views

content_progress fires at 25, 50 and 75 percent; content_complete at the end. The consumption board shows which pieces hold readers and how long they stay.

  • Completion rate and average time per piece
  • Time-on-content distribution
  • Scroll heatmap on the article template

Example scenario: The most-viewed piece finished at 22%. The most-finished one had a third of the views and seven times the subscriptions. It moved to the homepage.

app.tapcub.com
Content consumptionPiecesLast 30 days

Pieces by completion

Last 7 days
PieceViewsCompletionAvg timeSubs
The ledger of AI crawlers18,40058%6:1294
Why your UV never matches24,10041%4:4871
Weekly briefing #4131,60022%1:5012
Interview: the data desk9,80063%8:0448
Product update, October12,20035%2:369
Sample data
Use case 2

Keep crawlers out of the audience

Five layers of bot rules filter user agents, headers, client signals, ASN and request rate. AI assistants get their own channel so you can see what they fetch without counting them as readers.

  • Human vs all traffic toggle on every report
  • AI-crawler channel: GPTBot, ClaudeBot, PerplexityBot and more
  • robots.txt and llms.txt compared with actual hits
app.tapcub.com
TrafficBotsLast 30 days

Hits by agent class

Last 7 days
Humans61%
Search crawlers14%
AI crawlers17%
Scrapers and tools6%
Unknown2%
Sample data
Use case 3

Connect a subscription to the piece that earned it

subscribe comes from billing with plan and price. The subscribe funnel and the revenue board show which content types and authors bring members, and who unsubscribes with which reason.

  • Subscribe conversion and revenue by content type
  • Unsubscribe reasons: price, content, unused
  • Retention after subscribing, weekly
app.tapcub.com
Subscriptions and revenueSubscribe funnelLast 30 days

Subscribe funnel

30-day window

Content view

2,400

Completion

1,248

Subscribe

674

Sample data
Use case 4

Rank authors and channels fairly

group=author attaches every view, completion and follow to the author or channel. The ranking compares completion and follows, not just volume from the homepage slot.

  • Author ranking: views, completions, follows
  • Engagement funnel: view → like / comment / favourite → share
  • Share channel as a property
app.tapcub.com
Content consumptionAuthorsLast 30 days

Author ranking

Last 30 days
AuthorViewsCompletionsFollowsCompl.
Data desk84,20038,1001,24045%
Markets112,60031,40086028%
Culture46,90024,8001,41053%
Newsletter team58,30019,70039034%
Sample data
Analytics × Chat

Turn a finished read into a member conversation

A reader who finished two pieces and reached the paywall is in the live list. The context card shows what they read and how far. The invite offers the plan, not a generic greeting.

  • Invite on paywall view after a completion
  • Context: pieces read, completion, referrer, AI-assistant source
  • AI answers plan and billing questions from your help pages

Example scenario: Readers who got a paywall invite after a completion subscribed at 9.1%, versus 4.2% for the paywall alone.

yoursite.com/subscribe
InboxReader · AustinLiveAuto-translateAssign to me

Reader context

Page
/subscribe · 48 s
Read today
2 pieces · both completed
Source
ChatGPT · cited link
Device
iPhone · Safari
Visits
5 in 30 days
  • /ai-crawler-ledger
  • /why-uv-never-matches
  • /subscribe
yoursite.com/subscribe
TC

Jo · Membership

Thanks for reading both pieces to the end! The annual plan is two months free this week. Any question about what members get?

Sample data
Events

Twelve events, four required

Reading events from the snippet; subscribe, unlock and unsubscribe from your billing system with the order number as insert_id.

EventNameWhen to sendRequired propertiesSource
searchSearchWhen a site search is submitted; results count if available.queryWeb Mini-program App
content_viewRequiredContent viewWhen a piece opens; content_type is article, video, audio, course, live or post.content_idcontent_typeWeb Mini-program App
content_progressContent progressAt 25, 50 and 75 percent read or played; percent rounded.content_idpercentWeb Mini-program App
content_completeRequiredContent completeAt the end of the piece; duration in seconds for this session.content_idWeb Mini-program App
likeLikeWhen a reader likes a piece.content_idWeb Mini-program App
commentCommentWhen a comment is posted; length optional.content_idWeb Mini-program App Server
shareShareWhen the share button is used; channel is wechat, moments, weibo, link or other.content_idWeb Mini-program App
favoriteFavouriteWhen a piece is saved.content_idWeb Mini-program App
followFollow authorWhen a reader follows an author or channel.author_idWeb Mini-program App
subscribeRequiredSubscribeFrom your server after payment; plan, price and is_renewal; insert_id = order id.planpriceServer
paid_content_unlockPay per pieceFrom your server when a single piece or course is bought.content_idpriceServer
unsubscribeUnsubscribeFrom your server on cancellation, with plan and reason.—Server

Event names, required properties and sources come from the pack. Events marked Server must be sent from your backend; use insert_id to de-duplicate orders and invoices.

Scenarios

Two publishers, two surprises

Illustrative scenarios, not reviews.

The first thing TapCub showed me was that 31% of our “visitors” were crawlers. Our completion rate didn’t drop; it had never been that high. Now the numbers I report are numbers I trust.

EW

E. W.

Content lead · online publication

Bot filteringCompletion

ChatGPT is our third-largest source now. We only know because AI assistants get their own channel instead of hiding under direct.

TN

T. N.

Audience editor · media site

AI sourcesChannels

Illustrative scenarios written from the user’s point of view. Not real reviews.

FAQ

Questions about this solution

Still have a question?

Chat with the team behind TapCub — we usually reply within a few hours on business days.

What does the content template install?

Twelve events, sixteen metrics including completion rate, engagement rate, subscribe conversion and subscription revenue, three funnels and two dashboards: Content consumption and Subscriptions and revenue.

Does one content_id fit articles and video?

Yes. content_view carries content_type, so one event set covers article, video, audio, course, live and post. Break any metric down by type.

How are crawlers detected?

Five layers: user agent, headers, client signals, ASN and request rate, 197+ public rules. AI assistants are grouped in their own channel so they can be read, not just removed.

Can I see which pages AI assistants fetch?

Yes. The AI-crawler channel lists agents and pages, and compares robots.txt and llms.txt with real hits.

Where does subscription revenue come from?

subscribe and paid_content_unlock are sent from your billing system with price and plan. Renewals set is_renewal so new and recurring revenue are separate.

Can authors see only their own numbers?

Share a dashboard filtered to group=author. The author sees their pieces, completion and follows without access to the rest.

Get started

Install the content template

Paste the snippet, send content_progress and content_complete from your article template, and connect billing for subscribe. Completion rate shows the same day.

  • 12 events
  • 16 metrics
  • 3 funnels
  • 2 dashboards

Free plan included. WordPress and Ghost plugins available.