LifterLMS Engagements: Automated Emails, Triggers and Timing

How the LifterLMS engagement engine works: every trigger, how the delay is scheduled, how to write email templates with merge codes, how engagements differ from notifications, and a starter set of automations.

  • Add as a preferred source on Google
Illustration for “LifterLMS Engagements: Automated Emails, Triggers and Timing”

Engagements are the automation layer of LifterLMS. Each one is a rule with three parts: an event that happens to a student, something to give or send in response, and an optional wait in between.

The same engine awards achievements and certificates, but this article concentrates on the third output, email, because that is where most of the questions come from. Why did a student get two welcome messages? Why did the follow-up never arrive? Why does the email say "Hi ," with no name?

The answers lie in how the engine behaves, not in where the buttons are.

The three parts of an engagement

Under the top-level Engagements menu you will find the rules themselves (Engagements), the things they hand out (Achievements, Certificates, Emails), and the lists of what has been awarded. To build a rule, go to Engagements > Add Engagement and set:

  • Triggering Event: what the student did.
  • Engagement Type: "Award an Achievement", "Award a Certificate" or "Send an Email", followed by the specific template to use.
  • Engagement Delay: the number of days to wait. Enter 0 or leave it blank to act immediately.

Create the template first, because the engagement screen asks you to select one. Both the engagement and its template must be published, or nothing fires. The official engagements overview is the reference for the screen itself.

Every trigger and what it is good for

Most triggers show a second field where you pick the specific course, lesson, quiz or plan. Leave it blank and the rule applies to all of them.

Triggering eventCan be narrowed toTypical email
Student creates a new accountNothing, it is site-wideAccount welcome, how to log in
Student Purchases an Access PlanAn access planPlan-specific onboarding, such as what a payment plan includes
Student enrolls in a courseA courseWhere to start, how the course is paced
Student purchases a courseA courseThank-you and bonus material for paying students only
Student completes a courseA courseCongratulations, review request, next course
Student completes a lessonA lessonA resource tied to one key lesson
Student completes a quizA quizFollow-up regardless of result
Student passes a quizA quizWhat passing unlocks
Student fails a quizA quizRevision tips and how to retake
Student completes a sectionA sectionMid-course encouragement
Student completes a course trackA course trackProgram completion, alumni offer
Student enrolls in a membershipA membershipMember welcome, what is included
Student purchases a membershipA membershipBilling-related onboarding for paying members

How triggers really behave

  • Enrollment and purchase are different events. Enrollment triggers fire however the student got in: checkout, a free plan, a voucher, manual enrollment by an admin, or automatic enrollment through a membership. Purchase triggers fire when an order becomes complete or active. With the manual payment gateway that happens only after you record the payment, so a "purchase" email waits until then.
  • Each email goes once per student per item. LifterLMS records that a student received a given email for a given course, lesson or quiz and will not send it again. A student who fails the same quiz three times gets your "fails a quiz" email once.
  • Nothing is retroactive. A rule published today does not reach students who passed that point yesterday.
  • There is no time-based or inactivity trigger. Engagements react to actions. "Has not logged in for two weeks" or "seven days before access expires" cannot be built with them. That calls for an email marketing platform or custom work, which our LifterLMS integrations service handles.

How the delay works

The delay is counted in whole days from the moment of the trigger. There are no hours, no "send at 9 am", and no fixed calendar dates.

A delayed engagement is placed in the scheduled actions queue that ships with LifterLMS, which you can inspect under LifterLMS > Status > Scheduled Actions. When the day arrives, LifterLMS checks again before acting: the student still exists, the engagement and its template are still published, and, for triggers tied to a course, its lessons or a membership, the student is still enrolled. If someone was refunded and removed in the meantime, the follow-up is skipped. Trashing an engagement stops its queued sends too.

The queue depends on WordPress scheduling, so a site with very little traffic and no real cron job can send late. If timing matters, ask your host to run WordPress cron on a server schedule.

To build a sequence, create several engagements on the same trigger with different delays: day 0, day 3, day 10. Each needs its own email template.

Write the email template

Go to Engagements > Emails and choose Add Email Template. The title is an internal label. The body is written in the editor, and the settings box below it holds the rest:

  • Email Subject: the subject line. Merge codes work here.
  • Email Heading: a headline shown above the body inside the email.
  • Email To: defaults to {student_email}. You can add addresses separated by commas, or use {admin_email}.
  • Email CC and Email BCC: the same format. A BCC to a shared inbox lets you audit what students receive in the first weeks.

