LifterLMS Continuing Education: CE Credits, Time Tracking and Records

How to run accredited continuing education on LifterLMS: proving time spent, assessing learning, issuing certificates with credit hours, tracking expiring credits with the Continuing Education add-on, and keeping records that stand up to an audit.

  • Add as a preferred source on Google
Illustration for “LifterLMS Continuing Education: CE Credits, Time Tracking and Records”

Continuing education has one requirement that ordinary course selling does not: evidence. A licensed professional needs a certificate that shows the credits they earned, and you, as the provider, need records proving that they spent the time, passed the assessment and completed the course. LifterLMS continuing education setups can deliver that evidence, partly in the free core plugin and partly through add-ons.

This article is for CE providers, training companies and the developers who build their sites. It covers the four things every CE program needs (time, assessment, certificates and records), how LifterLMS handles each, what the Continuing Education add-on adds, and where custom work is still required. If you are a membership association selling CE alongside member benefits, also read LifterLMS for associations and CE credits.

Start with your accreditor's rules

Every accrediting body and licensing board sets its own requirements, so begin there, not with the software. Collect the actual rules and turn each one into a requirement you can test. Typical questions:

  • How is seat time measured, and must it be verified?
  • Is a post-test required, with what passing score, and how many attempts?
  • Is a course evaluation required before the certificate is issued?
  • What must appear on the certificate: provider number, course number, credit type, hours, dates?
  • How long must records be kept, and in what form must they be produced on request?
  • Do credits have to be reported to a board or tracking service on the learner's behalf?

The sections below map these onto LifterLMS. Anything left over is a custom requirement.

Proving time spent

LifterLMS core tracks time on lessons. Two settings matter:

  • Enable Minimum Time on a lesson requires students to "spend a minimum amount of time on this lesson before they can mark it complete". You set hours, minutes and seconds per lesson. Students see a timer, and the lesson cannot be completed early.
  • Track Time on All Lessons, under LifterLMS > Settings > Courses, records time on every lesson, even those without a minimum. Its description notes it is "Useful for reporting purposes".

The course students reporting screen includes a Time in Course column, and it appears in the CSV export. The 10.x releases improved how that time is recorded and reported. Our guide to lesson time tracking explains how sessions and idle time are counted.

A minimum time also blocks quizzes. If a student tries to start a lesson's quiz before the minimum time has passed, LifterLMS shows "You must spend the required minimum time on the lesson before taking the quiz."

For video-based CE, time on the page is not the same as watching. The paid Advanced Videos add-on can stop a lesson being completed until the video has been watched. Use both when your accreditor cares about content consumption, not just time.

Be realistic about what this proves. Time tracking shows that a lesson was open and active in a logged-in session. It does not verify who was sitting in front of the screen. If your board requires identity verification or proctoring, that is a separate service.

Assessing learning

LifterLMS quizzes cover most CE post-tests:

  1. Put the post-test in the final lesson and set a Passing Percentage that matches your accreditor's rule.
  2. Set Limit Attempts if retakes are restricted.
  3. Turn on Require Passing Grade on Quiz on that lesson, so the course cannot be completed without a pass.
  4. Use Randomize Question Order to make answer sharing harder.

For a required course evaluation, add a short quiz of zero-point questions in a lesson before the post-test, or before the final lesson. Zero-point questions are recorded but not graded, and a prerequisite on the next lesson makes the evaluation mandatory. Question pools and written answers need the Advanced Quizzes add-on. See how to create quizzes in LifterLMS for the core settings.

Issuing CE certificates

LifterLMS awards certificates through an engagement, usually triggered by "Student completes a course". Three merge codes are especially useful for CE:

  • {earned_date}: the date the certificate was earned. Use it instead of {current_date}, which changes if a certificate is re-synced.
  • {sequential_id}: a running number per certificate template, set with Next Sequential ID on the template. It gives each certificate a unique reference for your records.
  • {first_name} and {last_name}: make sure your registration form collects legal names, since these come from the user profile.

Static details such as your provider number, course number and approved hours can be typed directly into each course's certificate template. With many courses, one template per course becomes hard to maintain. That is where a credit value per course helps, either from the add-on or from a custom merge code.

Common certificate pitfalls are covered in fixing LifterLMS certificate problems.

What the Continuing Education add-on adds

