Self-hosted Teachable analytics

Your school's numbers, on your own server

TeachMetrics syncs your Teachable school's full history into a database you control, stays current through webhooks, and turns it into dashboards built for running a course business: revenue, students, cohorts, discounts, and an AI you can question.

Works with Teachable Growth, Advanced, or Unlimited plans. Founding pricing, 30-day money-back guarantee.

TeachMetrics revenue analytics dashboard: total revenue, transactions, average order value, and a monthly revenue timeline
Demo data from a fictional school
Analytics pages 11
Typical install 10 minutes, wizard included
Third-party requests from this site 0 open your devtools
What you get

Dashboards that answer your questions

See

Every metric that runs the business

Revenue trends and price-point performance. Cohort retention. Student progress, completion velocity, and who's at risk of dropping out. Which coupons acquire students and which just discount them.

Act

Email, AI, and exports built in

Send cohort email campaigns from your own SMTP. Ask questions in plain English with a bring-your-own-provider AI that only ever sees aggregates. Export any table to CSV.

Stay current

Webhooks, because it's self-hosted

TeachMetrics receives Teachable webhooks directly. Enrollments, purchases, progress, and refunds land the moment they happen, with scheduled reconciliation as the safety net.

Trust, with receipts

Claims you can verify

No faith required: every claim links to the place you can check it.

Your data never touches our servers. The app runs on your host, syncs directly with Teachable, and stores everything in your own MySQL database.

Privacy policy →

Versions you receive keep working, forever. A lapsed subscription ends updates and support, never the software. The license says so in its own headlined section.

License, §3 →

No kill switch, in writing. The license warrants there is no remote disabling and no license-enforcement code. You get the source, so you can check.

License, §9a →

Telemetry is four fields with an off switch. A daily update check sends a license ID, a random install ID, a version, and a timestamp. Nothing about your school or your students is ever part of it.

The exact table →

Secrets are encrypted on your server. Your Teachable API key is stored AES-256-GCM encrypted, on your infrastructure. We never see or store your credentials.

How it's handled →

Security advisories are published openly. If a vulnerability is ever found, the advisory appears at a designated public page, and your TeachMetrics dashboard tells you.

Advisories page →
Pricing

Annual, per school

Install it on your own web host, or have us run it for you.

Self-Hosted

The download: full source, your server

Founding price $100/ site / year
  • The full app, source included, with a ten-minute install wizard
  • All analytics, email campaigns, exports, and AI insights
  • Receives Teachable webhooks, always current
  • A year of updates and security patches
  • Bring your own AI provider
  • Versions you receive are yours to keep running
Buy Now

Managed Hosting

We install, host, update & support it

Founding price $500/ site / year
  • Everything in Self-Hosted
  • We install and host, zero setup
  • Dedicated database and backups
  • Your own teachmetrics.co subdomain
  • Always on the latest secure version
  • Starts with a conversation, not a checkout
Contact Us to Get Started

Founding pricing • 30-day money-back guarantee • Need something custom? Talk to us.

From the founder
I built TeachMetrics for my own Teachable school first. The real-time webhooks let me catch students struggling before they drop out; the cohort pages told me which lessons were losing them. Everything on this page is something I run in production for my own students, which is the standard I think you should hold your tools to.
Jamie Ontiveros, founder — runs TeachMetrics on his own school

Own your school's analytics

Ten minutes from download to dashboard. Your server, your data, your numbers.

Founding pricing • 30-day money-back guarantee