Newsletters, writing and media
Which stories turn readers into members and donors.
An independent newsroom lives on reader revenue: memberships, recurring gifts and year-end drives, asked for at the foot of the stories people come for. Tally ties each membership and gift to the visit behind it, so you can see which beats and stories move readers to pay.
14 days free, no card needed.
01How they sell
- SubscriptionMonthly and yearly memberships, sometimes with a metered paywall, and recurring gifts that renew like a membership.
- DonationsOne-time gifts asked for under stories and during year-end or anniversary drives, when giving bunches into a few weeks.
- One-offTickets to live events and reader meet-ups, sold once from the site.
02Payments it reads
- StripeGhost and many WordPress membership and donation plugins charge through the newsroom's own Stripe account, so memberships, recurring gifts and refunds are read there.
What Tally can't read
- Display and programmatic ad revenue isn't read; Tally reads payments, not ad networks.
- Grants, foundation money and cheques aren't read, nor gifts paid by bank transfer.
- Gifts made on a giving platform's own form, outside your Stripe account, aren't read.
- Readers who see your stories inside an aggregator's app never load your site's script, so those reads aren't counted.
03Where buyers come from
- Search and DiscoverBreaking stories bring large, one-time crowds from search; revenue per visitor shows how few of them give compared with regular readers.
- NewsletterThe daily or weekly briefing brings back readers who already trust the work, which is where many memberships close.
- Local Facebook groupsStories shared in community groups arrive through Facebook's in-app browser, which Readable Direct names rather than calling Direct.
- AI assistantsReaders who follow a citation from ChatGPT, Perplexity or Claude arrive in a channel of their own, apart from search.
04What Tally answers
Which AI companies are crawling our reporting, and which stories?
The crawlers view counts AI crawlers' requests by crawler, operator, purpose and page, apart from readers. Most never run a page's script, so they show up once a few lines on your server, in Next.js middleware, a Cloudflare Worker or Express, report them.
AI crawlersWhich story got this donor to give?
Every gift's receipt shows the visits behind it, the credited one and what tied the payment to that browser, so you can point to the investigation that moved a reader rather than guess from timing.
ReceiptsWhen do gifts arrive during a year-end drive?
Peak hours lays out sales or revenue by weekday and hour, and names the busiest three hours only when there are enough gifts to say so, which helps time the last appeal.
Peak hoursDo members read our stories differently from everyone else?
What they read compares engaged time and scroll depth per page for buyers and other readers. A story that members finish and drive-by readers leave early is the kind to put the ask under.
What they readDoes the newsletter sign-up lead to memberships?
Count the sign-up form as a goal and build a funnel from story to sign-up to the membership page; the goals view gives each step's completions and the revenue of visitors who reached it.
Goals and funnels
05Numbers worth watching
- AI crawler requests
- AI crawler requests per day and per story, which shows how much of your reporting is being read by machines rather than people.
- Visitors from AI assistants
- Visits that come from AI assistants citing your work, with the gifts and memberships behind them.
- Engaged time
- Time with the tab in view and the reader active, per story, which separates a skim from a read better than pageviews do.
- Renewals
- Membership and recurring-gift renewals by first source, the reader revenue a newsroom can plan a budget on.
06An example
Reading time
38s
median per pageview
Scroll depth
59%
average depth, of 27,242 views measured
Read to the end
27%
of measured views reached 90% or more
What they read
29,292 pageviews · last 30 days
Open a page to see how far down people read it, and how buyers read it before paying.
- /8,764 views52% scrolled on average21s reading time, median
- /pricing5,531 views78% scrolled on average58s reading time, median
58s
reading time, median per view
78%
scrolled, on average
5,531 views · 5,199 with a measured depth
How far down they read
Share of measured views that scrolled at least this far
- 25% — reached a quarter of the page:95%
- 50% — reached half of the page:84%
- 75% — reached three quarters of the page:69%
- 90%+ — reached the end of the page:48%
Buyers before paying vs didn't buy
- Buyers, before paying149 views · 107 buyers96% scrolled on average,1m 41s reading time, median
- Didn't buy5,347 views · 3,819 visitors61% scrolled on average,44s reading time, median
35 views by buyers after paying are left out of both.
Buyers are visitors whose first sale came after viewing this page; only their views before that payment count.
- /docs2,730 views47% scrolled on average1m 12s reading time, median
- /blog/stripe-fees2,239 views64% scrolled on average2m 34s reading time, median
- /compare1,185 views71% scrolled on average49s reading time, median
- /changelog862 views38% scrolled on average33s reading time, median
Reading time runs only while the tab is visible and the visitor is active; it's the median per view. A view with no engagement report counts as 0s of reading. Its scroll depth is unknown, so it's left out of every scroll figure rather than counted as 0%. 27,242 of 29,292 pageviews have a measured depth.
07Setting up
- WordPressOn WordPress, add the tag site-wide in the header so story pages, the membership page and the donation form all carry it.
- StripeConnect the Stripe account behind your membership and donation plugins with a restricted key; their charges are read as Stripe payments and link by email at best unless your form passes the visitor's id.
- Call tally('identify', { email }) when a reader signs in or subscribes to the newsletter, so their later membership links by email.
- To count AI crawlers, add the server snippet for Next.js middleware, a Cloudflare Worker or Express; the page script alone won't see them.
08Questions
We're a nonprofit newsroom. Are recurring gifts treated as renewals?
If they're Stripe subscriptions, yes: each later gift takes the link of the first one, so a reader who started giving after a particular story keeps counting for it.
Do we need a cookie banner for Tally?
Not in cookieless mode, which sets no cookie and counts a visitor once a day. Cookie mode remembers returning readers for a year but usually needs consent in the EU and UK; consent-first mode stays cookieless until your banner calls tally('consent', true).
Can Tally see readers who hit the paywall and leave?
It sees their visit, the page and how long they stayed. If you mark the paywall prompt as a goal, the goals view shows how many reached it and how many went on to pay.