What is LifterLMS plugin?
LifterLMS is a powerful open-source WordPress LMS plugin with a free core and a flexible add-on ecosystem for expanding functionality. Unlike LearnDash (no free version) and Tutor LMS (freemium), LifterLMS makes its complete course builder, quiz engine, student management, and gamification system available free of charge. The business model is add-on based: additional functionality — payment gateways, advanced reporting, private coaching, Zoom integration, MailChimp sync — is purchased individually or in bundled packages.
LifterLMS is particularly well-regarded for its built-in membership and engagement tools. Achievements, badges, gamification, student messaging, and course review systems are included without third-party plugins. Learning paths (multi-course sequences that students must progress through in order) are a core feature, making LifterLMS effective for coaches who want structured curriculum tracks beyond single-course enrollment. The private student notes feature and 1-on-1 coaching session management make it one of the few LMS platforms designed specifically for coaching business workflows.
Bundled add-on packages start at approximately $199/year (Universe Bundle) and scale to $749/year (Infinity Bundle). Individual add-ons (PayPal, Stripe, MailChimp, etc.) are also available separately. For businesses that need a broad set of integrations, the bundle pricing is more economical than individual purchases. For solo educators who need only basic course delivery, the free version with a single Stripe add-on is a cost-effective starting point compared to LearnDash’s $199/year base requirement.
Need Help With LifterLMS Setup, Troubleshooting, or Customization?
Need help with LifterLMS? Whether you are dealing with errors, broken functionality, styling problems, plugin conflicts, or advanced customization, we can help you fix the issue and get the plugin working properly on your WordPress site.
Get LifterLMS Expert HelpKey Features
- Free core: course builder, quizzes, assignments, student management
- Learning paths: multi-course sequences with prerequisites
- Memberships with content restriction
- Achievements, badges, and gamification (free)
- Private student notes and coaching tools (free)
Pros & Cons
Pros
- Free core is genuinely functional — full course builder, gamification, and membership features without payment
- Best coaching and learning path features of any major WordPress LMS
- Open-source with active community development
Cons
- Add-on bundles required for payment gateways — even Stripe requires a paid add-on on top of the free core
- Bundle pricing ($199–749/year) is comparable to LearnDash despite the free core narrative
Free vs Premium
Free: full course builder, quizzes, gamification, memberships, student management. Add-ons: individual purchases or bundle packages — Universe Bundle ($199/year), Infinity Bundle ($749/year). All bundles are per-site.
Common Problems & Fixes
LifterLMS Stripe payments are failing at checkout — students see a payment error. How do I diagnose this?
Check the LifterLMS → Settings → Payment → Stripe tab for Stripe connection status. Ensure both live publishable key and secret key are entered (not test keys in production). If the connection shows valid but payments fail: (1) in Stripe Dashboard → Events, find the failed payment attempt and read the decline reason — insufficient funds, card authentication required (3DS), or risk flags are common; (2) enable Stripe’s 3D Secure handling in LifterLMS Stripe settings if European cards are failing; (3) verify SSL is active on checkout pages — Stripe requires HTTPS for live transactions.
LifterLMS learning path prerequisites are not enforcing — students can access later courses before completing earlier ones. How do I fix this?
Learning path prerequisites in LifterLMS require careful configuration. Go to the course that should be restricted and look at its Enrollment Prerequisites settings. Add the prerequisite course and set the required completion status (e.g., “100% complete”). Prerequisites only restrict enrollment; if students are enrolled directly (bypassing the learning path), the lock does not apply. Verify student enrollments in LifterLMS → Reporting → Students — check whether the restricted course enrollment was created manually or through an automated process bypassing prerequisites.
LifterLMS achievements and badges are not being awarded after course completion — how do I verify the trigger configuration?
Achievements in LifterLMS are configured in LifterLMS → Engagements → Achievements. Each achievement has a trigger (course completion, lesson completion, quiz passed, etc.) and a qualifying event (specific course, quiz, or any course). If achievements are not triggering: (1) verify the trigger matches the exact action the student performed — “Course Completed” vs “Lesson Completed” are different triggers; (2) check that the qualifying event is set to the correct course or “Any” — a mismatch means the trigger fires but the qualifying filter excludes the event; (3) ensure the engagement is Published, not Draft; (4) use LifterLMS → Reporting → Students → [student] → Engagements to see what has been awarded to specific students for debugging.
Customization & Developer Notes
How do I set up a private coaching session booking with LifterLMS?
LifterLMS supports private coaching through its Private Coaching feature (included free). Enable private coaching on a course by going to the course settings → Instructors and enabling “Enable Private Coaching.” Students enrolled in the course can then send private notes to instructors through the student dashboard. For calendar-based session booking (scheduling specific coaching calls), integrate LifterLMS with a booking plugin like Amelia or Simply Schedule Appointments via the LifterLMS Bookings add-on or a manual WooCommerce product → enrollment workflow.
How do I set up membership-restricted course access with LifterLMS?
Go to LifterLMS → Memberships → Add New. Create membership plans with different access levels (e.g., Basic, Pro). Under Membership → Access Plans, set the pricing (one-time or recurring). In each course’s settings, go to Enrollment → Membership Required and select which membership plans grant access to that course. Students who purchase a membership are automatically enrolled in all courses included in that membership level. Membership plan pricing can include trial periods, payment plans (installments), and expiration dates.
Frequently Asked Questions
Is LifterLMS free a good starting point without purchasing add-ons?
The free core is functional for course creation, gamification, and student management — but selling paid courses requires a payment gateway add-on (Stripe or PayPal, each sold separately or in bundles). For purely free courses or sites using WooCommerce for payments, the free core is genuinely sufficient. For course businesses that need payment processing, budget at minimum for the Stripe or PayPal add-on on top of the free plugin.
Does LifterLMS support video hosting or do I need an external video platform?
LifterLMS does not host video — it embeds video from external sources. Supported video sources include YouTube, Vimeo, Wistia, and direct file URLs. For professional course delivery, Vimeo Pro or Wistia are recommended over YouTube — they support private/unlisted videos, prevent public search indexing of course content, and provide bandwidth analytics. Self-hosted video via a CDN (files uploaded to S3 and served via CloudFront) is also fully supported using direct .mp4 URLs.
Can LifterLMS break after updates?
Yes, that can happen, especially on older sites with many plugins. This usually happens when the plugin, theme, and add-ons are updated out of sequence. In most cases, testing on staging catches the issue before it reaches the live site. From experience, backups and changelog reviews save a lot of cleanup time.
What should I check before installing LifterLMS?
Start by checking whether another plugin already does the same job. In most cases, overlap is what creates avoidable conflicts and performance issues. A common issue is installing a plugin because it looks convenient without checking the stack first. From experience, a short compatibility review avoids most of the pain later.