Because the To field accepts {admin_email}, an engagement can also be an internal alert, for example telling your team when someone fails a certification exam.

Merge codes for engagement emails

Merge codeReplaced with
{first_name}, {last_name}The student's first and last name
{email_address}, {user_login}The student's email address and username
{site_title}Your site name
{site_url}The address of your Student Dashboard page
{current_date}The date the email is sent

Two consequences are worth planning around. First, {first_name} is empty if the student never entered one, so make first name a required field on your registration and checkout forms or write greetings that survive without it. Second, there is no merge code for the course or lesson name. An email attached to "any course" cannot say which course it is about, so write one template per course when the name matters.

Sender settings

Go to LifterLMS > Settings > Engagements. The Email Settings group applies to every email LifterLMS sends, engagement and notification alike:

  • Sender Name, which defaults to the site title.
  • Sender Email, which defaults to the site admin address.
  • Header Image, usually your logo.
  • Email Footer Text, a good place for your business name and a support address.

Set the sender email to an address on your own domain that someone reads. Students reply to course emails.

Notifications and engagements are different systems

LifterLMS has a second messaging system under LifterLMS > Settings > Notifications. It is easy to confuse the two, and running both without a plan is the usual cause of duplicate emails.

NotificationsEngagements
What they areA fixed list of built-in messages you switch on and editRules you create from scratch
ExamplesPurchase Receipt, Student Welcome, Enrollment, Course Complete, Quiz Failed, Upcoming Payment ReminderAnything you can pair with a trigger
ChannelsPopup, email, or both, depending on the notificationEmail, achievement or certificate
RecipientsChosen per notification: student, and for some, staffThe To, CC and BCC fields of the email template
TimingFixed by the pluginImmediate or delayed by days
Merge codesDouble braces, such as {{STUDENT_NAME}}Single braces, such as {first_name}

The codes are not interchangeable. A notification code pasted into an engagement email arrives as raw text.

A workable division of labor: let notifications handle the transactional messages, such as receipts, payment reminders and subscription notices, and use engagements for teaching and onboarding. Then check for overlap. If the Student Welcome notification is on and you also have an engagement on "Student creates a new account", new students get two emails within seconds. Note too that the Achievement Earned and Certificate Earned notifications are popups only, so an email about a new certificate has to be an engagement. Students can switch off some notification emails themselves from the Notifications tab of their dashboard, which does not affect engagement emails. The notifications documentation describes each one.

Deliverability basics

LifterLMS hands every email to WordPress, and WordPress hands it to whatever your server uses to send mail. On most hosts that default is the weak point.

  • Send through a transactional email service using an SMTP or API mailer plugin, not the web server's built-in mail function.
  • Authenticate your sending domain with SPF and DKIM records, publish a DMARC policy, and use a Sender Email on that same domain.
  • Test with real inboxes at the major providers, not just your own company address.
  • Check LifterLMS > Status > Logs when an email is in doubt. The engagement email log records each attempt, including emails skipped as duplicates. "Sent" there means WordPress accepted the message, not that it reached the inbox, so compare it with your email service's own log.
  • Keep staging sites from emailing real students. A copied database contains real addresses and queued delayed engagements.

A starter set of automations

TriggerDelayEmail
Student enrolls in a course0Where to start, how long lessons take, where to get help
Student enrolls in a course3A nudge with a direct link to the first lesson and one practical tip
Student completes a section (the first)0Short encouragement and what the next section covers
Student fails a quiz (the final one)0What to review and how retakes work
Student completes a course0Congratulations and where to find the certificate
Student completes a course7A review request and the next course to take

Pair these with a few achievement badges on the same milestones, and read our article on improving course completion before you add more.

What to do next

Build the starter set for one course, enroll a test student with an inbox you control, and walk through every trigger. Read each email on a phone. Then look at the log and the scheduled actions screen so you know what normal looks like.

Get help when you hit the limits of the engine: reminders based on inactivity or expiry dates, emails that must name the course or include progress data, sequences that belong in a CRM or email platform, or emails that are being sent but not arriving. We cover the first three under integrations and the last under LifterLMS support. If you are not sure which it is, describe the problem and we will point you the right way.

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
VishavjeetChoubeyLifterLMS Expert
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