The original brief was simple: sell a course cheaply and automatically, without manually moving payments, invoices and access. I assembled WordPress, WooCommerce, membership groups, invoicing, checkout and email. It worked, and then plugin updates arrived.
That instability drove me to build my own sales project. The lasting lesson is that the cheapest license need not mean the lowest cost. Testing, repairs, updates and the moment a customer pays but receives no access also belong in the price.
First decide exactly what you sell
An online course may be videos, a live cohort, a membership area, consultations or a combination. Each model needs different technology and sales process.
- Evergreen course: stable self-service purchase and onboarding matter.
- Live cohort: manage capacity, dates, reminders and a waiting list.
- Corporate course: the offer, invoicing, multiple participants and buyer responsibility decide.
- Supported course: include your own capacity, not only the platform price.
Before buying a plugin, write one order journey from the first click to course completion. Who pays, how and when does access arrive? What if payment fails, who handles refunds and how do you know someone is stuck?
Validate the offer before automation
The most expensive option is perfectly automating a course nobody wants. Start with conversations, an outline and a concrete participant result. The first cohort may include manual work; it reveals exceptions you would otherwise program expensively and blindly.
The sales page must say who the course is for, what situation it solves, what the person receives, how much time it takes and what happens after ordering. See the practical analysis in the article about sales-page elements.
The technical system has one main path and several exceptions
- The customer places an order.
- The payment or invoicing system confirms the payment status.
- The system creates or activates access.
- The customer receives a transactional email with the next step.
- One order with the correct value is recorded for measurement.
- On cancellation or refund, access and data are adjusted.
WooCommerce documentation confirms that webhooks send events about orders and other changes. A webhook is not a guarantee of error-free delivery: you need logs, retries and a manual recovery path.
Ready-made service or your own WordPress?
A ready-made service makes sense when you mainly want to sell
You pay continuously, while the provider handles operation, updates and much of the integration. Check supported payments, invoicing, data export, VAT, membership access, email and what happens when the service ends.
Your own solution makes sense when you truly need your own process
WooCommerce and membership systems can do a lot. You gain control, but own security, compatibility and update testing too. If the main argument is “the plugin costs nothing”, you have not counted operation yet.
Checkout should remove uncertainty, not show off technology
The order should be short, readable on mobile and clear about price, payment and what follows. Before changing a button colour, test:
- purchases by both new and existing customers,
- card payments, bank transfers, and failed payments as appropriate to the offer,
- the correct invoice and email,
- granting and removing access,
- the mobile journey and returning after an interruption,
- order measurement without duplicates.
The original article reported 45 paid orders out of 54 for an evergreen course and 34 sales from 35 physical-course orders over 28 days. These are historical 2016 results, not a current benchmark. Today I would also examine course completion, refunds and later customer value.
The post-purchase email is part of the product
A transactional message should reduce uncertainty: confirm payment, provide access, explain the first step and offer help. A marketing series comes later and must respect consent and expectations.
See the comparison of email tools.
When not to automate sales yet
- It is unclear whom the course helps and what it changes.
- First participants have not completed it or provided useful feedback.
- Supporting one participant takes an unpredictable amount of time.
- Terms, invoicing and cancellations are unresolved.
- Nobody can repair access after an integration error.
The sales system should remove repeated manual work, not hide an unfinished product. Design the journey, verify weak points manually and automate only what truly repeats.
If you need to align the offer, measurement and technical path without selling another plugin, see how collaboration works.