Use case · Online courses
Analytics for online courses: which channels sell enrollments
Updated
Course businesses sell in two modes: launches (a cart-open window with a burst of traffic and email) and evergreen funnels (lead magnet → email sequence → sales page). Both depend on knowing which content, platform and campaign actually produces buyers, and both are distorted by refunds if you don't net them out.
VisitTrack attributes sales when your checkout runs on Stripe, Lemon Squeezy, Polar, Paddle or Razorpay, subtracts refunds (including partial ones) when you subscribe to the refund event, and records how many days and visits each buyer took. If your course platform runs its own checkout, see the honest limits below.
The course metrics that matter
1.Net revenue by channel
Sales minus refunds per referrer and campaign. A channel with a high refund rate is buying regret, not students.
2.Sales page conversion rate
Purchases divided by sales-page visitors, per traffic source. Under 1% from warm email traffic usually means the page, not the audience.
3.Lead magnet opt-in rate and opt-in-to-buyer rate
Which free resource brings people who later buy. Some lead magnets grow the list and never sell.
4.Days and visits to purchase
Courses are considered purchases. If buyers take 12 days and 5 visits, your sequence and retargeting need to last at least that long.
5.Buyer geography
Countries per sale inform regional pricing and live-session times.
Questions course creators ask
- Which YouTube video or podcast sold the most seats?
- Give each one a UTM campaign or a vanity path; the Revenue tab shows attributed sales per campaign and landing page.
- How did this launch compare to the last one?
- Compare the cart-open windows with custom date ranges: visitors, sales-page conversion, revenue and refunds.
- Is the webinar worth running?
- Make webinar registration an event and build a funnel: registration → sales page →
payment_completed. - What did refunds cost us?
- With the refund webhook connected, refunds are subtracted from the original payment, so channel revenue is already net.
How to set up course analytics with VisitTrack
Track the lead magnet
Fire
signup(or a specific name such aslead_magnet) when the opt-in succeeds, or adddata-vt-goalto the button.<button type="submit" data-vt-goal="lead_magnet">Send me the free guide</button>Connect checkout and refunds
Pass the visitor id into Stripe Checkout, Lemon Squeezy, Polar, Paddle or Razorpay and subscribe to both the payment and refund events. See revenue attribution.
Build the launch funnel
lead_magnet→/sales(exact path) →payment_completed, with a window matching your cart-open period.If your course platform hosts checkout
Platforms that run their own checkout don't send VisitTrack a payment webhook. Track up to the "Enroll" click with
data-vt-goal, and send purchases from the platform's webhook (if it has one) as server events — or move checkout to a supported provider.
Example: a cohort course's spring launch
A $399 course sold through Stripe Checkout; one-week cart-open window.
| Metric | Value | What it tells you |
|---|---|---|
| Sales-page visitors (launch week) | 6,300 | 52% from the email list |
| Purchases | 142 | 2.3% conversion, $56,658 gross |
| Refunds | 9 ($3,591) | Net revenue $53,067 |
| Email (utm_medium=email) | $37,100 net | 4.1% sales-page conversion |
| YouTube launch video | 1,140 visitors, $8,780 | Best non-email channel per visitor |
| Median days to purchase | 11 days | Most buyers first visited during the free workshop |
Illustrative numbers for a typical site of this kind, not real customer data.
The free workshop two weeks before cart-open is where buyers start — protect it. YouTube is worth a second launch video; paid social, at 0.4% conversion with three of the nine refunds, isn't.
VisitTrack vs course-platform analytics and GA4
Third-party details as of October 2026; course platforms vary widely.
| VisitTrack | Course platform analytics | GA4 | |
|---|---|---|---|
| Sales and students | Attributed payments from supported providers | Authoritative for their own checkout | Purchase events you send |
| Where buyers came from | First-touch referrer, campaign, landing page; five models | Often coupon or affiliate based | Yes, with setup |
| Refunds | Subtracted automatically via webhook | Yes | Refund events you send |
| Content and blog analytics | Yes, with Search Console | Usually not | Yes |
| Cookie banner in the EU | Not needed in cookieless mode | Platform-dependent | Typically needed |
If your course platform already reports sales by source well enough, VisitTrack's value is the content side — which posts, videos and pages start buying journeys. See VisitTrack vs Google Analytics.
What VisitTrack costs for a course business
Launch weeks spike; event-based pricing means the spike never breaks tracking.
| Profile | Events / month | Plan | Price | Notes |
|---|---|---|---|---|
| First course | ~9,000 | Up to 10k events/mo | $5/mo or $50/yr | Sales page + small blog |
| Established creator | ~85,000 | Up to 100k events/mo | $19/mo or $190/yr | Blog, lead magnets, two launches a year |
| Course company | ~450,000 | Up to 500k events/mo | $39/mo or $390/yr | Several courses and a big content site |
Every feature is on every plan; the price only follows monthly events (pageviews, custom events and payments, counted across all your sites). Bot and AI-crawler hits and session replays are never billed. Yearly billing is ten months' price for twelve, every plan starts with a 14-day free trial with no card, and there's a one-time lifetime deal from $59.
Frequently asked questions
How do I track which channel sells my online course?
Pass the visitor id into your checkout (Stripe, Lemon Squeezy, Polar, Paddle or Razorpay) and connect the webhook. Each sale then shows the referrer, campaign and landing page of the buyer's first visit.
Does VisitTrack work with Teachable, Kajabi or Thinkific?
Traffic and clicks on pages where you can add the script tag are tracked, but those platforms' own checkouts aren't a native revenue source. Send purchases as server events from the platform's webhook if it offers one, or sell through a supported provider.
Are refunds subtracted from attributed revenue?
Yes, when you subscribe to the provider's refund event. Partial refunds are subtracted too, matched to the original payment.
Can I measure a launch versus evergreen sales?
Yes. Use custom date ranges for the cart-open window and a separate UTM campaign for evergreen traffic, then compare revenue per visitor.
How do I track webinar or workshop registrations?
Send a custom event when registration succeeds (or use data-vt-goal on the button) and use it as the first step of a funnel ending in payment_completed.
Related
See which channels actually bring paying customers
VisitTrack is cookie-free analytics with revenue attribution built in. One script tag, no consent banner, live in two minutes. 14 days free, no card required.