Why online students drop off
Every edtech knows the curve: a spike in activity in the first week and a steady decline after. Students don't quit by decision, they quit by forgetting. They missed a live class because the alert went to email, fell two modules behind and felt embarrassed to come back. Tuition payments slip along with them.
The schools on your platform deal with this today with a coordinator messaging from a phone, building class groups by hand and chasing payments one by one. When the platform itself does it, the school stops seeing WhatsApp as a chore and starts seeing it as a feature of the product it pays for.
The student lifecycle and where WhatsApp fits
| Moment | What the platform does | API feature |
|---|---|---|
| Enrollment confirmed | Welcome message with access link and entry to the class group | Text and add participant |
| 30 minutes before the live class | Alert in the group with the room link | Text sent to the group |
| New material published | Handout or exercise sheet as a PDF | Document |
| Tuition coming due | Reminder with the amount and a payment link | Text |
| Student inactive for 10 days | Individual message naming the lesson where they stopped | Text |
| Course completed | Certificate and a request for a review | Document and poll |
| Cancellation or end of class | Removal from the group | Remove participant |
The whole table runs on a WhatsApp API and the events your platform already has. Your team's job is to decide timing, wording and what each school can customize.
Class groups, built from enrollment
The class WhatsApp group is where schools do the most manual work and make the most mistakes: students who canceled but are still in the group, new students nobody added, an open group that turned into chaos. By tying the group to the class record, the platform fixes all three:
import { DApi } from 'd-api-sdk'
const dapi = new DApi({ apiKey: process.env.DAPI_API_KEY })
const sessionId = 'edu-school-1043'
// When the class opens: announcements-only group with enrolled students
await dapi.groups.create({
sessionId,
name: 'Spanish B1 - Evening Class Fall 2026',
description: 'Class alerts and materials. Questions in private chat.',
participants: ['14155550123', '447700900123'],
admin_only_messages: true,
})
// New enrollment in a class that is already open (groupId stored on the class record)
await dapi.groups.manageParticipants(course.whatsappGroupId, {
sessionId,
participants: ['14155550188'],
action: 'add',
})Cancellation uses the same call with action set to remove. The platform also receives events such as groups_participants.leave, useful for knowing who left on their own. More options, like invite links and join approval, are in WhatsApp groups API.
Tuition: remind the person who actually pays
In language schools and short courses, the person paying is often not the student. The platform needs the billing contact's phone separate from the student's phone, and reminders go to the former. The message carries the amount, the due date and the payment link from your gateway, so the parent can pay by card in a couple of taps. Payment is still reconciled by your gateway; WhatsApp just shortens the path to it. Reminder cadence and tone strategies are in payment reminders.
Engagement without spam
Re-engaging inactive students is the feature that wins schools over most, and also the one that goes wrong most. Some rules worth building into the product instead of leaving them up to each school:
- An individual message, with the student's name and the exact lesson where they stopped, never a generic text.
- A cap on touches per student per month, enforced by the platform.
- Replying "stop" turns off reminders for that student immediately.
- A time window: no study messages at 11 PM.
- Spaced sends between students. Blasting the whole base in the same minute is the fastest way to get the school's number restricted.
To measure whether the course is working, a short survey at the end of each module usually beats an email form. See NPS surveys on WhatsApp.
Implementation roadmap on the platform
- Connection per school: a connect button in settings, QR code and visible status.
- Records: student phone, billing contact phone and consent to receive messages.
- Groups: created when the class opens and synced with enrollment and cancellation.
- Alerts: live class reminders and new material notices.
- Tuition: a payment reminder flow with payment links, tied to the payment status in your gateway.
- Re-engagement: an inactivity rule with the limits above.
D-API charges per connection, not per message, so class alerts and reminders don't change your bill at the end of the month. The model for companies offering WhatsApp to their own school customers is in WhatsApp API for SaaS, and the 14-day free trial available through sales includes implementation support in a WhatsApp group, in English.