The paid LifterLMS Continuing Education add-on is designed for providers whose credits expire. According to its product page, it:

  • Awards credits automatically when a student completes a course.
  • Lets you rename the credit unit, for example CEUs, PDUs, CMEs or CPD.
  • Displays credit values on course pages and catalog tiles.
  • Sets expiration rules by date, duration or calendar year, to match licensing cycles.
  • Sends notifications when credits are earned or close to expiry.
  • Allows re-enrollment in expired courses so learners can renew.
  • Shows credit data, including units, earned date and expiry, in student reports and dashboards, and includes CE details on certificates.

If your learners renew licences on a cycle, the add-on covers what core lacks: core LifterLMS records that a course was completed, but has no concept of a credit that expires.

A custom credit-hours merge code

If you only need the credit value on the certificate and not expiry tracking, a developer can store the hours on each course and add a merge code. This small plugin reads a course custom field named _llmsx_ce_hours and provides {llmsx_ce_hours}:

<?php
/**
 * Plugin Name: LLMSX CE Hours Merge Code
 */

add_filter( 'llms_certificate_available_merge_codes', function ( $codes ) {
	$codes['{llmsx_ce_hours}'] = __( 'CE Hours', 'llmsx' );
	return $codes;
} );

add_filter( 'llms_certificate_merge_data', 'llmsx_ce_hours_merge_data', 10, 4 );
function llmsx_ce_hours_merge_data( $codes, $user_id, $template_id, $related_id ) {
	$course  = null;
	$related = $related_id ? llms_get_post( $related_id ) : false;

	if ( $related instanceof LLMS_Course ) {
		$course = $related;
	} elseif ( $related && method_exists( $related, 'get_course' ) ) {
		$course = $related->get_course();
	}

	$hours = $course ? get_post_meta( $course->get( 'id' ), '_llmsx_ce_hours', true ) : '';
	$codes['{llmsx_ce_hours}'] = $hours ? esc_html( $hours ) : '';

	return $codes;
}

Merge codes are filled in when a certificate is awarded, so set the hours before students complete the course.

Keeping records that survive an audit

Records are where many CE sites are weakest. Plan them explicitly.

RecordWhere it lives in LifterLMSHow to produce it
Enrollment and completion datesStudent and course reportingCSV export from the course students table
Time spentLesson time trackingTime in Course column and export
Assessment resultsQuiz attemptsQuiz reporting; each attempt keeps its answers and grade
Certificates issuedAwarded certificatesListed per student; PDFs with the PDFs add-on
PaymentsOrders and transactionsOrder screens and sales reporting

Three habits protect those records:

  • Do not delete quiz attempts or awarded certificates casually. They are your evidence.
  • Export on a schedule. Keep periodic exports of completions and certificates outside WordPress, in line with your retention period.
  • Set your erasure policy. Under LifterLMS > Settings > Accounts, the Account Erasure Requests options decide whether order and LMS data are removed when a personal data erasure request is processed. Align them with your retention obligations and privacy notice.

Limits and custom requirements

  • Reporting to boards or tracking services in their specific format is not built in. It is typically a scheduled export or an API integration.
  • Identity verification and proctoring require third-party services.
  • Multiple credit types per course, for example different hours for different professions, need careful design with or without the add-on.
  • Learner transcripts combining all credits across years in one document are usually a custom report.

Frequently asked questions

Can LifterLMS prevent students from rushing through CE content?

Yes. A minimum time per lesson prevents completion and quiz access until the time has been spent, and Advanced Videos can require videos to be watched.

Do I need the Continuing Education add-on?

You need it, or custom development, if credits expire, renew or need tracking across courses. For one-off courses with a fixed number of hours, core certificates plus a merge code may be enough.

Can I show different CE hours on each course's certificate?

Yes, either with one template per course, the add-on's CE details, or a custom merge code that reads the hours from the course.

How do I prove a learner completed the course years later?

Keep the student account, quiz attempts and awarded certificate, and maintain your own periodic exports as a backup.

What to do next

Write your accreditor's requirements as a checklist, then build one course that satisfies every line: minimum times, post-test, evaluation, certificate content and an export you would be happy to hand to an auditor. Once one course passes, the rest follow the same pattern.

For board reporting, transcripts or certificate logic beyond the settings, our LifterLMS customization service builds it, and LifterLMS consulting can review your setup against your accreditor's rules first. Send us your requirements.

Add LifterLMS Expert to your preferred sources

Add lifterlmsexpert as a preferred source on Google, or open this article in your AI assistant to use it as a source.

  • Add as a preferred source on Google
Free consultation

Prefer expert help over DIY?

Skip the trial and error. Get specialist LifterLMS help and ship faster.

Talk to a LifterLMS Expert Explore our services

Replies within one business day