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.
| Name | Replacement Code | Description |
|---|---|---|
| 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.
