Theme

Start for free

Developer tools

For API products: how long from an API key to the first paid invoice, and which docs got them there.

An API is sold to developers who sign up, get a key, make test calls and pay once requests run past the free allowance or a prepaid balance. Tally ties each invoice and top-up to the visits behind it, from the docs page that answered the first question to the pricing page read just before paying.

Start for free

14 days free, no card needed.

01How they sell

  • UsageMetered billing per request, record or credit, invoiced monthly in arrears; a customer's invoices grow with their traffic.
  • One-offPrepaid credit packs bought up front and topped up when the balance runs low.
  • SubscriptionMonthly tiers with a request allowance and overage above it.

02Payments it reads

  • StripeMetered subscriptions and credit top-ups through Stripe; each usage invoice is read and follows the first payment's link.
  • PolarAPI products bill metered usage through Polar, whose metered subscription cycles and orders are read.
  • PaddleChosen by APIs sold to companies worldwide with tax handled; transactions and renewals are read.

What Tally can't read

  • Requests, latency and errors on your API aren't read; only what they are billed as is.
  • Subscriptions sold through an API marketplace that bills developers itself aren't read.
  • Usage within a free allowance produces no payment, so it never shows as revenue.

03Where buyers come from

  • Docs and reference pagesDevelopers searching how to make one specific call land on a reference page, which can be the first page they see.
  • SDK repositoriesYour SDKs' READMEs send developers from GitHub to the docs and sign-up.
  • Tutorials and sample appsPosts that build something real with your API send developers who copy the code.
  • AI assistantsCoding assistants suggest APIs by name, and those developers arrive in the AI channel.
  • Developer forumsThreads asking which API to use for a task send developers who compare pricing pages.

04What Tally answers

  1. How many developers who create a key go on to pay?

    Send tally('key_created') when a key is made; the goals view counts the visitors who did it, how many converted and their revenue, which is the activation rate in money.

    Goals and funnels
  2. Which docs pages do paying developers read?

    What they read sets buyers' engaged time and scroll depth per page against everyone else's, so the reference pages paying developers dwell on stand out from the ones only skimmed.

    What they read
  3. Do prepaid top-ups come back from the same channels?

    Lifetime value by first source counts each customer's top-ups and invoices with the repeat rate, so channels whose developers keep topping up rank by it.

    Lifetime value
  4. Which SDK's page brings customers?

    The page breakdown lists each SDK and quickstart page with visitors and the revenue credited to the developers who landed there.

    Sources with revenue
  5. Are AI crawlers fetching our API reference?

    Requests from AI crawlers are counted per page, crawler and operator in a view of their own; a server snippet for Express, Next.js middleware or Cloudflare Workers reports them, since they rarely execute the tag.

    AI crawlers

05Numbers worth watching

Repeat rate
The share of customers who paid more than once, which top-ups and monthly invoices both raise.
Lifetime value by first source
Lifetime revenue by first source; the first invoice of a metered API says little about the account.
Goal conversion
The share of visitors who create a key, the step before any usage is billed.
AI crawler requests
AI crawler requests on reference pages, a sign of which docs assistants are learning your API from.

06An example

Example

Reading time

38s

median per pageview

Scroll depth

59%

average depth, of 27,216 views measured

Read to the end

27%

of measured views reached 90% or more

What they read

29,264 pageviews · last 30 days

Open a page to see how far down people read it, and how buyers read it before paying.

  1. /pricing5,526 views78% scrolled on average58s reading time, median

    58s

    reading time, median per view

    78%

    scrolled, on average

    5,526 views · 5,194 with a measured depth

    How far down they read

    Share of measured views that scrolled at least this far

    1. 25% — reached a quarter of the page:95%
    2. 50% — reached half of the page:84%
    3. 75% — reached three quarters of the page:69%
    4. 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,342 views · 3,815 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.

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,216 of 29,264 pageviews have a measured depth.

Fig. 1What they read on the example site, buyers against everyone else. For an API product, look at the reference and quickstart pages: the ones buyers spend longest on are where integration happens.

07Setting up

  1. Next.jsIf the docs are a Next.js app, put the tag in the root layout and add the middleware snippet, so AI crawlers on reference pages are counted.
  2. StripePass tally_visitor_id in the metadata of the Checkout Session that saves the card or buys the first credit pack.
  3. Call tally('identify', { email }) when a developer signs up, so a first invoice generated weeks later by usage can link by email.

08Questions

  • Our first invoice comes a month after sign-up. Is it still linked?

    Yes, if the checkout that saved the card carried the visitor's id, or the email matches an identified visitor. Credit goes to the last visit that didn't come direct before that payment.

  • Are developers on the free allowance counted?

    As visitors, yes; as customers, only once they pay. Their goals, such as a key created, still show in the goals view.

  • Can our billing scripts read these numbers?

    The REST API serves them to scripts, the command line to a terminal, and the MCP server to an AI assistant.