Developer tools
For database tools: which engine pages and SQL how-tos bring developers who buy.
Database tools, from desktop SQL clients to schema migration and backup services, are found by developers searching how to do something in Postgres, MySQL or SQLite, and bought as a licence or a team plan. Tally ties each purchase to the visits behind it and shows revenue by the engine page a buyer landed on.
14 days free, no card needed.
01How they sell
- One-offA desktop licence per developer, with paid upgrades for major versions.
- SubscriptionYearly plans for updates, or team plans for a web-based SQL editor, migrations or backups.
- UsageBackup and migration services priced by database size or number of runs.
02Payments it reads
- PaddleDesktop clients for Mac, Windows and Linux sell licences through Paddle as merchant of record; upgrades and refunds are read.
- StripeTeam plans and usage for web-based tools through Stripe; renewals and refunds are read.
- Lemon SqueezyIndie database tools sell licence keys through Lemon Squeezy, linked by checkout custom data.
What Tally can't read
- Copies sold through the Mac App Store or Setapp aren't read.
- Plugins sold through the JetBrains Marketplace are billed by JetBrains and aren't read.
- Queries, connections and schemas inside the tool are never read.
03Where buyers come from
- Engine-specific searchesSearches for a Postgres GUI, a MySQL client or an SQLite viewer land on pages for that engine.
- SQL how-to postsPosts on one query or one migration bring developers mid-task who may want a better tool for it.
- Developer communitiesThreads asking which database client people use send developers comparing a few.
- Comparison pagesDevelopers leaving a slow or abandoned client compare features and price.
- Hosting partnersManaged database providers link to tools from their own docs.
04What Tally answers
Which database engine's page sells?
The page breakdown puts revenue beside visitors for each landing page, so the Postgres, MySQL and SQLite pages can be ranked by licences sold.
Sources with revenueDo readers of SQL how-to posts buy?
Engaged time and scroll depth per page, buyers against everyone else, show whether how-to readers who go on to buy read the whole post or jump to the download.
What they readDoes one developer's purchase turn into a team purchase?
Open the customer in the visitor list: their journey shows each visit and payment, so a personal licence followed by a team plan months later sits on one row if the same email or browser paid.
Visitors and journeysDo upgrade buyers come from the same channels as new ones?
Lifetime value by first source counts major-version upgrades as further payments, with the repeat rate, so channels whose buyers upgrade again rank by it.
Lifetime valueHow many trial downloads turn into licences?
Count the download as a goal and read its converting visitors and their revenue in the goals view; a platform property on the goal separates Mac from Windows and Linux.
Goals and funnels
05Numbers worth watching
- Repeat rate
- The share of customers who paid more than once, which paid major-version upgrades drive.
- Scroll depth
- How far readers get down SQL how-to posts, buyers against the rest.
- Revenue by source
- Revenue by engine page, community and partner docs.
- Median time to buy
- The median time from first visit to licence, which covers the trial.
06An 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.
- /8,756 views52% scrolled on average21s reading time, median
- /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
- 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,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.
- /docs2,727 views47% scrolled on average1m 12s reading time, median
- /blog/stripe-fees2,237 views64% scrolled on average2m 34s reading time, median
- /compare1,184 views71% scrolled on average49s reading time, median
- /changelog861 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,216 of 29,264 pageviews have a measured depth.
07Setting up
- Any HTML siteAdd the tag to the website, the engine pages and the download page.
- PaddlePass the visitor's id in customData when Paddle.js checkout opens from the buy page.
- Send tally('download', { platform }) from the download buttons, so trials started on the site are goals.
08Questions
We sell through Setapp too. Is that read?
No. Setapp pays you directly, outside your connected provider. Licences bought through your own checkout are read.
Does a licence bought inside the app link to website visits?
Only through the buyer's email, when your site identified them, unless the purchase goes through your buy page in the browser, where the visitor's id is added.
Is a major-version upgrade counted as a new customer?
No. It's a new payment by an existing customer, with its own receipt and credited visit, and it raises their source's repeat rate.