Donations and support
For maintainers: which docs pages and READMEs bring sponsors who renew.
An open-source project is used by many and paid for by a few: individuals on a monthly tier, companies that depend on it, and sometimes a support contract or a commercial licence. Tally ties each sponsorship paid through your own Polar or Stripe account to the visit behind it, so you can see which docs pages and links bring sponsors.
14 days free, no card needed.
01How they sell
- SubscriptionMonthly sponsor tiers for individuals and higher tiers for companies, with a logo in the README or the docs.
- DonationsOne-time contributions of any amount, often after a release or a fix someone needed.
- One-offCommercial licences, support contracts and paid priority on an issue.
02Payments it reads
- PolarMaintainers sell sponsor tiers and paid benefits through Polar; subscription cycles, one-time payments and lost disputes are read.
- StripeProjects with their own site take sponsorships through Payment Links or Checkout, and invoice companies for support through Stripe.
What Tally can't read
- GitHub Sponsors income isn't read.
- Contributions through Open Collective aren't read.
- Grants and company payments by bank transfer outside your provider aren't read.
- Stars, downloads and installs aren't counted; Tally sees visits to your docs site and payments only.
03Where buyers come from
- GitHub READMEA sponsor link in the README sends users who already depend on the project, with GitHub as referrer.
- DocsPeople reading the docs to use the project are the ones who end up sponsoring; the page breakdown shows which pages.
- Release notesA release that fixes a long-standing issue brings one-time contributions in the days after.
- AI assistantsDevelopers asking an assistant about the project follow its links to the docs, in a channel of their own.
04What Tally answers
Which docs pages do sponsors read?
What they read compares engaged time and scroll depth per page for buyers and other visitors, so the pages sponsors rely on stand out from those everyone skims.
What they readHow much of our docs traffic is AI crawlers?
Once a server snippet on Next.js, a Cloudflare Worker or Express reports them, the crawlers view counts AI crawlers' requests by crawler, operator, purpose and page, apart from people.
AI crawlersDo company sponsors keep sponsoring?
Lifetime value counts every sponsorship payment under the sponsor's first source, with renewals and repeat rate.
Lifetime valueDoes the README or the docs bring more sponsors?
The referrer and page breakdowns put revenue beside GitHub, the docs pages and every other source.
Sources with revenue
05Numbers worth watching
- Renewals
- Sponsor-tier renewals by first source, the income a maintainer can count on.
- AI crawler requests
- AI crawler requests per docs page, counted apart from people.
- Visitors from AI assistants
- Visitors sent by AI assistants and the sponsorships behind them.
- Scroll depth
- How far sponsors scroll through docs pages compared with other readers.
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
- Next.jsOn a Next.js docs site, add the tag to the root layout and the crawler snippet to middleware.
- PolarPass the visitor's id in the Polar checkout's metadata from the sponsor page, so each cycle links with high confidence.
- Link the README's sponsor badge to a sponsor page on your docs site with UTM tags, rather than straight to checkout.
08Questions
We take sponsorships on GitHub Sponsors and Polar. What's read?
Polar, and Stripe if you use it. GitHub Sponsors isn't read.
Will Tally count developers who block trackers?
No. Visits a blocker stops aren't counted; their payments still arrive from Polar or Stripe and show as unlinked.
Can I query sponsorship numbers from the terminal?
Yes, through the command line, or the REST API and the MCP server for an AI assistant.