Theme

Start for free

Software as a service

For analytics and BI software: which docs and posts bring teams whose usage grows.

Analytics and BI products are evaluated by technical people who read the docs, connect a data source and run a proof of concept before anyone pays. Tally ties each subscription and usage invoice to the visits behind it, so you can see which docs, posts and communities start the evaluations that become revenue.

Start for free

14 days free, no card needed.

01How they sell

  • UsageBilled by events, rows, queries or compute above an allowance; an account's invoices climb as its data grows, with no new sale.
  • SubscriptionSeat or tier plans for dashboards and sharing, monthly or annual, often alongside the usage charge.
  • FreemiumA free tier or an open-source edition that people self-host or try on sample data before connecting their own.

02Payments it reads

  • StripeMetered billing on Stripe subscriptions; each usage invoice is read and keeps the first payment's source.
  • PolarDeveloper-first analytics products bill seats and metered usage through Polar, whose subscription cycles, metered ones included, are read.
  • PaddlePicked for selling to companies worldwide with tax handled by a merchant of record; transactions and renewals are read.

What Tally can't read

  • The warehouse and compute bills your customers pay their cloud provider aren't read; only what they pay you is.
  • Teams running the open-source edition on their own servers pay you nothing, so they appear as visitors but never as revenue.
  • Enterprise agreements bought through a cloud marketplace are billed there and aren't read.

03Where buyers come from

  • Docs searchEngineers search for how to do one thing and land on a docs page, which can be both the first and the last page a buyer sees.
  • Hacker News and data communitiesTechnical posts and launches draw careful readers who evaluate later rather than buying on the spot.
  • GitHubThe open-source edition's repository sends visitors from its README to the cloud pricing page.
  • Conference talksA talk sends people who type the product's name afterwards; Readable Direct counts them as typed rather than unknown.
  • AI assistantsEngineers ask assistants how to answer a data question and get pointed at tools; those visits have their own channel.

04What Tally answers

  1. Do docs readers become paying teams?

    What they read gives engaged time and scroll depth per page for buyers and for everyone else; docs pages that buyers spend real time on are the ones carrying the evaluation.

    What they read
  2. How long does an evaluation take, from first visit to first invoice?

    Path to purchase gives the median time and visits from first visit to first payment, with a histogram of the spread; a proof of concept can show as a long, steady middle rather than a spike on day one.

    Path to purchase
  3. Which channel brings accounts whose usage keeps growing?

    Lifetime value by first source totals every usage invoice since the first, so a source whose accounts double their data stands above one whose accounts sit at the minimum.

    Lifetime value
  4. Are AI assistants sending engineers to us?

    Visits from ChatGPT, Claude, Perplexity and other assistants have their own channel in every breakdown, with the revenue behind them and the pages they landed on.

    Sources with revenue
  5. Why are some usage invoices unlinked?

    Coverage lists each reason a payment isn't linked, such as a subscription your backend created without the visitor's id, and gives the snippet that fixes it; usage invoices then follow whatever the first payment linked to.

    Coverage

05Numbers worth watching

Median time to buy
The median time from first visit to first payment, which for a product that needs a data connection is the length of the evaluation.
Lifetime value by first source
Lifetime revenue by first source; with usage billing, it is the only figure that shows what an account became.
Visitors from AI assistants
Visits arriving from AI assistants, which can send engineers straight to a docs page.
Engaged time
Time actually spent on docs and guides, counted only while the tab is in view and the reader is active.

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 analytics software, look at the docs: pages where buyers stay far longer than others are part of the evaluation.

07Setting up

  1. Next.jsIf the docs and marketing site are one Next.js app, add the tag in the root layout, so a visitor's path runs from a docs page to pricing.
  2. PolarPass the visitor's id in the Polar checkout's metadata when a team starts a paid plan; metered cycles then keep the source.
  3. StripeWith Stripe, set the visitor's id in the Checkout Session's metadata and subscription_data, and later usage invoices follow it.
  4. Call tally('identify', { email }) when someone creates a workspace, so a payment made later with that email links even from another browser.

08Questions

  • Self-hosters never pay us. Do they skew the numbers?

    They count as visitors, which lowers conversion and revenue per visitor on the docs they read. Compare sources by revenue and lifetime value too, which only count people who paid.

  • Do usage invoices count as renewals?

    Each invoice on the subscription after the first takes the first payment's link, so usage growth is credited to the source that won the account.

  • Can our data team query these numbers directly?

    Yes, through the REST API or the command line, and an AI assistant can query them through the MCP server.