Content consumption
11 cards on this board
Metrics on this board
Content views · Readers · Completion rate · Engagement rate · Completions · Subscriptions
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.
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 viewsCompletionsA view is the start of a read. Everything that matters happens after it.
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
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
Subscribe arrives from billing without the piece that drove it. The subscribe funnel holds content_view → complete → subscribe.
Watch: Subscribe conversion
Consumption, engagement, subscription and churn. Names match the console after install.
| Metric | Definition | Format | Dashboards |
|---|---|---|---|
| Content views | TOTALS(content_view) | Number | Content consumption |
| Readers | UNIQUES(content_view) | Number | Content consumption |
| Views per reader | TOTALS(content_view) / UNIQUES(content_view) | Number | — |
| Completions | TOTALS(content_complete) | Number | Content consumption |
| Completion rate | TOTALS(content_complete) / TOTALS(content_view) * 100 | Percent | Content consumption |
| Average time on content | PROPAVG(content_complete.duration) | Duration | — |
| Engagements | TOTALS(like) + TOTALS(comment) + TOTALS(share) + TOTALS(favorite) | Number | Content consumption |
| Engagement rate | (TOTALS(like) + TOTALS(comment) + TOTALS(share) + TOTALS(favorite)) / TOTALS(content_view) * 100 | Percent | Content consumption |
| Shares | TOTALS(share) | Number | — |
| Follows | TOTALS(follow) | Number | Content consumption |
| Subscriptions | TOTALS(subscribe) | Number | Content consumption Subscriptions and revenue |
| Subscribers | UNIQUES(subscribe) | Number | — |
| Subscription revenue | PROPSUM(subscribe.price) | Currency | Subscriptions and revenue |
| Subscribe conversion | UNIQUES(subscribe) / UNIQUES(content_view) * 100 | Percent | Subscriptions and revenue |
| Pay-per-piece revenue | PROPSUM(paid_content_unlock.price) | Currency | Subscriptions and revenue |
| Unsubscribes | TOTALS(unsubscribe) | Number | Subscriptions 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.
Each dashboard is a set of cards: KPIs, funnels, trends, retention, distributions and breakdown tables. Edit, duplicate or share them after install.
11 cards on this board
Metrics on this board
Content views · Readers · Completion rate · Engagement rate · Completions · Subscriptions
9 cards on this board
Metrics on this board
Subscriptions · Subscription revenue · Subscribe conversion · Unsubscribes · Pay-per-piece revenue
The completion funnel holds content_id, so a reader who opens one article and finishes another does not count. The window is one day.
Completion funnel
1-day windowContent view
2,400
Content progress
1,248
Content complete
674
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
Depth, author performance, membership and the crawler ledger.
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.
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.
Pieces by completion
Last 7 days| Piece | Views | Completion | Avg time | Subs |
|---|---|---|---|---|
| The ledger of AI crawlers | 18,400 | 58% | 6:12 | 94 |
| Why your UV never matches | 24,100 | 41% | 4:48 | 71 |
| Weekly briefing #41 | 31,600 | 22% | 1:50 | 12 |
| Interview: the data desk | 9,800 | 63% | 8:04 | 48 |
| Product update, October | 12,200 | 35% | 2:36 | 9 |
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.
Hits by agent class
Last 7 dayssubscribe 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 funnel
30-day windowContent view
2,400
Completion
1,248
Subscribe
674
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
Last 30 days| Author | Views | Completions | Follows | Compl. |
|---|---|---|---|---|
| Data desk | 84,200 | 38,100 | 1,240 | 45% |
| Markets | 112,600 | 31,400 | 860 | 28% |
| Culture | 46,900 | 24,800 | 1,410 | 53% |
| Newsletter team | 58,300 | 19,700 | 390 | 34% |
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.
Example scenario: Readers who got a paywall invite after a completion subscribed at 9.1%, versus 4.2% for the paywall alone.
Reader context
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?
Reading events from the snippet; subscribe, unlock and unsubscribe from your billing system with the order number as insert_id.
| Event | Name | When to send | Required properties | Source |
|---|---|---|---|---|
search | Search | When a site search is submitted; results count if available. | query | Web Mini-program App |
content_viewRequired | Content view | When a piece opens; content_type is article, video, audio, course, live or post. | content_idcontent_type | Web Mini-program App |
content_progress | Content progress | At 25, 50 and 75 percent read or played; percent rounded. | content_idpercent | Web Mini-program App |
content_completeRequired | Content complete | At the end of the piece; duration in seconds for this session. | content_id | Web Mini-program App |
like | Like | When a reader likes a piece. | content_id | Web Mini-program App |
comment | Comment | When a comment is posted; length optional. | content_id | Web Mini-program App Server |
share | Share | When the share button is used; channel is wechat, moments, weibo, link or other. | content_id | Web Mini-program App |
favorite | Favourite | When a piece is saved. | content_id | Web Mini-program App |
follow | Follow author | When a reader follows an author or channel. | author_id | Web Mini-program App |
subscribeRequired | Subscribe | From your server after payment; plan, price and is_renewal; insert_id = order id. | planprice | Server |
paid_content_unlock | Pay per piece | From your server when a single piece or course is bought. | content_idprice | Server |
unsubscribe | Unsubscribe | From 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.
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.
E. W.
Content lead · online publication
ChatGPT is our third-largest source now. We only know because AI assistants get their own channel instead of hiding under direct.
T. N.
Audience editor · media site
Illustrative scenarios written from the user’s point of view. Not real reviews.
Still have a question?
Chat with the team behind TapCub — we usually reply within a few hours on business days.
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.
Yes. content_view carries content_type, so one event set covers article, video, audio, course, live and post. Break any metric down by type.
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.
Yes. The AI-crawler channel lists agents and pages, and compares robots.txt and llms.txt with real hits.
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.
Share a dashboard filtered to group=author. The author sees their pieces, completion and follows without access to the rest.
Paste the snippet, send content_progress and content_complete from your article template, and connect billing for subscribe. Completion rate shows the same day.
Free plan included. WordPress and Ghost plugins available.