WhatsApp, SMS, Email, Push — picking the right channel for each message
A typical Indian school sends parents 8-15 messages per week through 4 different channels — SMS, WhatsApp, Email, push notification on the parent app. Each of these costs money and parent attention. Picking the right channel for each message is one of the highest-leverage decisions your school IT team makes.
This is the field guide we've collected from 100+ schools.
What each channel is actually good at
SMS
- Strength: delivered to every phone on earth. No app required. Read rate within 3 minutes is ~95%.
- Weakness: 160 characters. Expensive (₹0.15-0.25 per message in India). Easy to spam.
- Use for: emergency-only. Fee due in 24 hours. Bus delayed 30+ minutes. School closed tomorrow. Nothing else.
WhatsApp Business
- Strength: rich content (PDFs, images, buttons), read rate ~85%, free for the parent.
- Weakness: template approval delays (often 24-48 hours). Cost varies (₹0.30-0.80 per business-initiated message depending on category).
- Use for: fee receipts, exam result alerts with PDF, monthly newsletters, registered-parent confirmations.
- Strength: unlimited content. Long-form. Attachments. Free.
- Weakness: read rate ~25% on average; ~50% in metro families. Parents don't check email throughout the day.
- Use for: detailed circulars, monthly report cards, fee receipts as duplicate, annual statements.
Push notification (parent app)
- Strength: delivered instantly. No per-message cost. Can include action buttons.
- Weakness: only reaches parents who installed the app and granted permission. ~60% of K-12 parents do.
- Use for: today's attendance, pickup ETA, homework assigned, results published, leave-approved.
The four mistakes
Mistake 1: Sending everything everywhere
The default behaviour of most ERPs is: "send this announcement on SMS, WhatsApp, Email, AND Push". Parents get the same message four times. They develop banner blindness — your real emergencies get ignored.
The fix: one primary channel per event type, with a clear fallback ladder. Today's attendance push notification at 8:20 AM. If the parent hasn't installed the app or has notifications off, fall back to SMS. Not both.
Mistake 2: WhatsApp templates that look like SMS
Schools often shorten WhatsApp templates to look like SMS, defeating WhatsApp's strengths. "Dear Parent, your child Rajesh attended school today. Regards, ABC School" could include the kid's photo, a thumbnail of today's homework, and a "Pay tomorrow's lunch" button. Use the channel.
Mistake 3: Sending after 8 PM
Quiet hours matter. A WhatsApp at 10 PM about a fee reminder is hostile. Most schools should not initiate messages between 7 PM and 7:30 AM, ever. Emergencies (bus accident, school closure) are different — those need different rules and human approval.
The system should enforce quiet hours per tenant. If your communication engine doesn't have a configurable quiet-hours setting, you'll forget.
Mistake 4: No fallback when the primary fails
Push notification didn't go through because the parent's phone is off. WhatsApp template not approved yet. SMS gateway is down. If your system doesn't have a fallback ladder — "try this, then this, then this, then mark as failed and alert the operator" — you'll lose messages and not know it.
The right architecture
The decision of which channel to use for what event should live in a configurable table per tenant — not in code. Each event in your system (fee-due, attendance-recorded, exam-published, bus-delayed, leave-approved, results-out, ...) maps to:
- Primary channel
- Fallback channel(s)
- Quiet hours start/end
- Consent gate (parent has opted in to this category?)
- Retry policy
Operators tune this without engineering involvement. Engineers ship new event types without touching channel logic.
This is how School Console's Communication module is built. The mapping table is editable by a tenant admin; the channel adapters (WhatsApp via Gupshup, SMS via MSG91, Email via SendGrid, Push via FCM/APNs) are interface-driven so you can swap vendors per channel without re-architecting.
The right defaults
If you're not sure what to set per event, these defaults work for most K-12 schools:
| Event | Primary | Fallback | Quiet hours |
|---|---|---|---|
| Attendance recorded | Push | SMS (if parent has no app) | 9 PM - 7 AM |
| Fee due | Push | 8 PM - 8 AM | |
| Fee due (last 48 hours) | SMS | 8 PM - 8 AM | |
| Exam result published | Push | WhatsApp w/ PDF | 9 PM - 7 AM |
| Bus delayed (20+ min) | Push | SMS | none — emergency |
| Holiday tomorrow | Push | SMS | 8 PM - 8 AM |
| Homework assigned | Push | none | 8 PM - 7 AM |
| Annual report card | + WhatsApp w/ PDF | none — informational |
If your current system is sending parents four copies of the same message at random hours, you're not communicating — you're spamming. Request a demo — we'll walk through how to tune this for your school in 20 minutes.