Theme

Start for free

Extensions, plugins and apps

For Mac apps sold from your own site: where licence buyers come from.

A Mac app sold direct lives on its website: a download, a trial, then a licence bought through a checkout. Tally ties each licence and upgrade to the visit that brought the buyer, so you can see which reviews, posts and searches sell the app.

Start for free

14 days free, no card needed.

01How they sell

  • One-offA licence bought once, sometimes with paid upgrades for major versions, each a new sale that keeps its own source.
  • SubscriptionA yearly plan for updates or sync, renewing on the date of the first purchase.
  • FreemiumA free download with a time-limited trial or locked features, so the website visit and the purchase can be days apart.

02Payments it reads

  • PaddleLong used by indie Mac developers as merchant of record, handling tax and licences; transactions, upgrades and refunds are read.
  • Lemon SqueezyCheckout links with licence keys; orders and refunds are read, and the checkout's custom data carries the visitor's id.
  • StripeUsed directly by apps that run their own licensing; Checkout and invoices are read.

What Tally can't read

  • Mac App Store purchases aren't read: Apple doesn't send them to any of the four providers.
  • Setapp revenue isn't read, since it's paid out by Setapp rather than through your checkout.
  • Purchases made inside the app with no visit to your site link only by the buyer's email, if your site called identify for them before.

03Where buyers come from

  • Reviews and roundupsA mention in a Mac roundup or a review site can sell for months; its referrer and revenue sit side by side.
  • SearchSearches for a task plus mac bring buyers who compare a few apps, often visiting more than once before buying.
  • Reddit and forumsA thread in a Mac community sends a burst of curious visitors; revenue per visitor shows how many buy.
  • DirectTrial users coming back to buy often type the address; Readable Direct tells those returns apart from shared links.

04What Tally answers

  1. How long does a trial take to become a licence?

    Path to purchase measures the median time and visits from a buyer's first visit to their purchase, which for a downloaded trial includes the days they spent trying it.

    Path to purchase
  2. What is all that Direct traffic?

    Readable Direct splits visits with no referrer into typed or bookmarked, shared links, returns from checkout and in-app browsers, so returning trial users stand apart from links passed around.

    Readable Direct
  3. Which pages lead to a download?

    Count the download button as a goal and the goals view gives its completions, converting visitors and the revenue of those visitors.

    Goals and funnels
  4. Which review actually sold licences?

    Each sale's receipt shows the visits behind it; a buyer who read a review, came back by search and bought shows both visits, with the credited one marked.

    Receipts

05Numbers worth watching

Goal conversion
The share of visitors who download, by source, which separates curious readers from people who try the app.
First-visit buyers
How many buy on their first visit; for a trial-based app this stays low, and a jump can mean returning trial users arrive without a referrer.
Revenue per visitor
Revenue per visitor by source ranks review sites and forums by what they sold, not by how many people they sent.

06An example

Example
  1. Glad HamsterCustomerBerlin, Germany · Desktop · FirefoxRedditOrganic Sociallatest visit: 4 pages/blog/stripe-fees+2/thanks3 visits3m 08s median6m 42s longest$49

    Visits, last 30 days

    Whole journey
    1. RedditOrganic Social
      /blog/stripe-fees/pricing/signup/thanks

      4 pages · 6m 42s engaged · 1 goal$49 credited to this visit

    2. Directtyped or bookmark
      /pricing/docs

      2 pages · 1m 36s engaged

    3. GoogleOrganic Search
      /blog/stripe-fees/

      2 pages · 3m 08s engaged

  2. Cosy CapybaraAustin, United States · Mobile · SafariGoogleOrganic Searchlatest visit: 2 pages//pricing1 visit1m 11s engaged–

    Visits, last 30 days

    Whole journey
    1. GoogleOrganic Search
      //pricing

      2 pages · 1m 11s engaged

  3. Spry BisonToronto, Canada · Desktop · ChromeChatGPTAI Assistantslatest visit: 4 pages/compare+2/docs/api2 visits3m 57s median5m 44s longest–

    Visits, last 30 days

    Whole journey
    1. ChatGPTAI Assistants
      /compare/pricing/docs/docs/api

      4 pages · 5m 44s engaged · 1 outbound click

    2. PerplexityAI Assistants
      /compare

      1 page · 2m 09s engaged

  4. Snug CapybaraCustomerLeeds, United Kingdom · Desktop · EdgeNewsletterEmaillatest visit: 2 pages/changelog/2 visits1m 41s median2m 34s longest$120

    Visits, last 30 days

    Whole journey
    1. NewsletterEmail
      /changelog/

      2 pages · 2m 34s engaged

    2. Directtyped or bookmark
      /

      1 page · 48s engaged

  5. Bubbly LlamaUtrecht, Netherlands · Mobile · Chromex.comOrganic Sociallatest visit: 1 page/blog/launch-week1 visit1m 04s engaged–

    Visits, last 30 days

    Whole journey
    1. x.comOrganic Social
      /blog/launch-week

      1 page · 1m 04s engaged

  6. Velvet PenguinBengaluru, India · Desktop · ChromeHacker NewsOrganic Sociallatest visit: 3 pages/blog/stripe-fees/docs/pricing1 visit4m 56s engaged–

    Visits, last 30 days

    Whole journey
    1. Hacker NewsOrganic Social
      /blog/stripe-fees/docs/pricing

      3 pages · 4m 56s engaged

Fig. 1The visitor list on the example site, with a customer's visits unfolded. For a Mac app, the visit before the purchase is often a return after days of trying.

07Setting up

  1. Any HTML siteAdd the tag to the head of every page of the app's website, including the download and buy pages.
  2. PaddlePass the visitor's id in customData when you open Paddle.js checkout from the buy page.
  3. Mark the download button with data-fast-goal so downloads count as a goal you can compare by source.

08Questions

  • Which of my sales does Tally read?

    The ones that go through Stripe, Paddle, Lemon Squeezy or Polar, which for a Mac app sold direct is usually every licence and upgrade bought from your site. Sales through Apple or a bundle service aren't among them.

  • A buyer purchases from inside the app. Is it linked?

    If the in-app purchase opens your checkout with the visitor's id, yes. Otherwise it can link by email when your site identified that buyer on an earlier visit; if neither, it's counted as unlinked.

  • Are paid upgrades counted separately?

    Yes. A paid upgrade is its own payment, credited to the visit that led to it, and it appears beside the original licence on the customer's row.