Low Course Completion Rates? Automate the Nudges
The most reliable way to improve your course completion rate is to stop relying on students to remember they enrolled, and start building automated responses to the moments when they go quiet. With Krom Automation connected to LearnDash or Tutor LMS, you can detect a stalled student after 5 days of inactivity, send a targeted nudge, follow up after a failed quiz, and celebrate every milestone, without touching a single email manually.
Low completion rates are expensive in two directions. Students who do not finish are more likely to request refunds and less likely to leave positive reviews.
A course sitting at 20% completion is not a course problem. It is a communication problem, and it is fixable with automation.
This article covers the three automation workflows that move the needle most: milestone nudges, stalled student detection, and quiz failure follow-up. It also covers the upstream gap that almost no one addresses: how misaligned expectations before enrollment quietly sabotage everything downstream.
See how Krom Automation handles LMS triggers and actionsWhat Is a Normal Course Completion Rate?
Free MOOCs average between 5% and 15% completion. Paid self-paced courses typically land between 20% and 40%. Cohort-based courses with accountability built in can reach 70% or above, because the structure does the motivational work the student cannot do alone.
If your paid self-paced course is below 25%, you are leaving refund requests and review gaps on the table. The benchmarks matter here because they tell you what kind of intervention is worth building.
A course at 15% needs structural fixes and automation. A course at 35% mostly needs better timing on its nudges.
Why Students Stop: The Real Reasons
The most common explanations are course length and content quality. Those matter, but they are rarely the primary cause for courses that were selling well. The actual reasons students abandon look more like this:
- Enrollment intent was low. Free or heavily discounted courses attract sign-ups from people who were curious, not committed. They never planned to finish.
- No natural next step. A student finishes lesson 3 and has no reminder that lesson 4 exists. Three days pass. They forget.
- A quiz failure with no follow-up. Failing a quiz without support feels like a signal to quit, not a normal part of learning.
- Life interruption with no re-entry cue. Something comes up, they miss a week, and returning feels awkward with no prompt.
- Expectations set by the sales page were wrong. They signed up for a beginner course and it assumed intermediate knowledge, or the time commitment was much higher than stated.
Automation can fix items 2, 3, and 4 directly. Item 5 is upstream of the course itself, and we will come back to it. Item 1 is a pricing and positioning problem, but automation can at least identify low-intent enrollees early.
A quiz failure with no follow-up is not a learning moment. It is an exit ramp. Most LMS setups leave it completely unaddressed.
The Three Automation Workflows That Actually Move Completion Rates
Workflow 1: Milestone Nudges
Milestone nudges fire at specific completion points: after lesson 1, after 25% of the course, at the halfway mark, and at 75%. Each message acknowledges progress, previews what comes next, and gives the student a reason to log back in today rather than later.
In Krom Automation, you set this up using the LearnDash triggers for lesson completion and course progress. The LearnDash integration documentation covers the full trigger list, including lesson completed, topic completed, and course progress percentage thresholds.
A well-timed milestone email takes about 3 minutes to write and runs indefinitely. The manual alternative, checking who has reached 50% and emailing them individually, takes around 30 minutes per week for a course with 50 active students.
Effective milestone nudge structure:
- Lesson 1 complete: Confirm they made the right choice. Tease lesson 2 with a specific outcome.
- 25% complete: Acknowledge the commitment. Tell them what the halfway point unlocks.
- 50% complete: Make it feel significant. Include a quote from a student who finished.
- 75% complete: Create urgency. They are close. Name what completion earns them (certificate, access, community).
Use merge tags to personalize every message with the student’s first name, the course name, and the lesson title. Personalized emails consistently outperform generic ones, and with merge tags it costs nothing extra to include them.
Workflow 2: Stalled Student Detection
This is the workflow most course creators never build, and it is probably the highest-value one. A stalled student is someone who enrolled, made some progress, and then stopped logging in. They have not dropped.
They have not asked for a refund. They are just quiet.
The detection logic is straightforward: if a student has not completed a new lesson within 5 days of their last activity, fire a re-engagement email. If they still have not moved after another 4 days, send a second message with a different angle. You can add a third branch that flags the student in a spreadsheet or sends a Slack notification to a team member if you have a high-touch support model.
The delay and scheduling documentation explains how to configure the wait period between steps. The conditions and branching documentation covers how to add a Yes/No check that stops the sequence if the student has already completed a new lesson before the next message fires. That check matters: without it, you will email students who came back on day 4 and are actively working through content.
A re-engagement email sent on day 5 of silence converts far better than one sent on day 30. By day 30, the student has already mentally unsubscribed from the course.
Re-engagement email angles that work, ordered by typical effectiveness:
- Specific callback: “You finished [Lesson Name]. Lesson [Next Lesson] covers [concrete outcome]. It takes about 12 minutes.”
- Low-friction re-entry: “No pressure. Here is where you left off.” Link directly to the next lesson.
- Social proof: “Three students who paused at the same point finished last week. Here is what one of them said.”
- Direct offer: If you have office hours or a community, offer a specific session. “Join us Thursday at 2pm if you hit a wall.”
Workflow 3: Quiz Failure Follow-Up
A failed quiz is a signal, not a verdict. Students who fail and receive a follow-up email within 2 hours are significantly more likely to retake and pass than those who receive nothing. The window is narrow because the frustration fades fast, and so does the motivation to return.
The quiz failure workflow fires on the LearnDash quiz failed trigger. The immediate action is an email that does three things: names the specific quiz, offers one concrete resource (a lesson to rewatch, a section to re-read, or a link to a worksheet), and gives the student explicit permission to fail.
“Failing the first time is normal. Here is what to review before you try again” removes the shame that makes people quit.
You can add a secondary branch for students who fail the same quiz twice. That branch might send a different message, offer a live support option, or notify a team member to reach out manually. Krom Automation’s conditional branching handles this with a Yes/No node checking whether the student’s quiz attempt count is greater than 1.
The Upstream Problem Nobody Fixes: Enrollment Expectations
Every guide on course completion focuses on what happens after someone enrolls. None of them address what happens before, which is where many completion problems actually start.
A student who signs up for the wrong reasons, wrong time commitment expectation, wrong skill level assumption, or wrong outcome belief, is not going to finish no matter how good your nudge sequence is. They were never going to finish. You are automating against an enrollment decision that was already wrong.
There are three things you can do at the enrollment stage to raise the quality of who comes in:
- State the time commitment explicitly. “This course takes 4 to 6 hours to complete, across 8 weeks” on the sales page filters out people who are browsing and attracts people who are planning.
- Use a pre-enrollment form to set intent. Asking “What is your main goal for taking this course?” before checkout creates a micro-commitment. People who articulate a goal complete at higher rates than people who impulsively purchase. You can connect this to Krom Automation via a Gravity Forms integration or a Fluent Forms integration to automatically tag the student’s goal and personalize their welcome sequence accordingly.
- Send a pre-start email before day 1. If your LMS sends immediate access, a pre-start email 24 hours after enrollment, before the student has even logged in, sets the cadence expectation and confirms they made a real commitment. This one email alone can reduce the “I forgot I signed up” drop-off that kills completions in the first week.
Fixing completion rates starts before lesson 1. The student who enters with a clear goal and a realistic time expectation will outpace ten students who enrolled on impulse.
Setting Up These Workflows: What You Actually Need
These three workflows require LearnDash (or Tutor LMS) and Krom Automation Pro, because the LMS triggers live in the Pro integration layer. The free version of Krom Automation covers 16 triggers and 21 actions, none of which are LMS-specific. Pro adds 80+ additional triggers including the full LearnDash and Tutor LMS trigger sets.
Here is what the setup looks like for each workflow:
| Workflow | Trigger | Key Actions | Est. Build Time |
|---|---|---|---|
| Milestone nudge | LearnDash: Lesson Completed | Send Email with merge tags, conditional branch by lesson number | 20 to 30 minutes |
| Stalled student | LearnDash: Course Enrolled + delay node | Wait 5 days, check completion, Send Email, repeat | 30 to 45 minutes |
| Quiz failure follow-up | LearnDash: Quiz Failed | Send Email within 2-hour delay, branch on attempt count | 15 to 20 minutes |
The workflow simulator lets you test all three with zero side effects before they go live. No students receive accidental emails while you are building. See the full LearnDash integration setup guide for the exact trigger configuration for each scenario.
What This Costs to Build vs. What It Costs to Leave Undone
One-time build time for all three workflows is roughly 90 minutes. After that, they run indefinitely with no manual effort. The comparison against doing this by hand is not close.
| Task | Manual (per month) | Automated (per month) |
|---|---|---|
| Milestone emails (50 active students) | 3 to 4 hours | 0 minutes after setup |
| Stalled student identification and outreach | 2 to 3 hours | 0 minutes after setup |
| Quiz failure follow-up | 1 to 2 hours | 0 minutes after setup |
| Total monthly time cost | 6 to 9 hours | 0 minutes |
| At $50/hr agency rate | $300 to $450/month | $0/month after tool cost |
Krom Automation Pro starts at $119 per year for a single site. Against 6 to 9 hours of manual work per month at even a modest hourly rate, the tool pays for itself before the end of January. The calculation is detailed further in our guide to working out whether automation is saving you money.
What Automation Cannot Fix
Automation handles timing and consistency. It does not fix course content that genuinely does not deliver on its promise, a community that does not exist, or a topic with no natural audience.
If your course has a structural problem, automated nudges will surface the problem faster by increasing engagement with content students ultimately find unsatisfying. That is useful information, but it is not a fix.
Similarly, automation depends on WordPress Cron for its delay scheduling. On very low-traffic sites where no visitor arrives for hours at a time, delayed workflows fire late.
If your site averages fewer than 10 visits per day, configure a real server cron job to replace WP-Cron. This is a one-time server setup, not an ongoing issue, but it matters for the stalled student workflow where timing is the point.
And if your completion problem is primarily an expectation problem at the point of enrollment, nudges help at the margins. The fix is upstream: rewrite the sales page, add the time commitment estimate, and use an intent-capture form at sign-up.
Frequently Asked Questions
What is a good course completion rate for a paid self-paced course?
Paid self-paced courses typically see between 20% and 40% completion. Cohort-based courses with structured accountability can reach 70% or higher. If your paid course is below 25%, automated re-engagement sequences and quiz follow-ups are the fastest levers to pull.
How do I find where students are dropping off?
Your LMS analytics will show completion counts per lesson. The drop-off point is usually the lesson where completion count drops by 30% or more compared to the previous lesson. That lesson is your priority for a review of content, length, and difficulty.
Does drip content help or hurt completion rates?
Drip content helps high-volume courses where students would otherwise binge and burn out. For focused skill courses under 8 hours total, giving full access upfront performs better because it lets motivated students move at their own pace without artificial friction.
Do reminder emails actually get students to come back?
Yes, when they are specific and sent within the right window. A generic “don’t forget your course” email performs poorly.
An email that names the exact lesson the student stopped on, previews the next one, and links directly to it performs significantly better. The 5-day window for stall detection is more effective than waiting 2 to 3 weeks.
Can I use Krom Automation with Tutor LMS instead of LearnDash?
Yes. Krom Automation Pro includes a Tutor LMS integration with enrollment, completion, and quiz triggers.
The setup process is equivalent to the LearnDash setup. See the Tutor LMS integration documentation for the full trigger list.
What happens if a student completes a lesson after the stall sequence has already started?
You handle this with a conditional branch in the workflow. Before each delayed email fires, add a Yes/No condition that checks whether the student has completed a new lesson since the sequence began.
If yes, the workflow exits without sending. This prevents re-engagement emails going to students who have already re-engaged.
Our Verdict: Build the Stall Workflow First
If you only build one of these workflows, build the stalled student detection sequence. Milestone nudges improve the experience for students who were going to finish anyway. Quiz follow-up helps at a specific friction point.
Stall detection is the only workflow that actively recovers students who were about to leave. It has the widest reach and the highest return on the 30 to 45 minutes it takes to build.
If your completion rate is below 25%, build all three, then fix your enrollment page. The automation will surface whether the content is the real problem.
Most of the time it is not. Most of the time the student was never reminded that they started something worth finishing.
Download the free version of Krom Automation to explore the builder before you commit to Pro. The free version lets you build and test workflows on the canvas, so you can see how the stall detection logic fits together before any LMS triggers are involved.
When you are ready to connect LearnDash or Tutor LMS, compare the Pro plans. A single-site licence starts at $119 per year, and the 14-day money-back guarantee means there is no risk in trying it on a live course.