AI products
For AI coding tools: which threads, READMEs and docs pages bring paying developers.
An AI coding tool is tried by one developer in an editor or terminal, paid for on a personal card, and later bought for a team. Tally links each plan and usage bill to the visit behind it, from a GitHub README to a docs page, so you can see which channels bring developers whose spending grows.
14 days free, no card needed.
01How they sell
- SubscriptionA personal plan first, then a team plan billed per seat monthly or yearly; the team purchase is a new payment with a source of its own.
- UsageRequests or tokens beyond the plan, metered and billed with the cycle, or a bring-your-own-key option that leaves model costs with the user.
- FreemiumA limited tier inside the editor whose upgrade link opens your pricing page in the browser.
02Payments it reads
- StripePer-seat subscriptions with metered add-ons; seat changes produce invoices on the same subscription, which are read.
- PolarPopular with developer tools for usage-based and subscription plans; orders, cycles and metered charges are read.
- PaddleUsed when companies abroad buy seats and want a merchant of record on the invoice; transactions and renewals are read.
What Tally can't read
- Installs from an editor's extension marketplace aren't read; only visits to your site and payments to your provider are.
- Requests, tokens and accepted completions aren't read, so usage shows up only as the bill it produces.
- Enterprise contracts paid by wire transfer outside a connected provider aren't read.
03Where buyers come from
- GitHubA link in the README sends developers who already starred the repo; github.com as referrer shows how many of them end up paying.
- Developer YouTubeLong screen-recorded coding sessions send viewers who install first and visit your pricing page days later.
- Docs from searchSearches for an error or a how-to land on docs pages; with the tag on the docs, those visits become first sources for later buyers.
- Inside the editorUpgrade links opened from an editor or terminal arrive with no referrer; a UTM on that link gives them a name.
04What Tally answers
Why do so many paying developers show as Direct?
Links opened from an editor or terminal carry no referrer. Readable Direct separates returns from checkout and shared links from typed visits, and a UTM on the in-editor upgrade link moves those visits into a campaign of their own.
Readable DirectDo developers from GitHub turn into team plans?
Lifetime value groups customers by first source with renewals and repeat rate. When the same customer adds a team plan, its payments add to that first source's lifetime revenue.
Lifetime valueDo buyers read the docs before paying?
What they read compares engaged time and scroll depth per page for buyers and everyone else. If buyers spend their time on the setup guide while others bounce from it, the guide is selling.
What they readCan I query revenue by source from the terminal?
Yes. Tally has a command line, a REST API and an MCP server, so you can pull sales by source into a script or ask an assistant inside your editor.
API, CLI and MCPWhy are some team invoices unlinked?
Coverage gives the reason for each payment with no visitor, such as an invoice to an email your site never identified, and shows the snippet that links it.
Coverage
05Numbers worth watching
- Lifetime value by first source
- Average lifetime revenue by first source; for a coding tool it rises when personal plans in a channel turn into seats.
- Visitors from AI assistants
- Developers asking an assistant which coding tool to use arrive in the AI channel; its revenue shows whether those answers sell.
- Visits before buying
- How many visits developers make before paying; docs-heavy evaluation pushes it up, and that's fine if they convert.
06An example
Lifetime value by first source
All time: every payment since 1 Nov 2025. The period above doesn't apply.
| First source | Customers | Lifetime revenue | Average value | Renewals | Repeat rate |
|---|---|---|---|---|---|
| GoogleOrganic Search | 325 | $40,560 | $125 | 845 | 52% |
| ChatGPTAI Assistants | 126 | $21,071 | $167 | 391 | 61% |
| Direct | 178 | $18,216 | $102 | 374 | 44% |
| NewsletterEmail | 94 | $17,362 | $185 | 357 | 69% |
| Hacker NewsOrganic Social | 84 | $11,741 | $140 | 227 | 55% |
| x.comOrganic Social | 115 | $10,190 | $89 | 161 | 33% |
| RedditOrganic Social | 84 | $9,016 | $107 | 160 | 40% |
| PerplexityAI Assistants | 42 | $6,342 | $151 | 101 | 57% |
| Every source | 1,048 | $134,498 | $128 | 2,616 | 51% |
A customer is a visitor linked to a sale, counted under the source of their first visit. Lifetime revenue is net of refunds and chargebacks; repeat rate is the share who paid more than once (a renewal, an upgrade or another purchase). $13,167 from 426 payments not linked to a visitor is in no row.
07Setting up
- Next.jsA docs site on Next.js takes the tag in the root layout, and each docs page then appears in the page breakdown with the revenue behind its readers.
- StripePut tally_visitor_id in the Checkout Session metadata and subscription_data for the personal plan; seat changes on that subscription keep its source.
- Tag the upgrade link inside the editor with utm_source=editor, so those visits stop landing in Direct.
08Questions
Can Tally count installs of our extension?
Not from the marketplace. It counts visits to your site; a click on your install button counts as a click to another site and can also be a goal.
A developer pays personally, then their company buys seats. One customer or two?
Each payment is read as it is. If the company plan is bought under a different email, it's a separate customer, linked by the visit or the identified email on that checkout.
How are refunds for unused seats handled?
A refund is tied to the payment it reverses and to that payment's source, so a team that shrinks takes its revenue off the channel that won it.