Theme

Start for free

Courses and teaching

For trainers: which posts sell the program and which buyers stay on.

An online trainer sells training programs, a monthly membership with new workouts and sometimes remote coaching, mostly to people who found them on social media. Tally ties each purchase and renewal to the visit behind it, so you can see which posts bring buyers who keep training with you.

Start for free

14 days free, no card needed.

01How they sell

  • One-offFixed-length programs sold once, such as an eight- or twelve-week plan, often relaunched at the turn of the year.
  • SubscriptionA monthly membership with new workouts each week, and remote coaching billed monthly at a higher price.

02Payments it reads

  • StripeMemberships and coaching through Stripe Checkout or Payment Links from the trainer's site, with renewals and cancellations' refunds read.
  • Lemon SqueezyProgram PDFs and video bundles sold as Lemon Squeezy products, linked by the checkout's custom data.

What Tally can't read

  • Subscriptions bought inside a fitness app through the App Store or Google Play aren't read.
  • Programs sold on a coaching platform's own checkout aren't read; only your connected provider is.
  • Workouts done and progress logged in an app aren't counted; Tally sees your website's visits and the payments only.

03Where buyers come from

  • InstagramReels and stories send buyers through the in-app browser, often on the same day as the post; Readable Direct names them.
  • TikTokA clip can send a large burst from TikTok's in-app browser, mostly phone visitors, few of whom buy on the first visit.
  • YouTubeFull follow-along workouts build trust over weeks before viewers buy a program from the description link.
  • EmailThe list built from a free workout closes many relaunch sales; tag each send to see which one did.

04What Tally answers

  1. Why does most of my traffic show as Direct?

    Instagram and TikTok open links in their own in-app browsers, which often hide the referrer. Readable Direct reads those visits as in-app browsers, apart from typed, shared and checkout-return visits.

    Readable Direct
  2. Do program buyers move on to the membership?

    Lifetime value counts every purchase and renewal by a customer under their first source, with repeat rate, so you can see whether program buyers become members.

    Lifetime value
  3. When do people buy a new program?

    Peak hours shows sales by weekday and hour over any period, so a January relaunch can be compared with a summer one; it names the busiest three hours only when there are enough sales to support it.

    Peak hours
  4. Did that viral reel actually sell programs?

    Each sale's receipt lists the buyer's visits, the one credited and how the payment was tied to the browser, so the sales a reel brought can be counted one by one rather than read off a spike.

    Receipts
  5. Which pages did a member see before joining?

    Open a member in the visitor list and their journey shows each visit with its source, the pages seen and engaged time, from the first clip they followed to the checkout.

    Visitors and journeys

05Numbers worth watching

Renewals
Membership renewals by first source; a channel whose members cancel after a month costs more effort than its first sales suggest.
Revenue per visitor
Revenue per visitor by source keeps a TikTok burst in proportion with a smaller, steadier YouTube audience.
Refunds and chargebacks
Refunds and chargebacks by source, which show a promotion that sold to people who weren't ready to train.
Repeat rate
The share of buyers who bought again, a second program or the membership, by first source.

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 trainer, see whether the visit before the purchase came from the same app as the first one.

07Setting up

  1. Any HTML siteAdd the tag to the head of your site, including the link-in-bio landing page if it's on your own domain.
  2. StripePayment Links tag themselves in cookie mode; for Checkout your code creates, put the visitor's id in metadata and subscription_data so renewals keep it.
  3. Use a separate UTM-tagged link for each platform's bio, so visits that arrive without a referrer still carry their campaign.

08Questions

  • My membership runs in an app. Will Tally see it?

    Only if members pay on your website through your own Stripe, Paddle, Lemon Squeezy or Polar account. In-app purchases through Apple or Google never reach your provider.

  • Does Tally record anything about clients' health or workouts?

    No. It counts visits to your site, the pages seen and the payments behind them. It receives nothing from training apps, and from your forms only the goals and identify calls your site chooses to send.

  • A buyer cancels in the first month. How does that show?

    A cancellation stops future renewals; if you refund, the refund is counted against the payment it reverses and the source that earned it.