wprigel logo
  • Home
  • Products
    • krom-automation-icon

      Krom Automation

      Build visual workflows that respond to signups, orders, forms, and posts- automatically. Free plugin, no monthly fees.
    • commandify-logo-pink

      Commandify- Best Command Palette Plugin for WordPress

      Navigate, search, and manage everything on your site with a simple keyboard-first workflow.
    • pollify plugin logo

      Pollify- Ultimate Poll Creator Plugin for WordPress

      Build interactive polls, surveys & voting experiences in WordPress with the best Gutenberg-native poll plugin.
  • Docs
  • Blog
  • Contact Us
Pricing
  • 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 actions

    What 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:

    1. Specific callback: “You finished [Lesson Name]. Lesson [Next Lesson] covers [concrete outcome]. It takes about 12 minutes.”
    2. Low-friction re-entry: “No pressure. Here is where you left off.” Link directly to the next lesson.
    3. Social proof: “Three students who paused at the same point finished last week. Here is what one of them said.”
    4. 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:

    WorkflowTriggerKey ActionsEst. Build Time
    Milestone nudgeLearnDash: Lesson CompletedSend Email with merge tags, conditional branch by lesson number20 to 30 minutes
    Stalled studentLearnDash: Course Enrolled + delay nodeWait 5 days, check completion, Send Email, repeat30 to 45 minutes
    Quiz failure follow-upLearnDash: Quiz FailedSend Email within 2-hour delay, branch on attempt count15 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.

    TaskManual (per month)Automated (per month)
    Milestone emails (50 active students)3 to 4 hours0 minutes after setup
    Stalled student identification and outreach2 to 3 hours0 minutes after setup
    Quiz failure follow-up1 to 2 hours0 minutes after setup
    Total monthly time cost6 to 9 hours0 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.

    The wpRigel Team

    August 28, 2026
    User Guide
  • Why Members Cancel and What to Automate Before They Do

    To reduce membership churn on WordPress, you need three automated sequences running before a cancellation ever happens: a renewal reminder window starting 14 days out, a dunning sequence that fires within hours of a failed payment, and a re-engagement sequence triggered by inactivity. Krom Automation connects all three to MemberPress, WooCommerce Subscriptions, and your email provider without a line of code.

    Most churn articles jump straight to tactics. Send a discount. Add a pause button.

    Write better onboarding emails. Those tactics work, but applied to the wrong type of churn they waste time and sometimes accelerate cancellations. The first step is knowing whether you are losing members because of failed payments, because they stopped finding value, or because they never found value in the first place.

    Each type has a different fix. Dunning sequences do nothing for a member who logged in twice and got bored.

    Re-engagement emails do nothing for a member whose card expired. This guide covers diagnosis first, then the four automation sequences that address the most common causes of preventable churn.

    Browse the full feature list to see every MemberPress and WooCommerce Subscriptions trigger available in Krom Automation.

    Diagnose Your Churn Before You Build Anything

    Churn on a membership site is not one problem. It splits into two categories with almost no overlap in how you fix them.

    • Involuntary churn is caused by payment failure. The member did not decide to leave. Their card expired, the charge failed, and the membership lapsed. Industry data suggests involuntary churn accounts for 20 to 40 percent of all subscription cancellations, and it is the most recoverable because the member still wants what you are selling.
    • Voluntary churn is an active decision. The member cancelled. Within this category, timing tells you a lot: members who cancel in the first 30 days never found the value you promised. Members who cancel at renewal found value but not enough to justify another year. Members who cancel mid-term had something change.

    Pull your cancellation data and sort it by two dimensions: when in the membership lifecycle did they cancel, and was the trigger a failed payment or an active cancellation? If you do not have this breakdown, MemberPress transactions and your payment gateway logs will give you enough to work with. Spending one hour on this segmentation before you build any automation will save you from building the wrong workflow first.

    A dunning sequence sent to a voluntarily churning member does not save them. It reminds them they are being charged for something they already decided to leave.

    The Four Sequences That Prevent Most Preventable Churn

    Once you know your churn profile, you can prioritise which sequence to build first. The table below maps the churn type to the right fix and gives a rough sense of how long each sequence takes to configure in Krom Automation.

    Churn typeRoot causeRight fixSetup time
    Involuntary, payment failedCard expired or declinedDunning sequence30 to 60 minutes
    Voluntary, cancelled at renewalRenewal surprise or low perceived valueRenewal reminder window45 to 90 minutes
    Voluntary, cancelled mid-termDisengagement or life changeRe-engagement sequence60 to 120 minutes
    Voluntary, cancelled in first 30 daysFailed onboarding, never got startedOnboarding sequence60 to 90 minutes

    Work through these in order based on your data. If 35 percent of your cancellations follow a failed payment, dunning gives you the fastest return. If most of your churn happens at the annual renewal date, start with the reminder window instead.

    Sequence 1: The Dunning Sequence for Failed Payments

    A failed payment is not a cancellation. It is a window, usually 3 to 7 days depending on your payment gateway’s retry logic, in which you can recover the subscription without the member ever knowing it was at risk. Most membership sites lose this window because nothing fires until the membership actually lapses.

    The sequence that works is three touchpoints, spaced across the recovery window:

    1. Immediate email, within 1 hour of failure. Friendly, not alarming. Tell the member their payment did not go through and link them directly to a payment update page. No threats, no urgency language. Most card failures at this stage are soft declines that resolve on retry.
    2. Day 3 follow-up. If the gateway has retried and failed again, send a second email. This one can be more direct. The membership access is at risk. Here is how to update your card.
    3. Day 6 final notice. The last message before access lapses. Make the consequence clear and the action step obvious. Some sites add a one-click payment update link here; if your gateway supports it, use it.

    In Krom Automation, the WooCommerce Subscriptions integration gives you a dedicated trigger for subscription payment failure. The WooCommerce Subscriptions integration documentation covers the exact trigger names and which data fields are available as merge tags in each email. The delay node handles the Day 3 and Day 6 spacing without any custom code, and the delays and scheduling documentation shows how to configure each step.

    For MemberPress sites, the MemberPress integration exposes subscription expiry and payment failure events. See the MemberPress integration documentation for the full list of available triggers and the workflow examples already built around the payment failure event.

    Failed payments are the easiest churn to prevent because the member has not decided to leave. You are solving a logistics problem, not a relationship problem.

    We have also published a detailed guide on recovering failed subscription payments on WordPress that goes deeper on gateway-specific retry windows and how to sequence the messages around them.

    Sequence 2: The Renewal Reminder Window

    Annual renewals generate a spike in voluntary cancellations because members see a charge coming and make an active decision. The research on this is consistent: most of that decision happens in the 7 to 14 days before the renewal date, not at the moment of charge. If you send nothing during that window, you are leaving the decision entirely to the member with no input from you.

    A three-message renewal window looks like this:

    1. 14 days before renewal. A value reminder. Not a sales pitch. A summary of what the member accessed, achieved, or saved during their membership year. Use merge tags to pull in specific data where possible: courses completed, content accessed, community posts. Numbers make this email land.
    2. 7 days before renewal. A direct renewal confirmation. The amount, the date, the card on file. No surprises means fewer cancellations driven by sticker shock. If you have a loyalty offer for renewing members, this is where it belongs.
    3. 1 day before renewal. A final reminder, short. Confirmation that the renewal processes tomorrow. A link to manage their subscription if they want to make changes.

    The specific timing is less important than consistency. Sites that send zero renewal communication see cancellation spikes at renewal time.

    Sites that send even one reminder see measurable retention improvement. Three messages across a 14-day window is the configuration that most membership operators settle on after testing.

    The visual email builder in Krom Automation Pro lets you design these three emails with block-based layouts without touching HTML. The merge tags documentation covers how to inject member-specific data like name, renewal date, and plan name into each message.

    Sequence 3: Re-Engaging Inactive Members

    An inactive member is a pre-churned member. Someone who has not logged in for 30 days is significantly more likely to cancel at their next renewal than someone who logged in last week. The gap between last login and cancellation is usually 60 to 90 days, which means you have a real intervention window if you are tracking it.

    The challenge on WordPress is that login inactivity is not always the right signal. Some membership sites deliver value through content the member reads without logging in, through a private community on a separate platform, or through downloads they made months ago. Define what “inactive” means for your site before you build this sequence.

    Once you have a definition, the re-engagement sequence is straightforward:

    • Day 30 of inactivity: A check-in email. What have you been up to? Here is what is new since you last visited. No pressure, no urgency.
    • Day 45 of inactivity: A value reminder. Link to the three pieces of content or features most likely to bring them back. This is the place to surface content they have not accessed yet.
    • Day 60 of inactivity: A direct question. Is there anything stopping you from getting value from your membership? A short reply or a linked survey gives you data and shows the member you are paying attention.

    In Krom Automation, the User Login trigger records every login event. A scheduled workflow using the schedule trigger can check login recency against a threshold and fire the sequence for members who cross it. If you use FluentCRM for your email sequences, the FluentCRM integration lets you tag inactive members and route them into a dedicated list for the re-engagement campaign.

    Sequence 4: Onboarding That Actually Prevents 30-Day Churn

    Members who cancel in the first 30 days almost always share one characteristic: they never reached a moment of genuine value. They signed up, hit a confusing interface or an incomplete setup step, and never came back.

    The fix is not better content. The fix is a guided first week that gets the member to their first win as fast as possible.

    The onboarding sequence is the one place where shorter is better. Five emails over 7 days beats twelve emails over 30 days, because the goal is momentum, not comprehensiveness.

    DayEmail goalWhat to include
    0 (signup)Confirm and orientLogin link, one next step, support contact
    1First actionThe single most valuable thing to do first, with a direct link
    3Remove frictionFAQ answers to the three questions most new members ask
    5Social proofA result from another member at day 5. Makes the goal feel achievable.
    7Progress checkA short survey asking where they are stuck, with a reply option

    The Day 7 survey is the most valuable message in the sequence. Replies tell you exactly why the first week fails for new members, and that data feeds back into improving the onboarding itself. Without it, you are guessing.

    Onboarding is not a welcome email. It is a guided path to the first moment a member thinks “this was worth it.”

    The Cancellation Flow: One More Intervention Before They Leave

    Even with all four sequences running, some members will reach the cancellation button. What happens at that moment matters. A well-designed cancellation flow can save 5 to 15 percent of members who reach it, and even the ones who leave give you data you can use.

    A cancellation flow has three components:

    • A pause option. Some members cancel because their circumstances changed temporarily. A 1 to 3 month pause at reduced cost or zero cost converts a cancellation into a retention. MemberPress supports membership pausing natively.
    • A downgrade option. If you have multiple membership tiers, offering a lower tier at the cancellation point keeps the member in your ecosystem and keeps the revenue relationship alive.
    • A reason question. One required field before the cancellation completes. The four options that capture 80 percent of reasons: too expensive, not using it enough, found an alternative, circumstances changed. This data, tracked over months, tells you which product or pricing problem to solve next.

    The cancellation reason data is particularly valuable when cross-referenced with tenure. A member who cancels after 8 months citing “not using it enough” is a different problem than a new member who cancels in week 2 with the same reason.

    The former is a re-engagement problem. The latter is an onboarding problem.

    The Win-Back Sequence After Cancellation

    Not every cancelled member is gone. Members who cancelled citing price or circumstances often come back if they receive the right message at the right time. A three-message win-back sequence over 60 days is worth building even if your immediate recovery rate is low, because the cost of sending three emails is effectively zero and the lifetime value of a returning member is high.

    The win-back sequence works like this:

    1. Day 7 after cancellation. No pitch. A brief acknowledgment that they have left, a reminder that their data and access history are preserved, and an open invitation to return with a direct link. No coupon yet.
    2. Day 30 after cancellation. A value update. What has changed or launched since they left. New content, new features, community milestones. This works best when it is specific, not generic.
    3. Day 60 after cancellation. A time-limited offer. A genuine discount for returning members, with a clear expiry date. This is the only message in the sequence that makes a direct ask, and it is more effective because the previous two messages re-established the relationship first.

    In Krom Automation, the MemberPress cancellation trigger fires when a membership is cancelled and gives you the member’s details, plan name, and cancellation date as merge tags. The workflow can branch based on the cancellation reason you collected in the flow, sending different Day 7 messages to members who cited price versus those who cited usage. The conditions and branching documentation covers how to set up the Yes/No paths that make this work.

    What This Actually Costs to Build

    The question most membership site owners ask is whether the automation pays for itself. The numbers are straightforward.

    SequenceMembers needed to recover 1 to pay for ProRealistic recovery rate
    Dunning (failed payments)1 to 2 members at $99/year20 to 40 percent of failed payments
    Renewal reminders1 to 3 members at $99/year5 to 15 percent reduction in renewal cancellations
    Re-engagement2 to 4 members at $99/year3 to 8 percent of inactive members
    Win-back1 to 2 members at $99/year5 to 12 percent of cancelled members

    Krom Automation Pro starts at $119 per year for a single site. If your membership costs $99 per year and the dunning sequence recovers two members who would otherwise have lapsed, the tool pays for itself in year one from that sequence alone, before the renewal reminders or win-back sequence contribute anything. Sites charging higher membership fees reach that point faster.

    There is also the manual cost to consider. Writing and sending these emails by hand, even once per week, takes 2 to 4 hours per month. At $50 per hour for a freelancer or the opportunity cost of your own time, that is $1,200 to $2,400 per year in labour the automation replaces.

    Compare Krom Automation to other automation options to see how the pricing model differs from per-task tools that charge more as your membership grows.

    What This Approach Does Not Fix

    Automation addresses the mechanics of churn prevention. It does not fix the underlying product.

    If members consistently cite “not enough value” in your cancellation flow, sending more emails will not change the churn rate. The sequences described here work when the core product delivers on its promise and the churn is caused by friction, timing, or payment failure rather than fundamental dissatisfaction.

    There are also practical limits on WordPress specifically. The renewal reminder timing depends on MemberPress exposing the renewal date as a trigger event. The inactivity detection depends on WordPress Cron running reliably.

    On very low-traffic sites, WP-Cron can fire late if hours pass without a page visit. A real server cron job eliminates this delay and takes about 10 minutes to configure on most hosts.

    If you are also running a WooCommerce store alongside your membership site, the repeat purchase automation guide covers how to connect membership behaviour to product purchase sequences without duplicating your workflow logic.

    Our Verdict: Start With Dunning, Then Build Out

    If you run a membership site on WordPress and have not audited your involuntary churn yet, start there. Pull your failed payment data from the last 90 days and calculate what percentage of those failures resulted in a lapsed membership. If the answer is more than 10 percent, you have a dunning problem and it is costing you real money every month.

    Build the dunning sequence first. It is the fastest to configure, the easiest to measure, and the most direct return. Then build the renewal reminder window.

    Then re-engagement. Then onboarding. Win-back is valuable but lower priority than the other three because it operates on members who have already left.

    Who should not invest heavily in these sequences yet: membership sites with fewer than 50 active members. At that scale, manual outreach is faster to set up and gives you richer qualitative data. Automation becomes the right tool when the volume makes manual handling genuinely impractical, typically around 100 to 200 active members or more.

    Download the free version of Krom Automation from the WordPress.org plugin directory and connect your first MemberPress trigger without spending anything. The free version covers the core workflow builder and execution logging, so you can see every sequence run and diagnose any step that does not fire as expected.

    See full pricing details for Krom Automation Pro, including the 14-day money-back guarantee and the lifetime licence options for sites that want to avoid annual renewal costs.

    Frequently Asked Questions

    What is a good churn rate for a WordPress membership site?

    Monthly churn rates below 2 percent are considered healthy for mature membership sites. Rates between 5 and 8 percent per month indicate a retention problem worth addressing immediately. Annual membership sites often show churn concentrated at renewal time rather than spread evenly, which changes how you interpret monthly figures.

    How do I know which members are about to cancel before they do?

    Login inactivity is the strongest leading indicator available in WordPress without third-party analytics. Members who have not logged in for 30 or more days and have a renewal within 60 days are your highest-risk cohort. Combining inactivity data with renewal date gives you a segment worth targeting with a specific re-engagement sequence rather than a generic email.

    Does offering a discount to cancelling members train people to threaten cancellation for a deal?

    It can, if the discount is offered automatically at the cancellation screen to every member every time. The win-back approach in this guide avoids that by placing the offer in a post-cancellation email sent 60 days later rather than at the point of cancellation. That timing selects for members who genuinely left rather than members testing the system.

    Can I run these sequences without a premium automation plugin?

    Some of this is achievable with MemberPress’s built-in reminders and a basic email marketing plugin. The limits appear quickly: no conditional branching based on cancellation reason, no multi-step delays that survive page load gaps, and no cross-workflow coordination between the dunning and re-engagement sequences. A dedicated automation plugin becomes necessary once you want more than a single triggered email per event.

    Do these workflows work with WooCommerce Subscriptions as well as MemberPress?

    Yes. Krom Automation has dedicated integrations for both.

    The trigger names differ between the two plugins, and the available merge tags vary slightly, but the sequence logic is identical. You can run separate workflows for each platform from the same Krom Automation installation if your site uses both.

    The wpRigel Team

    August 27, 2026
    User Guide
  • Out of Stock Products Are Losing You Sales. Automate the Fix

    A WooCommerce out of stock notification is not one problem, it is two. The first is operational: your team needs to know when stock runs low so they can reorder before the shelf empties.

    The second is commercial: customers who wanted to buy that product need a message the moment stock returns, or they will have already bought from a competitor. Most stores patch one hole and ignore the other, and that is exactly where the revenue leak lives.

    This article covers both sides in full. We will walk through the built-in WooCommerce settings for admin alerts, then explain how to build automated customer restock sequences using Krom Automation, a visual workflow plugin that handles both loops without a monthly per-task fee. We will also cover what happens after the restock email lands, which is the part every other guide skips.

    The stakes are real. A customer who lands on an out-of-stock product page, sees no “Notify Me” option, and leaves will rarely come back.

    A customer who leaves their email and gets a well-timed restock message converts at a dramatically higher rate than a cold visitor, because their intent was already established. That is the bigger win, and it is the one worth building properly.

    Browse all Krom Automation features to see how workflow automation handles both the operational and commercial sides of stock management.

    Part One: Admin Notifications (The Reorder Side)

    WooCommerce includes basic low-stock and out-of-stock email notifications for store admins out of the box. You do not need a plugin to activate them. You do need to know where to look, because they are off by default for many configurations.

    To enable them, go to WooCommerce > Settings > Products > Inventory. From there you can set a low stock threshold (the unit count that triggers the alert) and enable email notifications to the admin address.

    WooCommerce will then send an email when a product hits that threshold and another when it reaches zero. The official WooCommerce inventory documentation covers every field on that screen.

    What the Built-In System Does Well

    • Zero setup cost, no extra plugin required
    • Sends to the admin email address immediately when the threshold is crossed
    • Works per product and respects individual product stock management settings
    • Covers both low stock and out of stock as separate triggers

    Where It Falls Short

    • Sends to one email address only, so a purchasing manager and a warehouse lead cannot both receive it without sharing a mailbox
    • No Slack, Discord or SMS channel. If your team does not monitor that inbox, the alert disappears
    • No conditional logic, so a product with a 3-day reorder lead time gets the same alert timing as one with a 6-week supplier lead time
    • No follow-up if the reorder never happens. One email, then silence

    For a small store with one person watching one inbox, the native system is enough. For any team larger than that, or any store where missed reorders have cost real money, a workflow layer adds meaningful reliability.

    One email to one inbox is not an operations process. It is hope dressed up as a system.

    Extending Admin Alerts With Krom Automation

    Krom Automation’s free version includes two WooCommerce triggers: Order Created and Order Completed. Those triggers fire on every order, which means you can build a workflow that checks stock after each purchase and routes an alert to the right person before the shelf actually empties.

    The HTTP Request action in the free version supports POST to any endpoint, so you can push a low-stock alert to a Slack webhook, a Discord channel, or a Telegram bot without installing a separate notification plugin. The messaging integrations documentation covers the exact field configuration for each channel.

    Krom Automation Pro extends this further with dedicated Slack, Discord, Twilio and Telegram actions, plus a Schedule Trigger that can run a daily inventory check workflow on a fixed cadence rather than waiting for an order to fire it. If your store sells slowly and orders arrive infrequently, a scheduled check at 8am every morning is more reliable than an event-based check that may not fire for days.

    A Practical Admin Alert Workflow

    1. Trigger: Order Completed fires when a sale closes
    2. Action: HTTP Request posts to a Slack channel with the product name and remaining stock count, pulled via merge tags
    3. Condition: Branch on stock quantity. Below 5 units takes the “Yes” path, above takes “No” and exits
    4. Action on Yes path: Send Email to the purchasing manager with a reorder prompt and the supplier contact pulled from post meta
    5. Delay: Wait 48 hours
    6. Action: Send a follow-up email if the product is still below threshold

    That workflow takes about 10 minutes to build on the visual canvas. It would take a developer 2 to 3 hours to replicate in custom PHP, and it would need maintaining every time WooCommerce updates. The visual workflow builder documentation shows how to connect nodes and configure conditions on the canvas.

    Part Two: Customer Notifications (The Revenue Side)

    This is the bigger win. A customer who hits an out-of-stock page and sees no signup option is gone.

    A customer who leaves their email and receives a well-timed, well-written restock message is a warm lead with established intent. The conversion rate difference between those two outcomes can be the difference between a profitable product line and a written-off one.

    WooCommerce does not include a native “Notify me when available” feature. You need either a dedicated back-in-stock plugin or a workflow system that captures the request and sends the alert automatically.

    Capturing the Waitlist: Your Options

    Approach What it captures What it automates Guest support
    Dedicated back-in-stock plugin (e.g. WooCommerce Back In Stock Notifications) Email per product, including variations Single restock email, auto-sent when stock updates Yes, via email field
    Form plugin + Krom Automation workflow Email, name, any field you add Full sequence: restock email, follow-up, urgency message, list sync Yes, no account required
    WooCommerce Waitlist (paid plugin) Email, logged-in user data Single restock email, demand reporting Limited, logged-in only by default

    A dedicated plugin is the simplest path if all you need is one email when stock returns. The form-plus-workflow approach takes more setup but gives you everything after the first email, which is where most stores stop and where most of the conversion opportunity sits.

    Building the Waitlist Capture

    Place a short form on the out-of-stock product page. Most form plugins support embedding directly in a WooCommerce product template. The form needs two fields: email address and the product identifier (either a hidden field pre-populated with the product ID, or a visible product name field).

    Krom Automation integrates with Gravity Forms, WPForms, Fluent Forms, and Contact Form 7. When the form submits, a workflow fires immediately. The Gravity Forms integration documentation and the Fluent Forms integration documentation both show how to map form fields into workflow actions using merge tags.

    The restock email everyone sends is not where the conversion happens. What you do in the 72 hours after that email is where the sale is won or lost.

    The Post-Notification Sequence: What No One Else Builds

    Every guide stops at “send the restock email.” That is step one. Here is what a full sequence looks like when you have a workflow engine behind it.

    A Five-Step Restock Sequence

    1. Immediate confirmation (on form submit): Send an email confirming the signup. This sets expectations, builds trust and reduces the number of people who forget they signed up and mark the restock email as spam. Send it within 30 seconds of form submission.
    2. Restock alert (when stock updates): The trigger here is Post Updated or a webhook from your inventory system. The email names the product, links directly to the product page, and tells them how many units are available. If you have 20 units and 60 people on the waitlist, say so. Scarcity framing on a product they already wanted is not manipulation, it is useful information.
    3. Urgency follow-up at 24 hours: If they have not bought yet and stock is still available, send a follow-up. Keep it short. “Still available, but stock is moving fast” with a single button to the product page. This step alone recovers a meaningful percentage of people who opened the first email but got distracted.
    4. Final call at 48 hours: If stock is low (under 10 units, for example), send a final message. If stock has sold out again, send a different message acknowledging it and inviting them to stay on the waitlist.
    5. List sync: Add the subscriber to your email marketing list via the Mailchimp integration or FluentCRM, tagged with the product they waited for. That data is useful for future product launches, pre-order campaigns and segmented promotions.

    Building this in Krom Automation means drawing those five steps on a canvas, connecting them with delay nodes, and adding a conditional branch at step 4 that checks current stock before deciding which message to send. The delays and scheduling documentation covers how to configure 24-hour and 48-hour waits accurately.

    Variation-Level Notifications

    One of the most common questions from store owners is whether restock alerts work for specific product variations, the size M in blue, the 500ml version, the 12-month plan. The answer depends on how you capture the request.

    If you use a form, add a hidden field that populates with the variation ID, not just the parent product ID. WooCommerce exposes the variation ID in the URL when a customer selects a variant, and most page builders or theme functions can inject it into a form field automatically. Your workflow then stores and uses the variation ID to match the correct restock event.

    • Customers who waited for Size M should not receive an alert when only Size XL restocks
    • If you have 200 subscribers split across 8 variants, treating them as one list sends the wrong email to most of them
    • Variation-level data also tells you which sizes and colours to prioritise in your next reorder, which is free inventory forecasting

    The Cost of Doing Nothing

    Let us put a number on the problem. If your store has 5 out-of-stock products at any given time, and each product page receives 100 visitors per month while out of stock, that is 500 potential buyers per month hitting a dead end.

    If even 10 percent of those visitors would have converted at your average order value, and your average order is $60, that is $3,000 per month in unrecovered revenue. That figure does not include repeat purchase value.

    The manual version of this process, checking stock daily, emailing customers individually, updating a spreadsheet of waitlist contacts, takes 3 to 5 hours per week for a medium-sized store. At a $25/hour cost of time, that is $300 to $500 per month in labour before a single extra sale is made. The automation ROI calculator on the wpRigel blog walks through how to put a real number on this for your specific situation.

    A spreadsheet of waitlist contacts is not a system. It is a list of people you will eventually forget to email.

    What Each Plan Costs Across Different Store Sizes

    Store situation Recommended setup Annual cost What you get
    1 store, basic admin alerts only Krom Automation free $0 16 triggers, 21 actions, email alerts, HTTP request to Slack
    1 store, full customer sequence + list sync Krom Automation Pro Basic $119/year or $299 lifetime 80+ additional triggers, 24 integrations, visual email builder, schedule trigger
    Up to 5 stores or client sites Krom Automation Pro Standard $199/year or $499 lifetime Everything in Basic across 5 site activations
    Agency or unlimited sites Krom Automation Pro Enterprise $369/year or $799 lifetime Everything, unlimited sites, single licence

    Every Pro plan includes every feature. The only difference between plans is the number of sites. All plans carry a 14-day money-back guarantee, and the free version has no trial period, no run caps and no features locked away.

    Common Configuration Problems and Fixes

    Work through this list in order. The first items cause the most problems and are the fastest to rule out.

    1. Admin emails not arriving: Check that WooCommerce inventory notifications are enabled at WooCommerce > Settings > Products > Inventory, and that the low stock threshold is set above zero. A threshold of 0 means the alert never fires until the product is already gone.
    2. Low stock threshold set per product overrides the global setting: If you have edited a product’s stock settings individually, the global threshold does not apply. Check the product’s Inventory tab for a product-level override.
    3. Emails going to spam: WooCommerce sends from the WordPress server’s default mail function, which lacks proper authentication. Add an SMTP plugin (WP Mail SMTP is the standard choice) and connect it to a real sending account. This affects both admin alerts and customer restock emails.
    4. Out-of-stock products hidden from the shop: WooCommerce has a setting at WooCommerce > Settings > Products > Inventory to hide out-of-stock items. If it is checked, customers cannot reach the product page to sign up for alerts. Turn it off if you want the waitlist capture form to be accessible.
    5. Workflow not firing on restock: If you are triggering on Post Updated, confirm that updating the product stock count actually saves the post. Some inventory management plugins update stock directly in the database and bypass the post save hook, which means the trigger does not fire. Use the workflow simulator to test before going live.

    What This Setup Does Not Cover

    Honesty matters here. This approach works best when the restock event touches WordPress directly, either through a WooCommerce stock update or a webhook from an external system. If your inventory lives entirely in an external warehouse management system that never writes back to WooCommerce, the trigger chain described above does not work without a custom integration.

    SMS and push notification channels require either a Pro plan with the Twilio integration or a third-party service connected via HTTP Request. They are possible but add configuration steps beyond what we have covered here. Email remains the highest-volume, lowest-friction channel for restock alerts for most stores in 2026.

    Guest users can sign up for waitlist alerts via a form without creating an account, which is covered above. However, if you want to link their waitlist subscription to a later WooCommerce account, that matching logic requires a workflow step that looks up the email against existing users at signup time.

    Our Verdict

    If you have not turned on WooCommerce’s built-in admin notifications yet, do that today. It takes five minutes and it closes the most basic hole. If you are managing more than 20 products and have experienced a stockout that cost you real orders, the native system is not enough and you already know it.

    The customer notification side is where the serious revenue sits. A single restock email is better than nothing.

    A five-step sequence with urgency follow-ups, conditional branching on stock level, and a list sync to your email marketing tool is what converts waitlist subscribers at a rate worth measuring. That is what Krom Automation builds, and it builds it once, not every time a product sells out.

    Download the free version from the WordPress.org plugin directory and build the admin alert workflow today at no cost. The full customer sequence, including the visual email builder and email marketing integrations, is in Pro. See the full plan breakdown and pricing to find the right fit for your store.

    Frequently Asked Questions

    Can guest users sign up for back-in-stock alerts without creating an account?

    Yes. If you capture waitlist signups via a form plugin, guests can submit their email with no account required. The form submission fires a Krom Automation workflow that stores their details and triggers the restock email sequence when stock returns.

    Why am I not receiving low stock emails as the store admin?

    The most common cause is that WooCommerce inventory notifications are disabled or the low stock threshold is set to zero. Go to WooCommerce > Settings > Products > Inventory and check both settings. If notifications are enabled but emails are still missing, an SMTP plugin is usually the fix, because WordPress’s default mail function is blocked by many hosting providers.

    Do restock alerts work for specific product variations, like size or colour?

    They can, but only if you capture the variation ID at signup, not just the parent product ID. Add a hidden field to your waitlist form that populates with the variation ID, then use that ID in your workflow to match the correct restock event and filter who receives each alert.

    Can I use my waitlist subscribers for future email marketing campaigns?

    Yes, with a caveat. You need explicit consent at the point of signup if you intend to market beyond the restock notification itself. Add a checkbox to the form, then use a Krom Automation workflow to sync only checked subscribers to your email marketing list via the Mailchimp, FluentCRM or MailerLite integrations.

    What stops WooCommerce from hiding out-of-stock products so customers can find the waitlist form?

    There is a setting at WooCommerce > Settings > Products > Inventory called “Hide out of stock items from the catalog.” Uncheck it. The product remains visible on the shop page and category pages, customers can reach the product page, and the waitlist form is accessible. The product will still show as out of stock, it simply will not disappear from browsing.

    The wpRigel Team

    August 27, 2026
    User Guide
  • How to Stop Doing WooCommerce Order Admin by Hand

    To automate WooCommerce order management without code, you need a visual workflow plugin that connects WooCommerce triggers, like Order Created and Order Completed, to actions like status changes, customer emails, CRM updates and Slack notifications. Krom Automation does this on a drag-and-drop canvas, runs entirely on your server, and starts free with no task limits or run caps.

    Most store owners underestimate how much time order admin actually takes. Checking statuses, sending follow-up emails, updating spreadsheets, notifying the team: none of it is hard, but all of it compounds. A store processing 30 orders a day can easily generate 2 to 3 hours of repetitive admin work before lunch.

    This guide breaks down the tasks most worth automating, roughly what each costs you per week if you keep doing it by hand, and the exact automation that removes it. We cover the forward order journey and the part almost no guide touches: failure handling and reverse logistics.

    Browse the full feature list to see every WooCommerce trigger and action Krom Automation supports.

    What Manual Order Admin Actually Costs You

    Before automating anything, it helps to put a number on the problem. The table below uses a mid-size store processing 50 orders per week as the baseline. Adjust the order count and your hourly rate to get your own figure.

    Task Time per order (manual) Weekly cost at 50 orders Automatable?
    Moving order to “Processing” after payment 1 to 2 min 50 to 100 min Yes, fully
    Sending order confirmation email 1 min 50 min Yes, fully
    Notifying the team of new orders (Slack/email) 1 to 2 min 50 to 100 min Yes, fully
    Logging orders to a spreadsheet or CRM 2 to 3 min 100 to 150 min Yes, fully
    Following up on unpaid or on-hold orders 3 to 5 min 30 to 50 min (partial cohort) Yes, with delay
    Handling failed payment retries 5 to 10 min 25 to 50 min (partial cohort) Yes, with branching
    Sending post-purchase review requests 1 to 2 min 50 to 100 min Yes, with delay

    At a conservative $25 per hour, that is $70 to $140 in staff time per week for a 50-order store, or $3,600 to $7,300 per year, before accounting for mistakes. That is the real cost of doing it by hand.

    Manual order admin does not feel expensive because no single task takes long. It is expensive because every task happens dozens of times a day, every day, forever.

    The Seven Order Tasks Worth Automating First

    Work through these in order. The first three remove the most time for the most stores. Skipping ahead to review requests while you are still manually logging orders to a spreadsheet is the wrong priority.

    1. Order Status Transitions

    WooCommerce does not automatically move orders from “Processing” to “Completed” after fulfillment unless you configure it. Most stores have someone checking a queue and clicking buttons. A Krom Automation workflow triggered on Order Completed can update the status, send the customer a completion email with a tracking link, and log the event, all in under a second and with no one touching the admin panel.

    2. Customer Notifications

    WooCommerce’s default emails are functional but plain. More importantly, they are not triggered by every status change you care about.

    You can build a workflow that fires a branded email the moment a specific status is set, using merge tags to inject the customer name, order number, product list and total into the message body. See the merge tags documentation for every available variable.

    3. Team Notifications

    When a high-value order arrives, someone needs to know immediately. A workflow triggered on Order Created can send a formatted Slack message or internal email containing the order value, customer name and product list, firing within seconds of payment. See the messaging integrations documentation for Slack, Discord, Twilio and Telegram setup.

    4. CRM and Spreadsheet Sync

    Logging order data to a CRM or Google Sheets by hand is one of the most common sources of entry errors and one of the easiest to eliminate. A workflow triggered on Order Created can push a row to Google Sheets with the order total, customer email, product names and date, or create and tag a contact in FluentCRM. The Google Sheets integration documentation and FluentCRM integration documentation cover both setups.

    5. Post-Purchase Review Requests

    A review request sent 7 days after delivery converts at a meaningfully higher rate than one sent immediately. Krom Automation supports delay scheduling in minutes, hours, days and weeks, so you build the workflow once and set a 7-day delay before the email action fires.

    The workflow runs while you sleep. We covered the mechanics behind review timing in more detail in why customers are not leaving reviews and how to fix it.

    6. Repeat Purchase Sequences

    An Order Completed trigger can start a nurture sequence: a thank-you email on day one, a product recommendation email on day 14, a loyalty discount on day 30. Each step uses a delay node on the canvas. The sequence runs automatically for every completed order without any manual intervention.

    7. Low-Stock Alerts

    WooCommerce has a basic low-stock email, but it goes to the admin email and offers no routing logic. A Krom Automation workflow can send a formatted alert to a specific supplier contact, log the event to a spreadsheet, and send a Slack notification to the purchasing team, all from a single trigger.

    The review request sent 7 days after delivery is worth building before almost any other marketing automation. It costs nothing to run and produces results that a one-time campaign cannot replicate.

    The Part Nobody Else Automates: Failures and Returns

    Every guide on WooCommerce automation covers the forward journey: order placed, confirmed, shipped, completed. Almost none covers what happens when something goes wrong. That gap is where the real admin burden hides.

    Failed Payment Handling

    When a payment fails, the default WooCommerce behaviour is to change the order status to “Failed” and send a generic email. What it does not do is: follow up with the customer 24 hours later, notify your team, or attempt any recovery sequence. A Krom Automation workflow triggered on Order Status Changed (to “Failed”) can:

    • Send the customer a helpful email explaining what to do, immediately
    • Queue a second email 24 hours later with a direct link to retry payment
    • Post a Slack alert to the team so someone can follow up if the value is high
    • Tag the customer in your CRM as “payment failed” for segmentation

    That four-step sequence takes about 15 minutes to build on the canvas. Without it, someone on your team handles each failed order manually, which takes 5 to 10 minutes per case.

    Out-of-Stock During Fulfillment

    An order can complete payment on an item that goes to zero stock before it ships. The correct response is fast: notify the customer, alert the team, and log the case. A workflow using the Order Status Changed trigger combined with a conditional branch checking product stock can route these orders to a dedicated notification path rather than letting them sit unnoticed in the queue.

    Return and Refund Workflows

    WooCommerce processes refunds, but it does not orchestrate the surrounding communication. When a refund is issued, a workflow can:

    • Send the customer a branded confirmation email with the refund amount and expected timeline
    • Update the order note with a timestamp and refund reason
    • Log the refund to Google Sheets for monthly reconciliation
    • Notify the relevant team member if the refund exceeds a set threshold

    None of this requires code. It requires building the workflow once on the canvas and letting it run every time a refund is processed.

    How Krom Automation Handles WooCommerce Specifically

    The free version of Krom Automation includes 2 WooCommerce triggers: Order Created and Order Completed. It also includes 2 WooCommerce actions: Create Coupon and Update Order Status. That covers the most common automations without spending anything.

    Krom Automation Pro adds 80+ additional triggers and 60+ additional actions across 24 integrations. The WooCommerce coverage in Pro extends to subscriptions, order notes, customer segmentation, and deeper status handling. The WooCommerce Subscriptions integration documentation covers the subscription-specific triggers and actions in detail.

    Every workflow runs in the background via Action Scheduler. Nothing executes during a page load, so a burst of 50 simultaneous orders does not slow your storefront. Execution logs give you a per-step audit trail for every workflow run, so when something fails you see exactly which step failed and why.

    An automation platform that does not show you per-step execution logs is asking you to trust a black box. When an order notification stops sending, you need to know whether the trigger fired, the action failed, or the delay is still pending.

    What Each Plan Gets You for a WooCommerce Store

    The decision most store owners face is whether the free version covers their needs or whether Pro pays for itself. This table answers that for the most common WooCommerce use cases.

    Automation need Free version Pro required
    Email customer when order is created Yes No
    Email customer when order is completed Yes No
    Update order status automatically Yes No
    Create a coupon on order completion Yes No
    Slack/Discord notification on new order No Yes
    Log orders to Google Sheets No Yes
    Sync customers to FluentCRM or ActiveCampaign No Yes
    Subscribe buyer to Mailchimp list No Yes
    Subscription renewal and expiry triggers No Yes
    Incoming webhook from fulfillment service No Yes
    Scheduled workflows (daily stock report, etc.) No Yes
    AI auto-tagging of order notes Yes No

    Pro starts at $119 per year for a single site or $299 as a lifetime licence. At 50 orders per week, recovering even 30 minutes of admin time per day covers the annual cost in under a week of saved labour. The full breakdown is at the Krom Automation pricing page.

    Three Things to Know Before You Build Your First Workflow

    Most WooCommerce automation guides skip the practical constraints. Here are three that matter.

    • Delay accuracy depends on WP-Cron. If your store gets consistent traffic, delays fire within a minute or two of schedule. On very low-traffic sites, WP-Cron fires late unless you configure a real server cron job. A 7-day review request delay on a quiet staging site will behave differently than on a live store.
    • Run-once enforcement prevents duplicate emails. Krom Automation includes a “run once per entity” setting. Enable it on customer notification workflows so a customer who triggers the same event twice does not receive the same email twice.
    • Test with the simulator before going live. The workflow simulator runs a dry-run execution with zero side effects. Use it before activating any workflow that sends emails or changes order data. It is the fastest way to catch a misconfigured merge tag before it goes out to real customers.

    The Honest Limitations

    Krom Automation is WordPress-native. If you need automation between two external services with no WordPress involvement, it is not the right tool. It is built for workflows where at least one side touches your WordPress site.

    The free version covers the two most common WooCommerce triggers. Stores that need Slack integration, Google Sheets sync, CRM connection, or subscription handling will need Pro. That is a genuine limitation of the free tier, not a bait-and-switch: the free version is genuinely useful for smaller stores, and Pro is where the deeper WooCommerce stack comes in.

    AI actions require you to supply your own API key from OpenAI, Google Gemini or Groq. wpRigel never charges per AI call and never marks up tokens.

    You pay your AI provider directly at their standard rates. For most stores the cost is negligible, but it is a setup step that requires a key.

    Frequently Asked Questions

    How do I automatically change WooCommerce order status without doing it manually?

    Use a workflow with the Order Completed or Order Status Changed trigger and pair it with the Update Order Status action. Set the target status, save the workflow, and it runs automatically every time the trigger fires. No manual intervention needed.

    Does the free version of Krom Automation work with WooCommerce?

    Yes. The free version includes two WooCommerce triggers (Order Created and Order Completed) and two WooCommerce actions (Create Coupon and Update Order Status). For integrations like Slack, Google Sheets and CRM sync, Pro is required.

    How do I sync WooCommerce orders to Google Sheets automatically?

    This requires Krom Automation Pro. Set the Order Created trigger, add a Google Sheets action, map the order fields (total, customer email, product names, date) to columns, and save.

    Every new order appends a row automatically. See the Google Sheets integration documentation for the full setup.

    Can I automate what happens when a WooCommerce payment fails?

    Yes. Use the Order Status Changed trigger filtered to the “Failed” status, then add a delay node and a follow-up email action. You can also branch the workflow to send a Slack alert for high-value orders and tag the customer in your CRM.

    Is there a run limit or task cap on Krom Automation workflows?

    No. The free version has no run caps and no execution limits.

    Pro also has no per-task or per-execution billing at any tier. You pay a flat annual or lifetime fee and all workflows run without restriction.

    How do I connect WooCommerce orders to my CRM automatically?

    Krom Automation Pro supports FluentCRM, ActiveCampaign, Mailchimp, ConvertKit, MailerLite and MailPoet as direct integrations. Set an Order Created or Order Completed trigger, add the relevant CRM action, map the customer fields, and the contact is created or updated on every order.

    Start With the Tasks That Cost You the Most

    The fastest return on WooCommerce automation comes from the tasks you do most often, not the most complex ones. For most stores that means order status transitions, customer notifications and team alerts first.

    Build those three workflows, confirm they run cleanly in the simulator, and then layer in Google Sheets sync, CRM integration and post-purchase sequences. You can read more about calculating the actual return in how to work out whether automation is saving you money.

    The free version of Krom Automation is the lowest-friction starting point. Install it, build your first workflow using the Order Completed trigger, and see what running without manual order admin actually feels like.

    When the Pro integrations become the bottleneck, the upgrade pays for itself quickly. Download the free plugin from the WordPress.org plugin directory and get the first workflow running today.

    See the full plan details and pricing to compare annual and lifetime options across all site counts.

    The wpRigel Team

    August 26, 2026
    User Guide
  • WordPress Welcome Emails Not Sending? Here Is Why

    If your WordPress welcome email is not sending, the most likely cause is one of six things: PHP mail() being blocked by your host, a missing or misconfigured SMTP setup, WP-Cron not firing, the email landing in spam, a subscriber stuck in an unconfirmed state, or a broken automation trigger. This guide covers all six in diagnostic order, so you find the real cause instead of guessing.

    Most forum threads on this topic are plugin-specific. A thread about MailPoet will not help you if you are using a membership plugin or a custom automation.

    This guide is plugin-agnostic. Work through the sections in order, because the causes at the top are more common and cheaper to fix than the ones at the bottom.

    Before diving in: if your site sends some WordPress emails fine but the welcome email specifically is broken, start at the section on automation triggers and subscriber status. If no WordPress emails are sending, start at SMTP.

    How WordPress Sends Email (And Why It Often Fails)

    WordPress uses a PHP function called wp_mail() to send every email the system generates. By default, wp_mail() passes the message to PHP’s built-in mail() function, which relies on the server’s local mail transfer agent. Most shared hosting providers either disable that local MTA or throttle it aggressively to prevent spam abuse.

    The result is silent failure. wp_mail() returns false, nothing appears in a log, and the user never receives their welcome email.

    No error, no bounce, nothing to investigate. That silence is the first diagnostic clue: if you see no error but no email arrives, the problem is almost certainly at the delivery layer, not the plugin layer.

    Silent failure is the most dangerous outcome. A working-looking system that delivers nothing looks identical to a working system until someone complains.

    Step 1: Test Whether WordPress Can Send Email at All

    Before diagnosing the welcome email specifically, confirm whether WordPress can send anything. Install a free plugin like WP Mail SMTP or Check Email and send a test message to an address you control. This takes under 2 minutes and eliminates a large category of causes immediately.

    If the test email arrives, your delivery layer is functional. Skip to Step 3. If it does not arrive, you have confirmed the problem is at the server or SMTP level, and Step 2 is your next stop.

    • Test email arrives in inbox: delivery is working. The fault is in the trigger, template or subscriber state.
    • Test email arrives in spam: delivery is working but authentication is failing. Jump to the spam and authentication section.
    • Test email does not arrive at all: the server cannot send mail. Fix SMTP before anything else.
    • Plugin throws an error on send: note the exact error message. SMTP credential failures, connection timeouts and TLS errors each point to different fixes.

    Step 2: Fix Your SMTP Configuration

    WordPress’s default mail() delivery fails on the majority of shared hosting plans. SMTP is the fix, and it is not optional on any site that depends on transactional email. SMTP authenticates your outgoing messages with a real mail server, which is why they reach inboxes instead of disappearing.

    Reliable transactional email providers for WordPress sites include Brevo (formerly Sendinblue), Postmark, Mailgun, Amazon SES and SendGrid. Most of them offer a free tier covering 100 to 300 emails per day, which is enough for a small membership or community site. At volume, Brevo’s free tier covers 300 emails per day and paid plans start around $15 per month for 20,000 sends.

    Common SMTP Configuration Errors

    • Port blocked by host: Port 25 is blocked on most shared hosting. Use port 587 (STARTTLS) or port 465 (SSL). If your SMTP plugin lets you choose, try 587 first.
    • Wrong encryption setting: Mismatching the port and encryption type causes a silent timeout. Port 465 requires SSL. Port 587 requires TLS.
    • Credentials copied with whitespace: Paste your username and password into a plain text editor first to strip hidden characters, then copy from there into WordPress.
    • From address mismatch: Many SMTP services require the “From” address to match a verified domain or sender identity. A mismatch causes the message to be rejected before it leaves the server.
    • App password not used: Gmail and Outlook accounts with two-factor authentication require an app-specific password, not the account password.

    After correcting your SMTP settings, send another test email before re-testing your welcome email. Confirm delivery is working in isolation before layering in the plugin logic.

    Step 3: Check Spam Placement and Email Authentication

    If your test email arrives but lands in the spam or junk folder, delivery is technically working but authentication is failing. Email providers use three authentication standards to decide whether to trust a message. Missing any one of them increases spam scoring significantly.

    • SPF (Sender Policy Framework): A DNS record that lists which servers are allowed to send email on behalf of your domain. If you send through Mailgun but your SPF record does not include Mailgun’s servers, receiving mail servers distrust the message.
    • DKIM (DomainKeys Identified Mail): A cryptographic signature that proves the message content was not altered in transit. Your SMTP provider generates a DKIM key you add to your DNS.
    • DMARC: A policy record that tells receiving servers what to do when SPF or DKIM fails. Without it, the decision is left to the receiver, and it often goes against you.

    Check your authentication records at MXToolbox or mail-tester.com before assuming your content is the problem. A score below 8 out of 10 on mail-tester almost always points to a missing or misconfigured DNS record rather than anything in the email body.

    Most welcome emails land in spam because of missing DNS records, not because of anything in the message itself. Fix authentication before rewriting your subject line.

    Content That Triggers Spam Filters

    Once authentication is clean, content can still hurt deliverability. Welcome emails are particularly vulnerable to a few patterns. Keep these out of your welcome email template:

    • More than 2 links in a short message (welcome emails are often under 150 words, and 3 links in that space reads as promotional)
    • Uppercase words in the subject line
    • Phrases like “click here”, “free gift” or “you’ve been selected”
    • Images with no alt text, or emails that are mostly image with minimal text
    • A mismatch between the “From” name and the sending domain

    Step 4: Diagnose WP-Cron and Action Scheduler

    If your welcome email is triggered by an automation plugin and it shows as “scheduled” but never sends, WP-Cron is the most likely culprit. WordPress’s built-in cron system fires when a page is loaded, not on a real server clock. On low-traffic sites, no page load means no cron fire, and scheduled emails wait indefinitely.

    Symptoms of a broken cron look like: emails that eventually arrive hours late, emails that arrive in batches when someone visits the site, or emails that show as queued in your plugin’s dashboard but never clear.

    How to Check WP-Cron Health

    Install the WP Crontrol plugin and look at the scheduled events list. Events that were due to run an hour or more ago and are still pending confirm WP-Cron is not firing reliably. The permanent fix is to disable WP-Cron and replace it with a real server cron job.

    Add this line to your wp-config.php file:

    define( 'DISABLE_WP_CRON', true );

    Then add a server cron job (via cPanel or your host’s task scheduler) that calls the WordPress cron endpoint every 5 minutes:

    */5 * * * * wget -q -O - https://yoursite.com/wp-cron.php?doing_wp_cron /dev/null 2>&1

    If you cannot access server cron, services like EasyCron or cron-job.org provide external cron triggers for free. A 5-minute interval is enough for welcome emails to feel near-instant to a new user.

    Action Scheduler Specifically

    Automation plugins that use Action Scheduler (WooCommerce, many others including Krom Automation) rely on it processing its queue consistently. If Action Scheduler’s queue shows a large backlog of failed or pending actions, check your server’s PHP time limit.

    Actions timing out at 30 seconds can corrupt the queue. Raising the PHP time limit to 120 seconds in php.ini or via your host’s control panel clears the backlog in most cases.

    Step 5: Check Subscriber and User Status

    This is the cause most forum threads identify for plugin-specific welcome email failures. Many email and membership plugins gate the welcome email behind a confirmation step. If the user’s status is “unconfirmed”, “pending” or “awaiting approval”, the plugin deliberately withholds the welcome email until confirmation completes.

    • Double opt-in enabled: If your list plugin has double opt-in active, the welcome email sends only after the user clicks the confirmation link in a separate email. If that confirmation email is also not arriving, the fix is SMTP, not the welcome email logic.
    • User role restriction: Some welcome email plugins send only to specific roles. If a new user registers as “Subscriber” but the trigger is set to fire only for “Customer” or a custom role, they are silently excluded.
    • Registration not completing: If your registration form requires admin approval, users sit in a “pending” state. The trigger fires on approval, not on initial registration. If approval is never given, no email ever sends.
    • Duplicate email prevention: A “run once per user” guard on your automation means a user who already exists in your database will not receive the welcome email if they create a second account with the same address.

    Check the user’s actual record in WordPress under Users All Users. Look at their role, their registration date, and whether the plugin that sends the welcome email has a separate contact or subscriber record for them.

    Step 6: Check the Automation Trigger and Template

    If delivery works, spam is not the issue, cron is healthy, and the user’s status is correct, the fault is in the automation logic itself. This happens most often after a plugin update changes an event hook name or alters when a trigger fires.

    Trigger Timing Mismatch

    WordPress fires different hooks at different points in the registration process. Some plugins hook into user_register, which fires immediately when a user is added to the database.

    Others hook into wp_login, which fires only when the user actually logs in after registration. If your trigger and your event are on different hooks, the trigger never fires.

    If you are building or managing welcome email automations manually, check exactly which WordPress action your plugin listens to. The User Registered trigger in Krom Automation fires on user_register, which means it fires the moment registration completes, before the user has logged in.

    That is usually the right timing for a welcome email. See the full free triggers reference for exactly when each trigger fires.

    Missing or Overwritten Template

    If your welcome email previously worked and stopped after a plugin update, check whether the email template still exists. Some plugins store templates in the database. An update that resets settings or re-installs default templates can silently replace a custom template with the default, or delete the custom one entirely.

    Check your plugin’s email template editor and confirm the template is present, active and assigned to the correct trigger event. If you use Krom Automation and want to build a properly formatted welcome email with a visual editor rather than a plain HTML field, the visual email builder documentation shows how to design it without touching code.

    Workflow Paused or Disabled

    This is embarrassingly easy to miss. If you are using an automation plugin, check whether the workflow or rule containing the welcome email is actually active.

    Most plugins show a toggle or status indicator. A workflow sitting in “paused” or “draft” state executes nothing, regardless of how well configured it is.

    A paused workflow is not a broken workflow. It is just an off switch. Check the toggle before spending an hour on SMTP logs.

    Diagnostic Decision Table: Which Fix Applies to You

    Symptom Most Likely Cause Where to Start
    No WordPress emails send at all PHP mail() blocked or SMTP not configured Step 2: SMTP setup
    Test email sends, welcome email does not Trigger not firing or template missing Step 6: trigger and template
    Email arrives in spam Missing SPF, DKIM or DMARC records Step 3: authentication
    Email shows as scheduled, never sends WP-Cron not firing or Action Scheduler backlog Step 4: cron health
    Some users get the email, others do not Subscriber status or role restriction Step 5: user status
    Worked before, broke after update Plugin conflict or overwritten template Step 6: template and hook timing
    Test mode works, live signup does not Cron timing or trigger hook mismatch Step 4 then Step 6

    What a Reliable Welcome Email Setup Actually Looks Like

    A setup that sends consistently in 2026 has three layers: a real SMTP connection to a transactional provider, a genuine server cron replacing WP-Cron, and a clearly defined trigger tied to the exact moment registration completes. Without all three, you are relying on defaults that fail under normal hosting conditions.

    The time cost of getting this right once is roughly 45 to 90 minutes: 20 minutes to configure SMTP and verify authentication records, 15 minutes to set up server cron, and the rest to test the full trigger-to-inbox journey with a real test account. That is a one-time investment. The alternative is debugging failed welcome emails for an hour every time a new user signs up and complains.

    Year 1 vs Ongoing Cost Comparison

    Approach Setup Time Ongoing Cost Reliability
    Default wp_mail() with no SMTP 0 minutes $0 Unreliable on most shared hosts
    Free SMTP tier (Brevo, Mailgun) 20 to 30 minutes $0 up to ~300 sends/day High, with proper DNS records
    Paid transactional email service 20 to 30 minutes $10 to $25/month at low volume High, with SLA and deliverability tools
    Automation plugin with built-in email 45 to 90 minutes total $0 free tier or from $119/year Pro High when SMTP and cron are also configured

    Using Krom Automation for Welcome Emails

    If you want a welcome email that goes beyond a plain text message, with conditional logic, delays, merge tags and a visual layout, Krom Automation handles this in the free version with no run caps. The User Registered trigger fires immediately on signup.

    The Send Email action accepts merge tags so the email can address the user by name, include their username and include any other data captured at registration. You can see the full build walkthrough in the welcome email automation guide.

    If your registration happens through a form plugin rather than the native WordPress signup page, Krom Automation supports triggers from Fluent Forms, Gravity Forms, WPForms and others, so the trigger can fire on form submission rather than on the WordPress user creation event. That matters for sites where registration is gated behind a multi-step form that creates the user only after all steps are complete.

    The workflow simulator lets you test the entire sequence with zero side effects before you go live, which is the fastest way to confirm the trigger fires correctly without sending a test email to a real user.

    After You Fix It: Prevent the Problem from Coming Back

    Most welcome email failures are not one-off events. They are symptoms of a fragile setup that will break again. After fixing the immediate cause, put these three things in place:

    • Enable failure notifications: If your automation plugin supports email alerts on failed executions, turn them on. Krom Automation sends failure notifications automatically and retries with configurable backoff, so you learn about a failure within minutes rather than days.
    • Monitor your execution log: A log showing success rate per workflow is worth checking weekly. A workflow that was delivering at 100% and drops to 85% is about to fail completely. Catching the dip saves the firefight.
    • Test after every plugin update: Automation triggers are the most common casualty of plugin version updates. A 2-minute test send after any update to a plugin involved in your welcome email flow confirms nothing broke.

    If you want to understand whether the time you put into automation setup is paying off, the automation ROI guide gives you a concrete way to calculate it.

    Verdict: What to Do and In What Order

    Most people diagnosing a broken welcome email jump to the wrong layer first. They edit the email template when the real problem is SMTP.

    They update their plugin when the real problem is WP-Cron. Following the diagnostic order in this guide saves you from that loop.

    Start with the delivery test in Step 1. If that passes, move to spam authentication. If authentication is clean, check cron.

    If cron is healthy, look at user status. If user status is correct, the fault is in the trigger or template. That order covers over 95% of cases without needing to guess.

    If you are rebuilding your welcome email setup from scratch and want something that is auditable, testable and reliable without depending on a third-party automation platform, download Krom Automation free from the WordPress.org plugin directory and follow the welcome email automation guide. The free version includes everything you need for a trigger, a personalized email and an execution log you can actually read.

    For sites that need a more complete automation setup around onboarding, such as a day-3 follow-up, a role change after a specific action, or an email sequence tied to course enrollment, see the full Krom Automation pricing for what the Pro tier adds.

    Frequently Asked Questions

    Why does my welcome email work in test mode but not on live signups?

    Test mode usually triggers the email directly, bypassing the automation queue. Live signups go through WP-Cron or Action Scheduler, which may not be firing reliably. Set up a real server cron job as described in Step 4 and the gap between test and live behaviour closes.

    All my other WordPress emails send fine. Why is just the welcome email broken?

    Other WordPress emails, like password resets, use different hooks and are often sent synchronously rather than through a scheduler. Welcome emails in automation plugins are queued.

    The queue depends on cron. Check cron health in Step 4, then check the trigger event and user status in Steps 5 and 6.

    New users are stuck as “Unconfirmed” and never receive the welcome email.

    Double opt-in is enabled in your plugin. The welcome email is intentionally withheld until the user confirms their address. Check whether the confirmation email is reaching them.

    If that is also not arriving, fix SMTP first. If it is arriving but users are not clicking, review the confirmation email’s subject line and from address.

    My welcome email shows as scheduled but never actually sends.

    WP-Cron is not firing reliably. Disable it in wp-config.php and replace it with a real server cron that pings the cron endpoint every 5 minutes. If your automation plugin uses Action Scheduler, also check for a large backlog of failed actions in its queue, which often points to a PHP timeout issue.

    Do I need an SMTP plugin to send welcome emails reliably?

    On any shared hosting plan, yes. PHP’s built-in mail function is disabled or throttled on most shared hosts.

    An SMTP plugin connecting to a transactional provider like Brevo, Mailgun or Postmark is the difference between reliable delivery and silent failure. The setup takes under 30 minutes and most providers have a free tier that covers hundreds of sends per day.

    Why is WordPress sending the default welcome email instead of my custom one?

    A plugin update likely reset your email template settings. Check your plugin’s email template editor and confirm your custom template is still present and set as active for the registration event.

    Also confirm the plugin has not created a new default that overrides your customisation. Some plugins require you to explicitly disable the default template separately from enabling the custom one.

    The wpRigel Team

    August 26, 2026
    User Guide
  • Turning First-Time Buyers Into Repeat Customers Automatically

    To increase repeat purchases in WooCommerce, you need one thing before any plugin or loyalty program: a clear picture of where customers are dropping off. Most stores skip that step, jump straight to tactics, and then wonder why their email sequence isn’t working. This guide covers the diagnosis first, then the automation sequence that actually converts a first order into a second, using Krom Automation as the engine.

    Acquiring a new customer costs between 5 and 7 times more than retaining an existing one. That figure is cited constantly, but the operational implication is rarely spelled out: every first-time buyer your store doesn’t convert to a second purchase is a marketing spend that never pays back. On a store doing 200 orders a month, converting even 15% more of those first-timers to repeat buyers adds meaningful revenue without touching your ad budget.

    The 30-day window after a first purchase is the highest-leverage period you have. Engagement is at its peak, the product is in the customer’s hands, and your brand is still top of mind. What you do in that window, or fail to do, largely determines whether that customer ever returns.

    See how Krom Automation handles post-purchase workflows

    Diagnose Before You Fix: Why Are Customers Not Returning?

    Every article on this topic skips the diagnostic step. They hand you a list of tactics without helping you understand which problem you actually have. A store with a product quality issue and a store with a broken post-purchase email sequence look identical in the headline number, but need completely different fixes.

    Start by pulling three numbers from your WooCommerce reports:

    • Repeat purchase rate: the percentage of customers who have placed more than one order. A healthy e-commerce store typically sits between 25% and 40%. Below 20% is a signal worth investigating.
    • Time to second order: the median number of days between order 1 and order 2 for customers who did return. This tells you when to send your re-engagement message.
    • Drop-off by product category: if customers who bought from category A return at 35% but customers who bought from category B return at 8%, the problem may be product-level, not marketing-level.

    Once you have those numbers, you can match your situation to a real cause. The table below maps common patterns to their most likely diagnosis.

    What you see in the data Likely cause Fix to prioritise
    Low repeat rate across all categories No post-purchase follow-up sequence Build the 30-day automation sequence below
    Low repeat rate in one category only Product-market fit or quality issue Review that product line before adding marketing
    Good repeat rate but long gap (90+ days) No timely nudge at the right moment Add a day-30 and day-60 re-engagement trigger
    High email open rates but low second orders Weak offer or wrong product recommendation Personalise the follow-up by first purchase category
    Second order rate good, third order drops No habit loop or subscription mechanism Introduce a subscribe-and-save or refill reminder

    Most stores have problem one or problem three. Running an automation sequence fixes both. The rest of this article assumes you have ruled out a product quality issue and are dealing with a follow-up gap.

    The Economics of Getting This Right

    A customer who buys twice has already demonstrated that your store clears their bar for trust, quality and convenience. The cost to convert them a third time is a fraction of what it cost to acquire them. That compounding effect is the real retention argument, not the 5x acquisition cost stat.

    The first purchase tells you what a customer is willing to pay. The second purchase tells you whether you earned them. Everything after that is profit on trust you already built.

    To make this concrete: if your average order value is $85 and your customer acquisition cost is $32, a customer who orders once gives you a net of $53 before cost of goods. A customer who orders three times, with no additional acquisition spend, triples that return.

    Retention is not a loyalty program feature. It is the margin model.

    The human cost of doing this manually is also worth naming. Identifying which customers placed their first order 28 days ago, segmenting them by product category, drafting and sending a personalised follow-up, and then tracking whether it worked is 3 to 5 hours of work per campaign. Automated, that is zero hours per campaign after the initial setup.

    The 30-Day Sequence That Converts First Orders Into Second Orders

    This is the sequence we recommend building first. It covers the three highest-impact moments in the post-purchase window without overwhelming the customer with email.

    Day 1: The Order Confirmation That Does More Than Confirm

    WooCommerce sends a transactional confirmation automatically. What it does not send is a message that sets up the next purchase. Your day-1 automation, triggered by the Order Completed event, should do three things beyond confirming the order:

    • Tell the customer what to expect next, delivery timeline and any setup steps
    • Surface one complementary product, chosen based on what they bought, not what you want to move
    • Make it easy to contact support, because a customer who gets help quickly after a first order is significantly more likely to return

    In Krom Automation, this is a single workflow. The trigger is Order Completed. The action is Send Email, with merge tags pulling in the customer name, order number and product details dynamically.

    You build the email once. It sends correctly for every order, forever.

    Day 7: The Check-In

    A message at day 7 does two things. It checks that the customer received their order and is happy with it, and it catches any dissatisfaction before it turns into a negative review or a silent churn. This is also the right moment to ask for a review if the product has had time to be used.

    In Krom Automation, this uses a delay of 7 days after the Order Completed trigger. One workflow, one delay node, one email action.

    The message does not need to push a product. It just needs to open a door.

    If you want to understand more about why reviews matter and how to ask for them without being annoying, our post on why customers are not leaving reviews covers the mechanics in detail.

    Day 28 to 30: The Re-Engagement Offer

    This is the highest-leverage message in the sequence. By day 28, customers who are going to reorder without a nudge have usually already done so.

    Everyone else needs a reason to come back. That reason should be specific to what they bought, not a generic discount code.

    A conditional branch in Krom Automation lets you check whether the customer has already placed a second order before sending this message. If they have, the workflow exits.

    If they have not, it sends the re-engagement email with a personalised product recommendation and, optionally, a limited-time offer. Conditions and branching documentation covers how to build that logic.

    A discount on the right product at day 28 is not a margin sacrifice. It is the cheapest customer acquisition you will ever run, because the customer already exists.

    The Win-Back Sequence for Customers Who Go Quiet

    Some customers miss the 30-day window. They had a good experience, they just got busy. A win-back sequence targets customers who have not ordered in 60 to 90 days and have no second order on record.

    The most effective win-back sequences follow this structure:

    1. Day 60: A simple “we miss you” message with a relevant product recommendation. No pressure, no discount yet.
    2. Day 75: A stronger offer, a discount code or free shipping on their next order, with a clear expiry date.
    3. Day 90: A final message. Honest tone. “This is the last time we’ll reach out for a while.” Customers respond to honesty, and it stops you burning list quality on people who have genuinely moved on.

    The Schedule Trigger in Krom Automation Pro lets you run this as a recurring check, querying customers whose last order date was 60 days ago and who have not ordered since. The Schedule Trigger documentation explains the configuration options.

    What the Automation Stack Looks Like in Practice

    The table below shows the full sequence, what triggers each step, how long setup takes, and what breaks if you skip it.

    Step Trigger Delay What breaks if skipped
    Order confirmation plus cross-sell Order Completed None Customer feels abandoned post-purchase; cross-sell opportunity lost forever
    Day-7 check-in and review request Order Completed 7 days Dissatisfaction goes undetected; review rate stays low
    Day-28 re-engagement offer Order Completed 28 days First-time buyers churn silently; second-order rate stays flat
    Day-60 win-back message Schedule Trigger (Pro) 60 days from last order Lapsed customers never hear from you again
    Day-75 win-back offer Schedule Trigger (Pro) 75 days from last order The customers most likely to respond to an incentive never receive one
    Day-90 final message Schedule Trigger (Pro) 90 days from last order List stays polluted with unengaged contacts; deliverability suffers

    The first three steps run entirely on the free version of Krom Automation. The win-back steps use the Schedule Trigger, which is a Pro feature. The free vs Pro comparison lists exactly what each tier includes.

    Connecting to Your Email Marketing Tool

    Krom Automation can send emails directly using its built-in Send Email action and the visual email builder in Pro. It can also push contacts and events to your existing email marketing platform, which means you can use your ESP’s templates and segmentation while Krom handles the trigger logic.

    Supported integrations include Mailchimp, FluentCRM, ActiveCampaign, ConvertKit, MailerLite and MailPoet. If you already have sequences built in one of those platforms, Krom Automation handles the WordPress-side trigger and hands off to the tool you already use. The Mailchimp integration documentation and the FluentCRM integration documentation cover the setup for the two most common cases.

    Subscriptions and Refill Reminders: Locking In Repeat Purchases

    For consumable products, a subscribe-and-save model removes the decision to reorder entirely. Instead of hoping a customer remembers to come back, you bill them on a schedule they chose. The second purchase becomes automatic rather than something that requires a well-timed email.

    WooCommerce Subscriptions handles the billing side. Krom Automation handles the surrounding workflow: welcome messages when a subscription starts, renewal reminders before each charge, and win-back sequences when a subscription lapses. The WooCommerce Subscriptions integration covers the available triggers and example workflows.

    Failed subscription payments are worth treating as their own retention problem. A payment that fails and goes unaddressed loses the customer as effectively as if they never subscribed. Our post on recovering failed subscription payments covers the recovery sequence in detail.

    A subscribe-and-save model does not just increase repeat purchase rate. It converts a marketing problem into an operations problem, which is a much easier problem to solve.

    What This Approach Does Not Fix

    Automation cannot fix a product that disappoints. If customers are buying once and not returning because the product did not meet expectations, a better email sequence will accelerate your review of that problem, not solve it. You will see higher open rates on your re-engagement emails and flat second-order rates, which is actually useful diagnostic information.

    Automation also does not replace personalisation at scale. The sequences above work well for most stores.

    A store with a very broad catalogue, where a single customer might buy from five completely unrelated categories, will need more sophisticated segmentation than a generic 30-day sequence delivers. That is a solvable problem with conditional branching and category-aware recommendations, but it takes more configuration time than a first pass at these workflows.

    Finally, delays depend on WordPress Cron. On very low-traffic sites where nothing visits for hours, WP-Cron fires late.

    If precise timing matters, configure a real server cron to trigger WP-Cron on schedule. This is a one-time server configuration, not a Krom Automation limitation specifically, but it is worth doing before you build timing-sensitive sequences.

    Hidden Costs of Doing This Manually

    The manual version of this retention work involves:

    • Exporting your customer list weekly and filtering for first-time buyers from 28 days ago
    • Cross-referencing that list against second orders to exclude customers who already returned
    • Writing and sending a personalised email campaign for the remaining segment
    • Logging into WooCommerce again at day 60 to run the lapsed-customer segment
    • Doing all of this consistently, every week, without missing a cycle

    In practice, most stores do not do it consistently. They run a win-back campaign once, see reasonable results, mean to make it a regular thing, and then it falls off the to-do list.

    Automation does not produce better results because the workflows are smarter. It produces better results because the workflows actually run.

    The Verdict

    If your repeat purchase rate is below 25% and you have no automated post-purchase sequence, that is the highest-return thing you can fix in your store right now. The 30-day sequence above, built once on Krom Automation, runs for every order without ongoing effort.

    The free version covers the first three steps. The Pro version adds the win-back and lapsed-customer sequences.

    If your repeat rate is already healthy but your time-to-second-order is long (over 45 days), the day-28 re-engagement message alone is worth building. You are not trying to win back customers who have left. You are nudging customers who are already willing to return but haven’t had a reason to act yet.

    If you are not sure where to start, download the free plugin and build the Order Completed trigger with a 28-day delay and a Send Email action. That single workflow will tell you more about your customers than any analytics report, because you will see exactly how many first-time buyers respond when you actually reach out.

    See Krom Automation plans and pricing

    Frequently Asked Questions

    How do I track which WooCommerce customers have only ordered once?

    WooCommerce Reports under Customers shows order counts per customer. Filter for customers with exactly one order to get your single-purchase segment. Krom Automation’s workflow conditions let you check order count at trigger time, so you can exclude returning customers from re-engagement emails automatically without exporting anything.

    Should I offer a discount to get first-time buyers to come back?

    Not on day 1 or day 7. A discount too early trains customers to wait for an offer before buying.

    Reserve it for day 28 to 30, after you have confirmed they have not already reordered. At that point, the cost of the discount is lower than the cost of losing the customer permanently.

    How do I win back WooCommerce customers who haven’t ordered in 60 to 90 days?

    Build a three-message sequence: a no-pressure message at day 60, a discounted offer at day 75 with a clear expiry, and a final honest message at day 90. Krom Automation Pro’s Schedule Trigger runs this on a recurring basis so you are not manually identifying lapsed customers each week.

    Does WooCommerce Subscriptions work for subscribe-and-save models?

    Yes. WooCommerce Subscriptions handles the recurring billing. Krom Automation handles the surrounding workflow, including welcome messages, renewal reminders, and failed payment recovery.

    The two work alongside each other without conflict. See the WooCommerce Subscriptions integration documentation for setup details.

    How long does it take to set up the 30-day sequence in Krom Automation?

    The three-step sequence (day 1, day 7, day 28) takes most store owners 45 to 90 minutes to configure from scratch, including writing the email copy. After that it runs without any ongoing time investment. The win-back sequence adds another 30 to 60 minutes for the Pro setup.

    What if my post-purchase emails are being ignored?

    High send volume with low second-order rates usually means one of two things: the product recommendation is wrong (too generic), or the offer arrives at the wrong time. Check your open rates first. If opens are low, the subject line is the problem.

    If opens are good but clicks are low, the recommendation or offer is the problem. Both are fixable in the workflow without rebuilding from scratch.

    The wpRigel Team

    August 26, 2026
    User Guide
  • Why Customers Are Not Leaving Reviews (And How to Fix It)

    The fastest way to get more WooCommerce reviews is to ask at the right time, which is roughly 7 days after an order completes, not the moment the payment clears. Most stores either never ask, or ask immediately at checkout when the product is still in a warehouse. Fixing that single timing mistake, and automating the follow-up with a tool like Krom Automation, is enough to recover the majority of reviews you are currently leaving uncollected.

    The other common failure is treating every customer as identical. A buyer who spent $180 on a product they researched for two weeks has a different relationship with your store than someone who impulse-bought a $12 accessory. The review ask, the incentive structure, and the delay window should reflect that difference.

    This guide covers the mechanics of timing, the right way to structure incentives, how to catch a 1-star review before it publishes, and how to solve the cold-start problem for new products with zero reviews.

    See how Krom Automation handles WooCommerce review workflows

    Why Most WooCommerce Stores Get Zero Reviews

    WooCommerce does not send automated review request emails by default. It enables product reviews in the block editor, but the mechanism for asking customers to leave one is entirely absent from core. That means the store owner must build it, or install something that does it for them.

    Even stores that do send a request usually send it at the worst possible moment. An email triggered by Order Completed fires the instant the order status flips, which is typically the moment of payment, not the moment of delivery.

    The customer has not touched the product. They have nothing to say.

    Asking for a review before the product arrives is not just ineffective. It trains customers to ignore every follow-up email you ever send.

    The result is a store with 400 orders and 3 reviews, all from customers who were motivated enough to seek out the review form unprompted. That is not a sample of your customer satisfaction. It is a sample of your most emotionally activated customers, and it skews negative.

    The 7-Day Delay: Where the Number Comes From

    Seven days is not a magic figure. It is a practical floor that accounts for two things: average domestic shipping time and the window in which product experience is fresh enough to motivate action.

    Most domestic orders in the US and UK arrive within 3 to 5 business days. A 7-day delay from order completion means nearly every customer has the product in hand before the email lands. A 14-day delay is safer for stores with slower fulfilment or international shipping, but response rates tend to drop after the 10-day mark because the novelty of the purchase has faded.

    The practical decision is this:

    • 3 to 5 day fulfilment, domestic shipping: 7-day delay works well
    • 5 to 10 day fulfilment or international orders: 10 to 14-day delay is safer
    • Digital products or instant delivery: 24 to 48 hours is appropriate, product experience is immediate
    • Subscription boxes or consumables: 21 days, give them time to actually use it

    Building this in Krom Automation means using the Order Completed trigger with a delay node set to your chosen window. The delay runs in the background via Action Scheduler, so it does not block anything during page loads and fires accurately even on shared hosting. The delays and scheduling documentation covers the exact configuration steps.

    Building the Review Request Workflow

    The core workflow has four nodes: a trigger, a delay, a condition check, and an email action. Here is the decision logic at each step.

    Step 1: Choose the Right Trigger

    Use Order Completed as the trigger, not Order Created and not Payment Received. Order Completed fires when fulfilment is confirmed, which is the closest native WooCommerce event to “the customer probably has the product now.” Triggering on Order Created fires at payment, before shipping starts.

    Step 2: Set the Delay

    Add a delay node immediately after the trigger. Set it to 7 days for standard domestic orders, or adjust to match your fulfilment window. The conditions and branching documentation covers how to add a second branch that handles different shipping zones with different delay lengths if your store ships internationally.

    Step 3: Check Whether a Review Already Exists

    This step is optional but valuable. If the customer has already left a review, sending a request email is awkward at best and irritating at worst.

    A conditional branch checking for an existing post meta value on the order can skip the email for customers who already reviewed. This also prevents duplicate emails if the workflow fires twice due to a status edge case.

    Step 4: Send the Email

    Use the Send Email action with merge tags to personalise the message. At minimum, pull in the customer’s first name and the product name they purchased.

    A generic “Dear Customer, please review your recent order” email reads like a template. Naming the product (“How is the [Product Name] working out for you?”) makes the ask feel personal and specific.

    Use merge tags to inject live order data directly into the email subject and body without writing a single line of PHP.

    A review request email that names the product converts at roughly 3 to 4 times the rate of a generic follow-up. The effort to add one merge tag pays for itself in the first week.

    Incentives: What Is Allowed and What Converts

    Offering a coupon in exchange for a review is legal in most jurisdictions and permitted by WooCommerce itself. The relevant concern is platform policy.

    Google’s guidelines prohibit incentivised reviews on Google Business Profile. WooCommerce product reviews on your own site are not subject to that restriction, because they are first-party content you control.

    The practical rule is this: offer the incentive for leaving a review, not for leaving a positive review. Tying the reward to a star rating is both ethically problematic and legally risky in some markets, particularly the EU and UK where incentivised reviews must be disclosed.

    Common incentive structures and their tradeoffs:

    • 10% off next order coupon: High conversion rate, works well for consumables where repeat purchase is likely. Low value for one-off purchases.
    • Fixed discount ($5 or $10 off): More motivating for lower-priced products where a percentage discount looks trivial.
    • Loyalty points: Works only if you have a points programme. Low friction for customers already in the programme.
    • Entry into a monthly draw: Lower perceived value, but lower cost to the store. Response rates are mixed.
    • No incentive, just a well-timed ask: Converts better than most store owners expect when the timing is right and the email is personal.

    Krom Automation’s Create Coupon action can generate a unique coupon per customer as part of the same workflow, so the incentive email contains a code that was just created for that specific recipient. No manual coupon management required.

    Catching Low Ratings Before They Publish

    WooCommerce holds reviews in a pending state by default if you have enabled moderation under Settings, Discussion. That pending window is an opportunity that almost every store ignores.

    A workflow triggered by Comment Submitted (WooCommerce product reviews are stored as comments) can read the review rating from the comment meta and branch on it. The logic looks like this:

    • Rating 4 or 5: Approve immediately, no intervention needed
    • Rating 3: Notify the store owner by email, approve after 24 hours if no action is taken
    • Rating 1 or 2: Notify the store owner immediately, hold for review, trigger a customer service email offering to resolve the problem

    This does not mean burying negative reviews. It means giving yourself the chance to turn a frustrated customer into a resolved one before the review goes live.

    A customer who complained, got a personal response, and had their issue fixed will sometimes voluntarily update their rating. That outcome is worth more than the avoided 1-star ever was.

    The branching documentation shows how to build multi-path logic like this on the visual canvas.

    Solving the Cold-Start Problem for New Products

    A product with zero reviews converts at a significantly lower rate than the same product with even 3 to 5 reviews. This is the cold-start problem, and none of the standard advice about timing and automation helps with it, because there are no past customers to ask.

    The approaches that actually work for new SKUs are different from the general review collection strategy:

    • Seed with a small pre-launch cohort: Offer 10 to 20 customers early access at a discount in exchange for an honest review. Disclose this on the product page. The social proof unlocks conversion for the wider launch.
    • Bundle the new product with an established one: Customers who buy both can be asked specifically about the new item. They already trust you from the established purchase.
    • Shorten the delay window for new products: A 3-day delay instead of 7 days during the first 30 orders means faster social proof accumulation while the launch momentum is still active.
    • Use a conditional workflow that triggers differently for zero-review products: A branch that checks whether a product has any approved reviews and applies a different email template and shorter delay for products below a threshold count.

    The last approach requires checking post meta on the product at workflow execution time. Krom Automation’s HTTP Request action can call the WooCommerce REST API to retrieve a product’s review count and use that value in a condition branch.

    What Breaks at Scale

    Most review automation advice is written for stores doing 20 to 50 orders per month. The failure modes at 500 or 5,000 orders per month are different and worth naming explicitly.

    Problem At low volume At high volume
    Duplicate review request emails Rare, usually caught manually Systematic, damages sender reputation
    Coupon code conflicts Easy to spot and fix Hundreds of unused coupons polluting the database
    WP-Cron delay drift Insignificant Delays fire hours late on low-traffic windows
    Review moderation backlog Manageable manually Requires automated routing or all reviews pile up
    Email deliverability Low send volume, low risk Requires a transactional email service (Postmark, SendGrid, SES)

    The WP-Cron issue is worth addressing proactively. Krom Automation runs all delayed actions through Action Scheduler, which is more reliable than raw WP-Cron.

    But on sites with very low traffic, even Action Scheduler depends on a visitor or server cron to fire. Setting up a real server cron job to hit wp-cron.php every 5 minutes takes about 10 minutes and eliminates delay drift entirely.

    A review workflow that runs 6 hours late is not a broken workflow. But it is a review request that arrives at 2am, which most customers see as spam.

    Do WooCommerce Reviews Help With SEO?

    Yes, in three concrete ways. First, review text adds keyword-rich content to product pages without requiring any effort from the store owner. Customers describe their use case in language that matches how other buyers search.

    Second, product review schema markup enables star ratings to appear in Google search results, which increases click-through rate. Third, regular new reviews signal freshness to crawlers, which matters for competitive product categories where freshness is a ranking factor.

    The SEO value is amplified when review volume is consistent rather than sporadic. A product with 2 reviews published in January and nothing since ranks worse for freshness signals than a product accumulating 2 to 3 reviews per month.

    Automated, timed review requests produce that consistent cadence. Manual asks do not.

    The Honest Case for Automation Over Plugins

    Several dedicated review plugins exist for WooCommerce. They handle the email sequence, the coupon delivery, and the moderation flow in a single package. If review collection is the only automation your store needs, a dedicated plugin is a reasonable choice.

    The limitation shows up when review collection is one of several post-purchase automations running simultaneously. A store running a dedicated review plugin, a separate abandoned cart tool, a separate loyalty programme emailer, and a separate win-back sequence is managing four separate automations with four separate sets of logic, four separate failure modes, and no visibility into how they interact. A customer who receives an abandoned cart email, a review request, and a win-back offer in the same week is being managed by three systems that do not know about each other.

    Krom Automation handles all of those workflows in one place, on one canvas, with one execution log. The automation ROI guide covers how to calculate whether consolidating pays for itself, including the time cost of managing multiple plugins versus a single system.

    The free version includes the WooCommerce Order Completed and Order Created triggers, the Send Email action, the Create Coupon action, delay scheduling, and conditional branching. That is enough to build a complete review request workflow with coupon incentive and low-rating routing at no cost. Download the free plugin from the WordPress.org plugin directory and the workflow builds in about 20 minutes.

    Cost Comparison: Manual vs Automated Review Collection

    Approach Setup time Monthly time cost Cost per year Typical review rate
    No follow-up at all 0 minutes 0 minutes $0 1 to 3% of orders
    Manual email to each customer 0 minutes 3 to 5 hours $0 (time only) 5 to 8% of orders
    Krom Automation free tier 20 minutes once Under 30 minutes monitoring $0 8 to 15% of orders
    Krom Automation Pro (Basic) 20 minutes once Under 30 minutes monitoring $119/year 8 to 15% of orders, plus Pro triggers for advanced segmentation

    The review rate estimates reflect industry ranges for post-purchase email requests. Your actual rate will depend on product category, customer relationship, and email deliverability.

    Stores with strong brand loyalty tend toward the upper end. Commodity stores with low repeat purchase rates tend toward the lower end.

    Verdict: Who Should Act on This Now

    If your store is processing 20 or more orders per month and has fewer than 10 reviews total, timing is almost certainly the problem. Build the 7-day delay workflow first.

    It takes 20 minutes, costs nothing, and will produce results within the first two weeks. The free version of Krom Automation has everything needed to build it.

    If your store is already collecting reviews but at a rate below 8% of orders, add the personalised product name merge tag to your existing email and test a small coupon incentive. Those two changes alone typically lift response rate by 40 to 60% without any other changes to the workflow.

    If you are managing a new product launch with zero reviews, treat the first 30 orders as a seeding cohort. Shorten the delay to 3 days, personalise heavily, and consider a meaningful incentive. Getting to 5 reviews quickly matters more than the economics of the coupon at that stage.

    Who should not prioritise this right now: stores with fewer than 5 orders per month, where the total review opportunity is too small to justify workflow setup, and stores where email deliverability is already broken. Fix deliverability first. A well-timed review request that lands in spam is worse than no request at all.

    See Krom Automation pricing and choose a plan

    Frequently Asked Questions

    Can I send review requests only to verified buyers in WooCommerce?

    WooCommerce has a native setting under Settings, Discussion that limits reviews to verified purchasers only. For the email request workflow, triggering on Order Completed means every recipient has already completed a purchase, so verification is implicit. You do not need additional logic to filter for verified buyers in the outbound request.

    Is offering a coupon for a WooCommerce review against any rules?

    Incentivising reviews on your own WooCommerce product pages is permitted. The restriction applies to Google reviews and similar third-party platforms.

    On your own site, the requirement is that you offer the incentive for leaving a review, not specifically for leaving a positive one. In the EU and UK, incentivised reviews must be disclosed on the product page.

    How do I stop fake or spam reviews appearing on my WooCommerce store?

    Enable comment moderation under Settings, Discussion in WordPress, and enable the verified purchases only setting in WooCommerce. Using Akismet or a similar spam filter on comments catches automated spam submissions. For manual spam, moderation holds every review for approval before it publishes.

    Do I need a paid plugin to automate review request emails?

    No. Krom Automation’s free version includes the Order Completed trigger, Send Email action, delay scheduling, and conditional branching.

    That combination is enough to build a complete review request workflow with personalisation and low-rating routing. Pro adds advanced segmentation, additional triggers, and the visual email builder, but the core workflow runs free.

    What is the best way to handle a 1-star review without making it worse?

    Respond publicly within 24 hours, acknowledge the specific problem without being defensive, and offer to resolve it through a direct channel such as email or phone. Never argue in the review thread.

    A professional public response signals to future buyers that you handle problems, which often matters more than the original rating. Where a workflow catches the review before it publishes, a direct customer service email offering resolution before the review goes live gives the best chance of a voluntary rating update.

    The wpRigel Team

    August 26, 2026
    User Guide
  • Failed Subscription Payments Are Quietly Killing Your Revenue

    To recover failed subscription payments in WordPress, you need three things working together: a retry schedule that respects the psychology of why cards fail, a dunning email sequence that escalates without alienating, and a way to automate the whole process so you are not manually chasing customers one by one. Krom Automation handles all three natively, including the WooCommerce Subscriptions and MemberPress triggers that fire the moment a payment fails.

    Most guides stop at “set up retries and send some emails.” That is necessary but not sufficient. The sites recovering 60 to 70 percent of failed payments are also doing something the reactive guides miss entirely: they are preventing a meaningful share of failures before they happen. We will cover both sides.

    Before we get into the mechanics, one number worth fixing in your mind: industry data from payment processors consistently puts involuntary churn from failed payments at 20 to 40 percent of all subscription cancellations. Your site is almost certainly losing recurring revenue every week to a problem that is largely automatable.

    See how Krom Automation handles subscription recovery workflows

    Why Subscription Payments Fail in the First Place

    Understanding the failure category changes how you respond to it. A card declined for insufficient funds needs a different message than a card declined because it expired three days ago. Sending the same generic “your payment failed” email to both situations is the most common dunning mistake.

    The main failure categories break down like this:

    • Expired cards, the most preventable category. The card was valid when the customer subscribed; it expired before renewal. A pre-expiry nudge sent 30 days out eliminates most of these.
    • Insufficient funds, timing sensitive. Retrying on day 1 and day 3 often works because the customer gets paid between attempts. Retrying only once on day 2 misses the window.
    • Card reported lost or stolen, the customer knows. They need a direct link to update their payment method, not a generic reminder.
    • SCA and 3DS2 challenges, the bank required customer authentication and did not get it. The fix is a re-authentication link, not a retry against the same token.
    • Hard declines, the bank permanently rejected the charge. No retry will work. Move straight to the email sequence and suspend the account.
    • WP-Cron not firing, a WordPress infrastructure failure, not a payment failure. Covered in its own section below.

    Getting the error code from your payment gateway and mapping it to a response type is worth the setup time. WooCommerce Subscriptions logs the gateway response against each failed renewal order, and that data should be driving your first-response action.

    The Proactive Layer: Stop Failures Before They Happen

    Every competitor guide we have read starts at the moment of failure. That is already too late for the most preventable category. Expired cards account for a large share of involuntary churn, and every one of them can be flagged in advance.

    The highest-ROI dunning action is the one that fires before the payment even fails. Reacting to a decline costs more than preventing it.

    Here is what a proactive layer looks like in practice:

    • 30-day pre-expiry email, send a friendly reminder that the card on file expires next month. Include a direct link to the billing portal or payment method update page. No alarm language needed at this stage.
    • 7-day pre-expiry follow-up, a shorter message to customers who did not act on the first. One sentence, one link.
    • Account updater services, Stripe and Braintree both offer automatic card updating where Visa and Mastercard push new card details to merchants when a card is reissued. This requires no customer action at all. If your gateway supports it, enable it.
    • SCA-compliant payment flows, if you are on Stripe, ensure you are using their latest billing APIs with authentication support. A 3DS failure that looks like a card decline is actually a solvable authentication problem.

    You can build the pre-expiry email workflow in Krom Automation using a scheduled trigger combined with a conditional branch that checks days until subscription renewal. The WooCommerce Subscriptions integration documentation shows the exact triggers and data fields available.

    Retry Timing: The Psychology Behind the Schedule

    The retry schedule is where most sites leave the most money on the table. Retrying too soon means the underlying problem has not changed. Retrying too late means the customer has already mentally cancelled.

    The retry schedule that consistently performs well across subscription businesses:

    • Day 1 (immediate), a transient network issue or a brief bank outage clears within hours. The first retry should happen same-day.
    • Day 3, catches customers who had temporarily insufficient funds but have since been paid.
    • Day 7, a second salary cycle for weekly-paid customers, and enough time for a customer to respond to your email and update their card.
    • Day 14, final attempt before suspension. By this point, your email sequence has run. If the card still fails, it is a hard problem or a disengaged customer.

    WooCommerce Subscriptions has a built-in retry system under WooCommerce Settings Subscriptions Payment Retry Rules. You can configure the number of retries and the intervals.

    The default is too conservative for most stores. Four attempts across 14 days recovers meaningfully more than two attempts across 7 days, without triggering the “harassment” response from customers.

    MemberPress handles this differently. It offers a grace period setting rather than a true retry schedule.

    For multi-attempt retry logic with MemberPress, you need a payment gateway that retries natively (Stripe does this well) or a supplementary automation layer. The MemberPress integration documentation covers the subscription, expiry, and payment triggers available to build on top of that grace period.

    The Dunning Email Sequence: What Each Message Should Say

    A dunning sequence is not a collection of payment reminders. It is a structured conversation that starts with practical help and ends with a clear consequence. The tone shifts with each message.

    Email one is customer service. Email three is a last chance. Treating all three the same way is why most dunning sequences fail.

    Email 1: Immediate, Practical, Low Pressure

    Send this within an hour of the failed payment. The subject line should state the problem without alarm: “There was a problem with your payment.” The body should explain what happened in one sentence, provide a direct link to update payment details, and confirm that access is unchanged for now. No threats, no urgency language, no guilt.

    Key elements to include:

    • The exact subscription or product the payment was for
    • The amount that failed
    • A direct, one-click link to the payment update page
    • Confirmation that access has not been suspended

    Email 2: Day 3, Gentle Follow-Up

    Acknowledge that customers miss emails. Keep this short. Restate the problem, restate the link, add one sentence about when access will be affected if nothing changes.

    The tone is helpful, not accusatory. About 40 percent of recoveries happen after email 2, making it the single most important message in the sequence.

    Email 3: Day 7, Stakes Become Visible

    Be specific about what the customer will lose and when. “Your access to [product] will be suspended on [date] unless your payment is updated.” Include the update link again.

    Some sites add a discount code here to remove the friction of an upgrade barrier. That works best for customers who originally signed up during a promotion and may feel the full price is not worth it.

    Email 4: Day 13, Final Notice

    Short, direct, personal in tone. “Tomorrow we will suspend your account.” Include the link.

    Consider offering a one-month extension for a manual payment if your product supports it. This is your last chance before the access revocation triggers.

    After Suspension: The Win-Back Email

    Send this 7 to 14 days after suspension. A segment of suspended customers genuinely intended to stay and were caught in a bad billing period. A simple “your account is still available if you want to return” email with a reactivation link recovers 5 to 15 percent of suspended accounts in our experience with similar automation flows.

    You can build the entire sequence using Krom Automation’s visual email builder and the delay scheduling between steps. The delays and scheduling documentation covers the exact options for minutes, hours, and days between actions.

    Compare Krom Automation to manual and third-party alternatives

    Sequence Timing at a Glance

    Email Timing Primary Goal Access Status Expected Recovery Share
    Email 1 Within 1 hour of failure Inform and provide update link Full access maintained 25 to 30%
    Email 2 Day 3 Follow up, restate link Full access maintained 35 to 40% cumulative
    Retry attempt Day 7 Automatic charge against card Full access maintained Depends on card type
    Email 3 Day 7 State consequence and date Full access maintained 50 to 55% cumulative
    Email 4 Day 13 Final notice, offer reactivation Full access maintained 60 to 65% cumulative
    Access suspended Day 14 Revoke access automatically Suspended N/A
    Win-back email Day 21 to 28 Offer reactivation Suspended 5 to 15% of suspended

    When WP-Cron Is the Real Problem

    A common and frustrating scenario: the card is valid, the customer has funds, but the renewal payment never fires. The subscription sits on “pending renewal” indefinitely. This is almost always a WP-Cron problem, not a payment problem.

    WP-Cron runs on page load. On low-traffic sites, a scheduled renewal event might not fire for hours after its due time because no one visits the site in that window. On high-traffic sites, concurrent page loads can cause cron jobs to run in parallel and step on each other.

    The fix is a real server cron job. Disable WP-Cron by adding define('DISABLE_WP_CRON', true); to wp-config.php, then set up a system cron job on your server to call wp-cron.php every 5 minutes. Most managed WordPress hosts let you configure this from the hosting dashboard without server access.

    WooCommerce Subscriptions uses Action Scheduler to queue renewal events. You can inspect the Action Scheduler queue at Tools Scheduled Actions in the WordPress admin.

    If renewal actions are sitting in “pending” status past their scheduled time, cron is the culprit. If they are running and failing with a gateway error, that is a payment problem and the dunning sequence applies.

    What It Actually Costs to Do This Manually

    Consider what manual dunning looks like for a store with 200 active subscriptions and a 5 percent monthly failure rate. That is 10 failed payments per month. Each one requires:

    • Identifying the failure in WooCommerce or MemberPress (5 minutes per account)
    • Sending a personalised email with the correct subscription details and update link (10 minutes)
    • Following up on day 3 and day 7 if no response (10 minutes each)
    • Manually suspending access if unresolved by day 14 (5 minutes)
    • Logging the outcome for reporting purposes (5 minutes)

    That is roughly 35 minutes per failed payment, or 350 minutes (nearly 6 hours) per month for 10 failures. At a VA rate of $20 per hour, that is $120 per month in labour, or $1,440 per year, to handle a process that an automation workflow executes in zero human hours once configured. If even 3 of those 10 failures convert to paid customers through the sequence, the revenue recovery alone exceeds the automation cost.

    Six hours a month chasing failed payments is not a billing problem. It is a workflow problem. Automation does not need a salary.

    Building the Workflow in Krom Automation

    The full dunning workflow in Krom Automation starts with a WooCommerce trigger and branches based on the failure type. Here is the structure at a high level:

    1. Trigger: Order Status Changed to “Failed” or WooCommerce Subscription payment failure event
    2. Branch: Check whether the subscription has failed before. First failure goes to the dunning sequence. Repeat failures within the same period go to a shorter path.
    3. Action: Send Email (Email 1) with merge tags pulling in the customer name, subscription name, amount, and a tokenised update URL
    4. Delay: 3 days
    5. Action: Send Email (Email 2)
    6. Delay: 4 days (total 7 from failure)
    7. Action: Send Email (Email 3) with suspension date calculated from the workflow start date
    8. Delay: 6 days (total 13 from failure)
    9. Action: Send Email (Email 4), final notice
    10. Delay: 1 day
    11. Action: Change User Role or trigger a MemberPress/WooCommerce Subscriptions status change to suspend access
    12. Delay: 7 to 14 days
    13. Action: Send win-back email

    The “run once per entity” enforcement built into Krom Automation prevents the workflow from firing multiple times for the same subscription renewal event, which is the most common cause of customers receiving duplicate dunning emails. See the workflow settings documentation for how to configure that correctly.

    For merge tags, the merge tags documentation covers every dynamic variable available from WooCommerce order and subscription data. Customer name, order total, subscription end date, and payment update URL are all available as merge tags you drop directly into the email body.

    Plan and Cost Comparison

    Approach Setup cost Monthly labour Year 1 total (200 subs) Scales past 500 subs?
    Manual process only $0 $120+ at VA rates $1,440+ Linearly worse
    Native WooCommerce Subscriptions retries only $0 extra (included) $0 for retries, still manual for emails Partial. Recovers ~25% without email Yes for retries, no for comms
    Krom Automation Pro (Basic, 1 site) $299 lifetime or $119/year $0 after setup $299 lifetime or $119 year 1 Yes, unlimited executions
    Third-party SaaS dunning tool Varies $50 to $200+/month $600 to $2,400+ Yes, but data leaves your server

    When to Give Up and Cancel the Subscription

    Persistent chasing damages your sender reputation and irritates customers who have genuinely decided to leave. The right suspension point for most subscription businesses is day 14 to 21 after the first failure. Four to five email touchpoints across that window is the practical ceiling before diminishing returns kick in hard.

    After suspension, one win-back email is worth sending. Two is marginal. Three is harassment.

    The customers who come back after suspension almost always do so within 30 days. After 60 days with no response, the account is a loss and should be treated as churn for reporting purposes.

    The reporting side matters here. Krom Automation’s analytics dashboard shows success rate per workflow and a per-step audit trail. That means you can see exactly which email in the sequence generates the most recoveries and which step is losing people.

    That data is the basis for improving the sequence over time, not guessing. You can read more about building a complete picture of automation ROI in our guide to working out whether automation is saving you money.

    What the Marketing Pages Do Not Tell You

    A few things worth knowing before you commit to any dunning setup:

    • WooCommerce Subscriptions retry rules require a compatible payment gateway. Stripe, PayPal, and most major gateways support retries. Older or regional gateways may not, and the retry rule UI still appears even when the gateway ignores it.
    • MemberPress grace periods are not the same as retry schedules. Grace period keeps the member active but does not attempt to charge the card again. You need gateway-level retry or a separate automation workflow for that.
    • Tokenised payment update links are gateway-specific. Stripe’s customer portal generates them automatically. PayPal’s are less reliable. Some gateways require you to build a custom update form. Check your gateway’s documentation before promising customers a one-click update experience.
    • Email deliverability affects recovery rate significantly. Dunning emails sent from a domain with poor DKIM and SPF configuration land in spam at a higher rate than transactional email. Fix your sending authentication before tuning the copy.
    • Automation does not replace a human touch for high-value accounts. For subscriptions above $200/month, a personal call or direct message recovers more than a four-email sequence. Use the automation for volume; flag high-value failures for personal follow-up.

    Our Verdict

    If you are running a subscription business on WordPress and you do not have an automated dunning sequence in place, you are losing revenue every renewal cycle to a problem that takes a few hours to fix once. The recovery rate difference between no sequence and a four-email sequence with proper retry timing is not marginal. It is the difference between recovering 20 to 25 percent of failures and recovering 60 to 65 percent.

    Build the proactive layer first: the pre-expiry email and account updater save you the dunning conversation entirely for a meaningful share of potential failures. Then build the retry schedule and email sequence on top.

    Use Krom Automation for the workflow layer and your existing subscription plugin for the access control. The two work together rather than competing.

    Who should not bother with this yet: sites with fewer than 50 active subscriptions and a single admin who can handle the volume manually. The automation is worth building before you need it, but the ROI case is harder to make at very small scale. For everyone else, the setup cost is a one-time investment against a recurring revenue recovery that compounds every month.

    Download Krom Automation free from the WordPress.org plugin directory to start with the visual workflow builder, and upgrade to Pro when you are ready to add the WooCommerce Subscriptions and MemberPress triggers that power the full dunning sequence.

    See Krom Automation Pro plans and pricing

    Frequently Asked Questions

    How many retry attempts should I set before cancelling a failed subscription in WooCommerce?

    Four attempts spread across 14 days is the practical optimum for most stores. Retrying on day 1, day 3, day 7, and day 14 catches the most common failure causes without exhausting customer goodwill. After the fourth failed attempt, move to suspension rather than additional retries.

    Why does my WooCommerce subscription renewal keep failing even though the card is valid?

    The most common cause is WP-Cron not firing reliably, which means the renewal charge never triggers at all. Check the Action Scheduler queue at Tools Scheduled Actions.

    If renewal events are stuck in “pending” status past their due time, configure a real server cron job to replace WP-Cron. If the events are running and returning gateway errors, the issue is with the payment token or a 3DS authentication requirement.

    How do I let customers update their credit card after a failed payment in WooCommerce?

    WooCommerce Subscriptions adds a “Change Payment” button to the My Account Subscriptions page by default. If you are using Stripe, you can also generate a customer portal link that handles card updates directly. Include this link in every dunning email so the update action requires only one click from the email.

    What is the difference between a grace period and a payment retry in MemberPress?

    A grace period keeps the member’s access active for a set number of days after a missed payment without attempting to charge the card again. A payment retry actively attempts to charge the card on a schedule. MemberPress uses grace periods natively; retry logic depends on your payment gateway or a supplementary automation workflow.

    How do I stop the same dunning email going out multiple times for one failed payment?

    In Krom Automation, enable “run once per entity” in the workflow settings. This prevents the workflow from triggering more than once for the same subscription or order ID. Without this setting, a workflow can fire multiple times if the failure event is logged more than once, which results in duplicate emails within minutes of each other.

    Should I offer a discount in dunning emails to recover failed payments?

    Discount codes in dunning emails work best for customers who originally signed up during a promotion and are experiencing price resistance alongside the payment failure. For customers on a standard plan, a discount can signal that the regular price is negotiable and create a long-term expectation. Reserve discounts for email 3 or later in the sequence, after the customer has had two opportunities to update the card without an incentive.

    The wpRigel Team

    August 26, 2026
    User Guide
  • Abandoned Cart Recovery Without a Monthly Fee

    Yes, you can run abandoned cart recovery without a monthly fee, and Krom Automation is the most direct way to do it on WooCommerce. Instead of paying $20 to $60 per month to a SaaS platform, you pay once for Krom Automation Pro and own the workflow permanently. The three-stage sequence explained below recovers a meaningful share of abandoned carts for most stores, and the setup lives in your WordPress site, not someone else’s server.

    Around 70 percent of online shopping carts are abandoned before checkout completes. For a store doing $10,000 in monthly revenue, that is roughly $23,000 walking out the door every month before a single recovery email fires.

    The question is not whether to run cart recovery. The question is how much of your recovered revenue you want to hand back to a SaaS tool billing you indefinitely.

    This article focuses on strategy, timing and incentive design. If you want the step-by-step build inside WordPress, the workflow build documentation covers the technical setup in full. What follows is the framework for knowing what to build before you open the canvas.

    Browse the full Krom Automation feature list to see what comes in the free version and what unlocks in Pro.

    The Real Cost of Monthly Subscription Cart Recovery Tools

    The advertised price on most cart recovery tools is rarely the price you actually pay. Base plans often limit the number of contacts, emails per month, or integrations. As your list grows, you move up a tier.

    Here is what the cost comparison looks like over time at a realistic small-store scale:

    Tool modelYear 1Year 2Year 3Total at 3 years
    SaaS at $29/month$348$348$348$1,044
    SaaS at $49/month$588$588$588$1,764
    Krom Automation Pro (Basic, 1 site)$299 one-time$0$0$299
    Krom Automation Pro (Standard, 5 sites)$499 one-time$0$0$499

    The break-even point for a $29/month SaaS versus the Krom Automation Basic lifetime plan is around 10 months. After that, every month you run the SaaS tool costs you money that the one-time purchase does not. Over three years, the gap is $745 on the low end and $1,465 on the high end, for the same core capability.

    The question is not whether monthly fees are expensive in isolation. The question is whether you are still paying them in year three for a workflow that took two hours to set up in year one.

    That break-even math is what most cart recovery marketing pages omit entirely. They show you the monthly number because it looks smaller. The one-time number looks bigger until you do the arithmetic.

    Why Self-Hosted Recovery Beats SaaS for WooCommerce Stores

    Self-hosted automation keeps your workflow data, execution logs and customer contact details inside your own database. SaaS tools store that data on their infrastructure, which creates a dependency. If you cancel, the sequence stops immediately and historical data may be inaccessible.

    With Krom Automation running inside WordPress, the sequence continues as long as your site is live. There is no account to cancel, no tier to upgrade, and no per-execution billing.

    • Execution logs stay in your database. Every step of every cart recovery email is recorded locally, so you can audit what fired and when without logging into a third-party dashboard.
    • No contact limits. SaaS tools often cap the number of contacts on a plan. Krom Automation runs against your WooCommerce data directly, so scale does not change the cost.
    • Merge tags pull live order data. Customer name, cart contents, order total and a recovery URL can all be injected dynamically. The merge tags documentation covers every available variable.
    • Delays run via Action Scheduler. Emails are queued in the background and fire at the right interval without slowing down page loads.

    The one honest constraint: delays on very low traffic sites depend on WordPress Cron. If your site goes hours without a visitor, a cron job configured at the server level keeps timing accurate. On active stores this is rarely an issue, but it is worth knowing before you rely on exact minute-level timing.

    The Three-Stage Recovery Sequence: Structure and Timing

    Three emails recover significantly more carts than one, and the timing of each email matters more than the copy. The sequence below is designed around how buyers actually behave after abandoning a cart, not around what is easiest to schedule.

    Stage 1: The Reminder (1 hour after abandonment)

    The first email fires one hour after the cart is abandoned. At this point, the buyer is still close to the decision. They may have been interrupted, lost their payment details, or simply tabbed away.

    The goal of this email is not to sell. It is to remind.

    Keep it short. Show the cart contents using merge tags. Link directly back to the checkout, not the product page.

    No discount yet. Offering a discount in the first email trains buyers to abandon carts deliberately.

    Expected recovery from this stage alone: typically 5 to 10 percent of abandoned carts, depending on the product category and average order value.

    Stage 2: The Follow-Up (24 hours after abandonment)

    The second email fires 24 hours later. By now, buyers who were simply interrupted have either returned on their own or moved on.

    This email targets the second group. Add social proof here. A short review, a customer quote, or a specific benefit the product delivers gives an undecided buyer a reason to reconsider.

    Still no discount in stage two for most stores. Save the incentive for stage three where it does the most work. If your average order value is above $150, a small shipping incentive at this stage can move conversions without training buyers to wait for a discount.

    Stage 3: The Incentive (72 hours after abandonment)

    The third email fires 72 hours after abandonment. At this point, buyers who are still reachable need a reason to act now rather than later. This is where the coupon fires.

    Krom Automation’s Create Coupon action generates a unique single-use coupon per buyer and injects it into the email via a merge tag. The coupon is created on demand, not pulled from a shared pool, so it cannot be shared or reused. Set an expiry of 48 to 72 hours from send time to create genuine urgency without being manipulative.

    A shared discount code in a recovery email is a coupon for the internet, not for the buyer. One-time generated codes solve this without a single line of custom code.

    The delays and scheduling documentation covers how to configure each stage’s timing precisely, including the difference between minute, hour and day units and how they interact with Action Scheduler.

    Incentive Design: What to Offer and When to Offer It

    The incentive stage is where stores make the most expensive mistakes. The goal is to recover revenue, not to train buyers to abandon carts on purpose. A poorly designed incentive structure does the second thing while appearing to do the first.

    Use this decision table to choose your incentive approach based on your store’s average order value:

    Average order valueStage 1 emailStage 2 emailStage 3 incentive
    Under $50Reminder onlySocial proof only10% discount code, 48h expiry
    $50 to $150Reminder onlyFree shipping offer$10 off or 10%, whichever is smaller
    Over $150Reminder onlyBenefit/review emphasisFixed $ amount, 72h expiry
    Subscription productsReminder onlyFirst month benefitFirst month free or discounted

    The expiry window on the stage three coupon matters as much as the discount amount. A coupon with no expiry creates no urgency.

    A coupon expiring in 2 hours punishes buyers who check email once a day. 48 to 72 hours is the window that creates real urgency without being hostile.

    What Not to Offer

    • Never discount in email one. Buyers who see a discount in the first email learn to abandon carts and wait for the code.
    • Never use a shared coupon code. A code like COMEBACK10 gets screenshot and shared. Use generated single-use codes.
    • Never extend the coupon for buyers who do not redeem it. Sending a follow-up saying “your code still works” destroys urgency retroactively.
    • Avoid discounting high-margin products unnecessarily. If stage one and two recover 8 to 12 percent of carts on their own, the discount in stage three may not need to be large.

    Configuring the Sequence in Krom Automation

    The workflow uses two WooCommerce triggers available in the free version: Order Created and Order Completed. The sequence fires on Order Created and then checks at each delay step whether an Order Completed event has since fired for the same order.

    If it has, the sequence stops. If it has not, the next email fires.

    This is conditional branching with a real-world consequence. Without it, you send recovery emails to people who already paid.

    With it, every email in the sequence is confirmed relevant before it fires. The conditions and branching documentation explains how to configure the Yes and No paths for this check.

    The visual builder lets you see the full three-stage sequence on a single canvas. Each delay node shows the wait time. Each condition node shows the branch logic.

    Each email node shows the template. You can verify the entire sequence at a glance, which is not possible in a list-based rule editor.

    • Step 1: Trigger on Order Created (WooCommerce).
    • Step 2: Delay 1 hour.
    • Step 3: Check whether order status is Completed. If yes, stop. If no, send Stage 1 email.
    • Step 4: Delay 23 hours (total 24 hours from trigger).
    • Step 5: Check order status again. If completed, stop. If not, send Stage 2 email.
    • Step 6: Delay 48 hours (total 72 hours from trigger).
    • Step 7: Check order status again. If completed, stop. If not, generate coupon and send Stage 3 email.

    Run once per entity enforcement is enabled by default in Krom Automation. A buyer who abandons the same cart twice does not receive the sequence twice. That setting prevents the kind of email fatigue that gets a domain marked as spam.

    If you want to send recovery emails through Mailchimp, ActiveCampaign or FluentCRM rather than WordPress’s native mail, the respective integration docs cover how to connect the action to those platforms. See the FluentCRM integration or Mailchimp integration for setup details.

    What the Analytics Tell You and What to Do With Them

    Krom Automation’s analytics dashboard shows total executions, success rate, failed execution count and an execution trend chart. The reports page adds date range filtering, per-workflow breakdown and CSV export.

    For a cart recovery workflow specifically, the numbers to watch are:

    • Stage 1 exit rate. How many sequences end at the first check because the order completed? This is your organic recovery rate before email one fires. If it is above 20 percent, your store already converts well and the sequence mainly handles the remainder.
    • Stage 3 coupon redemption rate. If this is above 15 percent, your discount is working. If it is below 5 percent, either the email is not reaching inboxes or the incentive is too weak.
    • Failed executions. A failed step in the sequence means a buyer received no email at that stage. The failure notification system emails you automatically, and retries with configurable backoff. Check this weekly for the first month.

    A recovery workflow failing silently looks identical to one running perfectly. Execution logs are the only way to tell the difference, and most competing tools put per-step logs behind a paid tier.

    If you want a broader framework for calculating whether any automation is paying for itself, our guide on working out whether automation is saving you money applies directly to this kind of sequence.

    Hidden Costs in “Free” Cart Recovery Tools

    Several tools advertise free abandoned cart recovery. The free plan is almost always limited in ways the marketing page does not foreground. Understanding these limitations is how you avoid building a sequence on a plan that breaks when you need it most.

    Limitation typeWhat it means in practiceWhen it hurts
    Contact cap (e.g. 500 contacts)Emails stop sending once your list exceeds the capDuring a promotional period when abandonment volume spikes
    Email send limit per monthA three-stage sequence uses 3 sends per cart, so 500 sends covers roughly 166 cartsAny month with a sale or traffic surge
    Branding in emailsFree plan adds “Powered by [tool]” to recovery emailsEvery email, permanently, unless you pay
    Single email only on freeThree-stage sequences require a paid planImmediately, because one email recovers far less than three
    Analytics locked to paidYou cannot see which stage recovers which buyer without upgradingEvery time you want to optimise the sequence

    Krom Automation’s free version includes both WooCommerce triggers, delay scheduling, conditional branching and the Send Email action. The sequence described above can be built entirely in the free version.

    The Pro version adds the Create Coupon action for stage three and the visual email builder for branded templates. If you want to start without any spend, download the free plugin from the WordPress.org plugin directory and build stages one and two before committing to Pro.

    Who Should and Should Not Use This Approach

    This setup works well for WooCommerce stores that want a permanent, owned cart recovery sequence without a recurring cost. It is a strong fit if your store runs on WordPress, you already pay for hosting, and you want your automation data on your own server.

    It is not the right fit in every situation. Be honest with yourself about these constraints:

    • If your site gets fewer than 20 visitors per day, WordPress Cron may fire late unless you configure a real server cron. Timing-sensitive sequences need reliable cron.
    • If you need a platform that manages email deliverability, a dedicated email service provider like Mailchimp or ActiveCampaign handles reputation, bounce management and spam compliance better than WordPress’s native mail. You can connect Krom Automation to those platforms via their respective integrations, but you still need the sending infrastructure.
    • If you operate across multiple platforms (Shopify plus WooCommerce, for example), a SaaS tool that connects to both may be more practical than a WordPress-native solution.
    • If your store is brand new and generating fewer than 50 abandoned carts per month, the SaaS break-even math is less urgent. Start with the free version and upgrade when volume makes the investment clear.

    Our Verdict

    Abandoned cart recovery without a monthly fee is not a compromise. For WooCommerce stores, it is the more logical model.

    A three-stage sequence built in Krom Automation costs $299 once for a single site, recovers carts permanently, and keeps all execution data inside your own database. The equivalent SaaS cost over three years is $1,044 at the low end and $1,764 at the high end, for the same emails.

    Build stages one and two in the free version today to prove the concept before spending anything. Add Pro when you are ready to generate single-use coupons for stage three. The sequence pays for itself the first time it recovers a cart large enough to cover the one-time cost, which at a $300 average order value is exactly one recovered order.

    See the full Krom Automation pricing and plan details and decide whether the one-time cost makes sense for your store’s volume.

    Frequently Asked Questions

    Is there any abandoned cart recovery tool that does not charge a monthly fee?

    Yes. Krom Automation Pro is a one-time purchase starting at $299 for a single site. It runs inside WordPress and WooCommerce with no recurring cost and no contact or send limits.

    Can WooCommerce do abandoned cart recovery without a plugin subscription?

    WooCommerce does not include cart recovery out of the box. You need a plugin. Krom Automation adds the triggers, delay scheduling and email actions needed to build a full three-stage sequence, and the core functionality is available in the free version with no subscription required.

    What is the difference between paying per recovery versus a flat monthly fee?

    Per-recovery billing charges a percentage of each sale the tool recovers, typically 1 to 5 percent. A flat monthly fee charges regardless of performance.

    A one-time purchase like Krom Automation charges neither. For stores with high average order values, per-recovery billing becomes expensive quickly.

    Are there hidden fees in free abandoned cart recovery tools once you scale?

    Almost always. Free plans typically cap contacts at 500, limit monthly email sends, restrict sequences to a single email, and lock analytics behind a paid tier.

    Once you exceed any cap, you upgrade or the sequence stops working. Krom Automation’s free version has no contact cap and no send limit.

    How do I prevent sending recovery emails to people who already completed their order?

    Add a conditional branch after each delay step that checks the current order status. If the order is marked Completed, the Yes path ends the workflow.

    If it is still pending or abandoned, the No path sends the next email. Krom Automation’s conditions and branching feature handles this in the visual builder without any code.

    The wpRigel Team

    August 25, 2026
    User Guide
Previous Page
1 … 4 5 6 7 8 … 15
Next Page
wprigel logo

wpRigel builds innovative WordPress plugins for developers, marketers and agencies. Be with us, get more users for your business and increase conversion using our powerful tools.

  • x.com icon
  • linkedin icon

Products

  • Pollify
  • Commandify
  • Krom Automation (Now Live 🎉)

Company

  • Affiliate Program
  • About Us
  • Contact Us
  • Privacy Policy

Resources

  • Docs
  • Blog
  • Support Area
  • Refund policy

Comparisons

  • Commandify vs CommandUI
  • Pollify vs CrowdSignal
  • Krom Automation vs others

Changelogs

  • Commandify Changelog
  • Pollify Changelog
  • Krom Automation Pro Changelog

wpRigel 2026. All Rights Reserved

  • Terms of use
  • Privacy Policy
  • Cookie Policy