Inside the WhatsApp 24-hour customer-initiated session, every outbound message you send is free — no template fee, no Marketing categorisation, no Utility ₹0.115 charge. Outside the session, every business-initiated message costs (Utility ₹0.115 / Marketing ₹0.96 / Authentication ₹0.135). Most Indian D2C, SaaS, and B2C brands operate as if the difference doesn't exist — they fire templates regardless of whether the customer is currently in an active session, and they don't architect re-engagement to maximise free-window utilisation. The brands compounding fastest in 2026 do the opposite: they treat the 24h session as the most valuable conversational asset they have, time outbound interactions to land within it, and use behaviour-triggered nudges to keep the window open. Free-window share of total outbound climbs from 14% to 48%; monthly WABA bills drop ₹1-3L per 240k volume on real Indian D2C operations. This guide is the 2026 implementation playbook: session mechanics, re-engagement timing, the four window-keeping patterns, the cost-saving math, and the compliance pattern.
How the 24-Hour Session Actually Works
| Concept | Definition | Cost implication |
|---|---|---|
| Customer-initiated session | Customer sends ANY message to your WhatsApp number — opens 24h window | All replies inside the next 24h are FREE (no template fee) |
| Free Entry-Point session | Customer arrives via CTWA / wa.me / WhatsApp Business Search | 72-hour free outbound window |
| Business-initiated session | Brand sends a template (outside any active customer-initiated session) | Template fee per category |
| Window expiry | 24 hours from customer's last inbound message | Replies after expiry must be templated |
| Window extension | Each NEW customer-inbound resets the 24h timer | Active conversation can stay free indefinitely |
The Five Re-Engagement Surfaces (Ranked by Cost)
| Surface | Cost | Best fit |
|---|---|---|
| Inside active 24h session — free-form reply | ₹0 | All re-engagement when session is open |
| Inside 72h Free Entry-Point window | ₹0 | Post-acquisition nurture for CTWA / wa.me arrivals |
| Utility template (outside session) | ₹0.115 | Behaviour-triggered re-engagement (cart abandonment, replenishment) |
| Authentication template (outside session) | ₹0.135 | OTP, account verification |
| Marketing template (outside session) | ₹0.96 | Promotional broadcasts |
The Four Window-Keeping Patterns
| Pattern | How it works | Effect on bill |
|---|---|---|
| Inbound-trigger response design | Customer-replied messages get prompts that invite further inbound (questions, button taps) | Each new inbound resets timer; conversation stays free |
| Session-aware send scheduler | Outbound batches re-routed: if customer in active session → free reply; if not → template | 15-30% of would-be paid sends become free |
| CTWA / Free Entry-Point amplification | Drive paid acquisition through CTWA → 72h free outbound window per customer | 4-8 free outbound touches per customer post-acquisition |
| Behaviour-triggered re-open | Bot prompts customer to reply (poll, button, question) before window closes | Extends session 24h with a single tap |
Real Indian D2C Cost Numbers (240k Monthly Outbound)
Pre-optimisation: session-blind sending
| Channel mix | Volume | Cost |
|---|---|---|
| Free (inside-session, accidental) | 14% | ₹0 |
| Utility templates | 22% | ₹6,072 |
| Marketing templates | 58% | ₹1,33,632 |
| Authentication templates | 6% | ₹1,944 |
| Total monthly bill | 240,000 | ₹1,41,648 |
Post-optimisation: session-aware sending
| Channel mix | Volume | Cost |
|---|---|---|
| Free (inside-session, deliberately routed) | 48% | ₹0 |
| Free Entry-Point 72h window | 14% | ₹0 |
| Utility templates | 22% | ₹6,072 |
| Marketing templates | 10% | ₹23,040 |
| Authentication templates | 6% | ₹1,944 |
| Total monthly bill | 240,000 | ₹31,056 |
Same volume; ₹1.10L saved per month. Annual ₹13.2L saving on a 240k/month operation. Brand reach + engagement quality unchanged or slightly higher (free-form replies inside session are richer than templates).
The Eight Re-Engagement Timing Patterns
| Trigger | Timing | Surface |
|---|---|---|
| Cart abandonment | T+60 min after cart created | If session open: free-form; else Utility |
| Order shipped | Real-time at courier scan | Utility (transactional) |
| Delivery missed | Same day | Utility |
| Replenishment | D+21 typical (per consumption rate) | Utility (behaviour-triggered) |
| Restock alert | SKU back in stock + customer prior interest | Utility (customer-requested) |
| Promotional broadcast | Festive / drop / campaign window | Marketing — only when session closed |
| VIP / loyalty milestone | Per-event | Utility |
| Win-back (90d inactive) | One-time per quarter | Marketing — bias to opted-in segment only |
Operating Rule
The single highest-leverage move for any Indian brand at 100k+ monthly outbound is the session-aware send scheduler: before every outbound, check whether the customer is currently in an active 24h customer-initiated session or 72h Free Entry-Point window; if yes, send free-form (zero fee); if no, send template. Free-window share of total outbound climbs from 14% to 48%; monthly WABA bill drops 60-80%. Same reach, same quality. Build this single check first; layer Free Entry-Point amplification (CTWA / wa.me / QR) and behaviour-triggered re-open patterns over the next 60 days.
Get a 1-minute BSP audit on WhatsApp
Drop your WhatsApp number — we line-item your current invoice against Meta India rates in under 60 seconds. India-hosted, DPDP-compliant.
The Six Anti-Patterns That Waste 24h-Window Economics
- Sending templates inside an active session. Free-form is free; templated sends inside session burn ₹0.115-0.96 per send needlessly. Audit templates fired in the last 24h after a customer-inbound — typically 14-22% are wasted.
- Closing the session prematurely. Bot replies with "is there anything else?" → customer says no → session expires. Use behaviour prompts (poll, button) before close to keep window open if more value possible.
- Ignoring Free Entry-Point traffic share. Driving paid acquisition to landing-page forms instead of CTWA / wa.me forfeits 72h of free outbound per customer.
- Marketing template re-engagement when Utility qualifies. Replenishment reminder, restock alert, behaviour-triggered re-engagement = Utility (₹0.115). Mis-categorising as Marketing burns 8× cost.
- No retry / re-open before window expires. Customer engaged 22 hours ago; bot could prompt for further input at hour 22 to extend session. Most brands let the timer run out.
- Session-blind broadcast scheduling. 9 AM daily marketing blast hits 60% of customers outside session, 40% inside. Inside-session recipients get a templated push that should have been free-form. Re-design broadcast as ETA-aware send.
Trigger + Routing Architecture
Pre-send check (every outbound message):
customer_id → look up last_inbound_at, last_free_entry_at
if last_inbound_at > now - 24h → ACTIVE customer-initiated session
if last_free_entry_at > now - 72h → ACTIVE Free Entry-Point window
if either active → free-form reply (no template, no fee)
else → template (categorise correctly)
Session-state cache:
Redis-backed: customer_id → session_expires_at
Updated on every inbound webhook
Read on every outbound send
Window-keeping triggers:
At T+22h since last inbound: behaviour prompt (poll, button, question)
Goal: customer taps → new inbound → session resets
Track success rate per trigger; tune prompts
Free Entry-Point capture:
CTWA ad click → webhook captures phone + ctwa_clid + arrival timestamp
wa.me link click → first inbound = arrival event
QR code scan → first inbound = arrival event
72h timer starts on arrival; track free-window utilisation
Daily cost dashboard:
Free-window share of total outbound (target >= 40%)
Cost saved vs session-blind baseline
Templates fired inside-session (waste alert)
Mis-categorised marketing-vs-utility (audit alert)
Quarterly review:
Session length distribution (median, P90)
Window-keeping prompt success rate per category
Free Entry-Point traffic share of acquisition spend
WABA bill trend
Compliance + Operational Notes
- Meta categorisation — free-form replies inside session don't require template approval. Templates fired outside session must be correctly categorised (Utility / Marketing / Authentication).
- DPDP Act 2023 — session state + last_inbound_at timestamps are personal data; storage controls + retention rules apply.
- Quality rating impact — free-form inside-session replies have higher engagement (read rate 95%+) which positively impacts quality rating. Session-aware sending therefore both saves cost AND improves quality.
- Audit trail — log every outbound with classification (free / utility / marketing / auth) for billing reconciliation + DPDP audit + Meta dispute resolution.
- BSP rate accuracy — verify your BSP's billing actually reflects free inside-session sends; some BSPs over-bill on session-aware traffic. Cross-check Meta Events Manager vs BSP invoice.
Run session-aware sending on RichAutomate.
Pre-send session-state check on every outbound. Free Entry-Point traffic dashboard. Window-keeping behaviour prompts at T+22h. Mis-categorisation alerts. Cost-saved-vs-baseline tracking. Cuts WABA bill 60-80% on real Indian D2C + SaaS pilots without reach loss. 14-day trial.
The customer LTV calculator turns repeat rate and margin into a per-customer number you can budget against.
Related reading
- WhatsApp WABA Pricing 2026 + Cost-Optimisation India: 58% Bill Cut, Real Rate Cards, 8 Optimisation Patterns
- WhatsApp Deliverability + WABA Tier Graduation India 2026: Tier 1 to Unlimited in 60 Days
- WhatsApp WABA Disaster Recovery Architecture India 2026: Multi-WABA Failover + Quality-Rating Isolation
- SMS to WhatsApp Migration ROI India 2026: Per-Funnel Math, DLT Template Map, and the Ten-Step Runbook
- WhatsApp Business API Cost India 2026: ₹0.11–₹0.99/msg