LifterLMS

📅 Published on

📝 Last updated

Overview

LifterLMS is a top-tier LMS plugin that turns your WordPress website into a learning portal. Groundhogg provides direct integration with LifterLMS, allowing you to trigger automation flows from student activity, enroll or remove students from courses as a flow action, automatically apply or remove tags based on course, lesson, and membership events, and segment your contacts using LifterLMS enrollment data.

You can download this add-on from the Groundhogg website or as part of a plan and install it on your website.

Triggers

The LifterLMS integration comes with one trigger: LifterLMS Event. Drag it into any flow from the Triggers panel.

LifterLMS Event

This trigger executes based on a student’s activity in LifterLMS. Configure it by selecting:

When a contact…

  • Enrolls in a course
  • Completes a course
  • Completes a lesson

For any of the following courses…

  • Select one or more available courses. Leave blank to match any course.

And for any of the following lessons… (Only relevant when “Completes a lesson” is selected.)

  • Select one or more available lessons from the chosen course(s). Leave blank to match any lesson.

You can select multiple events in a single trigger step. For example, you can trigger on both “Enrolls in a course” and “Completes a course” in one step.

Actions

The LifterLMS integration comes with one action: Change Enrollment. Add it anywhere in a flow to manage a student’s access to a course.

Change Enrollment

This action enrolls or removes a student from a LifterLMS course. Configure it with:

  • Action — Select Enroll Student or Un-enroll Student
  • Course — Select the course to enroll in or remove from

Note: If the contact does not yet have a WordPress user account, one will be created automatically with the student role before enrollment is processed.

Tagging

The LifterLMS integration adds a Groundhogg Integration panel to the edit screen of every course, lesson, and membership. Use these panels to automatically apply or remove tags when a student reaches certain milestones, without needing a funnel.

Courses

The Groundhogg Integration panel on a course edit screen has four tag pickers, split into two sections:

Start of Course — fires when a student enrolls in the course:

  • Add Tags — tags to apply when the student enrolls
  • Remove Tags — tags to remove when the student enrolls

End of Course — fires when the student completes the course:

  • Add Tags — tags to apply when the course is completed
  • Remove Tags — tags to remove when the course is completed

Lessons

The Groundhogg Integration panel on a lesson edit screen has two tag pickers, both of which fire when the student completes the lesson:

  • Add Tags — tags to apply on lesson completion
  • Remove Tags — tags to remove on lesson completion

Memberships

The Groundhogg Integration panel on a membership edit screen has two tag pickers, both of which fire when a student subscribes to the membership:

  • Add Tags — tags to apply when the student joins the membership
  • Remove Tags — tags to remove when the student joins the membership

Save the course, lesson, or membership after selecting tags to apply your changes.

Filters

The LifterLMS integration provides the following filters for segmenting contacts in broadcasts, funnels, and the contacts table.

Enrolled in Course

Segment contacts by their enrollment status in a specific LifterLMS course. Select a course and an enrollment status (Enrolled, Expired, Cancelled, etc.) to find contacts matching that combination.

Enrolled in Membership

Segment contacts by their enrollment status in a specific LifterLMS membership. Select a membership and an enrollment status to find all contacts with that membership relationship.

Course Completed

Segment contacts who have completed a specific LifterLMS course. Select a course to find all contacts who have 100% completion for that course.

Replacement Codes

The LifterLMS integration includes two replacement codes. You can see the full list by clicking the Insert Replacements button in the email editor or flow editor.

NameReplacement CodeDescription
Continue course link{llms_course_continue.course_id}Outputs a personalised link that takes the contact directly to the next lesson they need to complete in the specified course. Replace course_id with the ID of the course. Uses an auto-login link so the contact is authenticated automatically on click.
List incomplete courses{llms_list_incomplete_courses}Outputs an HTML list of all courses the contact is currently enrolled in but has not yet completed, with each course linked to the next lesson to complete. Each link uses an auto-login URL.

Contact Info Card

Every contact record shows a Lifter LMS info card in the right sidebar. The card displays the student’s full LifterLMS history across four sections.

Summary — shown at the top of the card:

  • Student ID — links to the student’s LifterLMS reporting page
  • Course Enrolled — total number of courses the contact is enrolled in
  • Overall Progress — the student’s overall progress percentage across all enrolled courses
  • Lifetime Value — total net revenue from all LifterLMS orders

Enrollments — each enrolled course listed with:

  • Course name (linked to the LifterLMS reporting page for that course) with a colour-coded status badge: Enrolled (green), Expired/Cancelled (red), or other statuses (orange)
  • Progress bar showing percentage completion
  • Enrollment date
  • Progress percentage
  • Grade (shown as a donut chart if numeric, or “N/A”)

Memberships — each membership listed with:

  • Membership name (linked to the LifterLMS student reporting page) with a status badge
  • Enrollment date

Orders — each order listed with:

  • Order ID (linked to the order edit screen) with a colour-coded status badge
  • Order date
  • Net revenue amount and payment gateway
  • Product name

If the contact does not have a linked WordPress user account, or has no LifterLMS student record, the card displays “No course data yet.”

Student Sync

When a student registers or updates their profile through LifterLMS, Groundhogg automatically creates or updates the matching contact record. The following LifterLMS billing fields are mapped to the contact:

  • First name, last name, email address
  • Billing address (street lines 1 & 2, city, state/region, postal code, country)
  • IP address
  • Phone number

If the student agreed to terms during registration, the contact’s terms agreement is also recorded.

Tools

Sync LifterLMS Students — if you were using LifterLMS before installing Groundhogg, your existing students won’t automatically be synced with Groundhogg contacts. Use the Sync LifterLMS Students tool to backfill them. You can find it under Groundhogg → Tools → Misc → Sync LifterLMS Students. Click the [ Sync ] button and the process will run in the background.

The sync will:

  • Create contacts from all existing students
  • Apply course enrollment tags based on current enrollments
  • Apply course completion tags for completed courses
  • Apply membership enrollment tags for active memberships

You can monitor progress under Groundhogg → Logs → Background Tasks.

FAQs / Troubleshooting

Q. Does the LifterLMS Event trigger fire if I enroll a student manually from the WordPress admin?
A. Yes. The trigger fires on the llms_user_enrolled_in_course hook, which is called regardless of how enrollment is initiated — front-end checkout, manual admin enrollment, or a Groundhogg flow action.

Q. Can I trigger a flow when a student joins a membership?
A. Not directly via the LifterLMS Event trigger, which covers course and lesson events only. For membership joins you can use the Tagging panel on the membership edit screen to apply a tag, then use a Tag Applied trigger in your flow to react to that tag.

Q. What happens if a student’s contact record doesn’t exist yet when they enroll in a course?
A. The tag and trigger integrations look up the contact by the student’s WordPress user ID. If no matching contact is found, nothing happens. However, when a student registers through LifterLMS for the first time, Groundhogg automatically creates a contact for them, so this should only be an issue for students who were enrolled before the integration was installed. Use the Sync tool to resolve that.

Q. The {llms_course_continue.course_id} replacement code — where do I find the course ID?
A. Go to LifterLMS → Courses, hover over or edit the course, and look at the URL or the ID column. For example, if the course edit URL ends in post=42, the replacement code would be {llms_course_continue.42}.

Was this helpful?

Let us know if this document answered your question. That’s the only way we can improve.