Courses and teaching
Which channels bring language students who keep booking.
An independent language tutor sells trial lessons, packs of lessons and group conversation classes to students spread across many countries. Tally ties each pack and renewal to the visit behind it, so you can see where students come from and which of them keep studying.
14 days free, no card needed.
01How they sell
- One-offA trial lesson, then packs of five or ten lessons, each pack a new purchase from a returning student.
- SubscriptionA weekly-lesson plan billed monthly, or a membership for group conversation classes and recorded material.
02Payments it reads
- StripeLesson packs and monthly plans through Stripe Checkout or Payment Links, often linked from a booking page.
- Lemon SqueezySelf-study courses and vocabulary workbooks sold as Lemon Squeezy products beside the live lessons.
What Tally can't read
- Lessons booked on italki or Preply aren't read; those platforms take the payment.
- Payments by bank transfer, PayPal or a local payment app outside your connected provider aren't read.
- Which lessons a student attends isn't counted; Tally sees your site's visits and the payments, not the video calls.
03Where buyers come from
- YouTubeFree lessons and pronunciation videos bring learners who watch for a while before booking a trial.
- SearchSearches for a tutor in a language, sometimes in the learner's own language, land on the site's lesson pages.
- Instagram and TikTokShort vocabulary clips send learners through in-app browsers, which Readable Direct names rather than hiding.
- Word of mouthStudents share the tutor's link in chats, which shows as shared links in Readable Direct.
04What Tally answers
Which countries do my paying students come from?
The country breakdown puts revenue beside each country, converted to US dollars at the day's ECB rate, so you can see where paying students live, not only where visitors do.
Sources with revenueWhich channel's students buy a second pack?
Lifetime value counts every pack and plan payment under the student's first source, with repeat rate, so a channel whose students stop after the trial stands out.
Lifetime valueHow many visitors book a trial lesson?
Count the trial booking as a goal with data-fast-goal and the goals view gives completions, converting visitors and the revenue they went on to bring.
Goals and funnelsIs word of mouth really growing?
Readable Direct separates shared links from typed or bookmarked visits, returns from checkout and in-app browsers, so a rise in shared links points at students passing your name on.
Readable Direct
05Numbers worth watching
- Repeat rate
- The share of students who bought more than once, by first source: the clearest sign of a channel that brings learners who stay.
- Goal conversion
- Trial bookings over visitors, by source and country.
- Lifetime value by first source
- Average lifetime revenue per student by first source, which tells you whether videos or search bring the longer learners.
06An example
Lifetime value by first source
All time: every payment since 1 Nov 2025. The period above doesn't apply.
| First source | Customers | Lifetime revenue | Average value | Renewals | Repeat rate |
|---|---|---|---|---|---|
| GoogleOrganic Search | 325 | $40,560 | $125 | 845 | 52% |
| ChatGPTAI Assistants | 126 | $21,071 | $167 | 391 | 61% |
| Direct | 178 | $18,216 | $102 | 374 | 44% |
| NewsletterEmail | 94 | $17,362 | $185 | 357 | 69% |
| Hacker NewsOrganic Social | 84 | $11,741 | $140 | 227 | 55% |
| x.comOrganic Social | 115 | $10,190 | $89 | 161 | 33% |
| RedditOrganic Social | 84 | $9,016 | $107 | 160 | 40% |
| PerplexityAI Assistants | 42 | $6,342 | $151 | 101 | 57% |
| Every source | 1,048 | $134,498 | $128 | 2,616 | 51% |
A customer is a visitor linked to a sale, counted under the source of their first visit. Lifetime revenue is net of refunds and chargebacks; repeat rate is the share who paid more than once (a renewal, an upgrade or another purchase). $13,167 from 426 payments not linked to a visitor is in no row.
07Setting up
- WordPressOn a WordPress tutor site, add the tag site-wide so the lesson pages, the booking page and the checkout links all carry it.
- StripePayment Links on the booking page tag themselves in cookie mode; in cookieless mode, send buyers to a success page with ?session_id={CHECKOUT_SESSION_ID}.
- Mark the trial-lesson button with data-fast-goal so trials count by source, even before the student pays for a pack.
08Questions
I teach on italki too. Can Tally combine the two?
No. italki takes the payment, so those lessons aren't read. Tally covers the students who book and pay on your own site.
My students pay in many currencies. How is that shown?
Each payment is converted to US dollars at the ECB rate for its day, without tax, so packs bought in different currencies add up.
Do I need a cookie banner?
In cookieless mode, no cookie is set and a visitor counts once a day. Cookie mode follows returning students for a year but usually needs consent in the EU and UK.