Why this matters
Most retention programmes grow by accretion. Someone builds a welcome email. Someone else adds push. A third team buys a WhatsApp vendor for sale announcements. Each channel looks good on its own dashboard, and the customer gets six messages on a Friday night.
The cost shows up in three places. Users opt out or block, which shrinks the reachable base permanently. Channel costs rise, because WhatsApp and SMS are paid per message. And attribution double counts the same purchase in every channel, so nobody can tell what actually worked.
Orchestration is the fix. It treats all channels as one system with one set of rules: who is eligible, which channel goes first, how many messages a person can get, when to stay silent and when to stop.
The framework
The journey skeleton
Every lifecycle flow, from abandoned cart to trial onboarding, has the same four parts.
| Part | Question it answers | Example |
|---|---|---|
| Trigger | What behaviour starts the journey? | Cart created and no checkout within 30 minutes |
| Wait | How long until the next decision? | 1 hour, or until 10 am local time |
| Split | What did the user do, and what do we know about them? | Purchased? Opened? Opted in to WhatsApp? High cart value? |
| Exit | When must the journey stop? | Purchase, unsubscribe, support ticket, cap reached |
Design the exits first. A journey that keeps sending after the goal is met is worse than no journey.
The channel decision
For every message slot, the orchestration layer picks a channel using four filters in order:
- Consent. Does the user allow this channel for this message type (transactional vs marketing)?
- Reachability. Is there a valid email, an app install with push enabled, a WhatsApp-registered number?
- Urgency and richness. Time-critical and high-intent moments justify interruptive channels (push, WhatsApp). Long content suits email.
- Cost. Email and push are close to free per send. SMS and WhatsApp marketing templates are paid per message, so they must earn their place.
| Channel | Best for | Cost per send | Intrusiveness | Main risk |
|---|---|---|---|---|
| Rich content, nurture, receipts | Very low | Low | Deliverability, ignored | |
| Push | Time-sensitive nudges in app | Very low | Medium | Opt-out, app uninstall |
| In-app | Users already in session | Free | Low | Only reaches active users |
| SMS | OTPs, critical alerts | Paid | High | Little content, strict sending rules |
| High-intent, conversational, India and other WhatsApp-first markets | Paid per template | High | Blocks lower quality rating and limits reach |
Guardrails that apply across every journey
- Global frequency cap. A starting point many teams use is one marketing message a day and four to six a week per user across all channels. Transactional messages (OTP, order updates) sit outside the cap.
- Channel priority. If a user is reachable on several channels, send on the cheapest one likely to work, and escalate only if there is no response.
- Quiet hours. No promotional pushes, SMS or WhatsApp at night in the user’s local time. A common rule is no marketing between 9 pm and 9 am.
- Journey priority. When two journeys want the same user, a fixed hierarchy decides (for example, transactional, then cart recovery, then onboarding, then newsletters).
- Holdout. Every journey keeps a random 5 to 10% of eligible users unmessaged so you can measure incremental impact.
India: WhatsApp and TRAI specifics
WhatsApp is the default messaging app for most Indian consumers, which is why it so often outperforms email there. It also comes with rules you must design around. Check current documentation before you launch, since details change.
- Opt-in. Meta requires that the user clearly agreed to receive messages from your named business. The opt-in can be collected on your site, at checkout, by SMS or on a paper form, and you must honour opt-outs.
- Template categories. Business-initiated messages use approved templates in one of three categories: marketing, utility or authentication. Mixing an offer into an order update makes it marketing.
- Per-message pricing. Since 1 July 2025 Meta charges per delivered template message, with rates by category and country. Utility templates sent inside an open 24-hour customer service window are free, and free-form replies inside that window cost nothing.
- Free entry point. When a user messages you from a Click to WhatsApp ad and you reply within 24 hours, a 72-hour window opens in which all messages are free. That makes ad-led conversations cheaper to follow up.
- Per-user marketing limits. Meta caps how many marketing templates a given user can receive from all businesses combined, and does not publish a fixed number. Some sends will simply fail for heavily messaged users, so never rely on WhatsApp as the only touch.
- Quality rating. Blocks and reports lower your number’s quality rating, and sustained low quality can get your sending rate limited.
- SMS under TRAI. Commercial SMS in India runs through the DLT system under TRAI’s TCCCPR 2018, with registered headers and templates. Operators restrict promotional messages to daytime hours (widely implemented as 9 am to 9 pm). TRAI’s February 2025 amendment tightened definitions, for example treating messages that mix promotional and service content as promotional.
- Data protection. India’s Digital Personal Data Protection Act, 2023 adds a general expectation that consent is specific and can be withdrawn. Keep a consent ledger per channel and purpose.
Step-by-step playbook
- Inventory every automated message. List all journeys, channels, triggers and owners in one sheet. You will usually find overlaps and orphan flows nobody owns.
- Build the consent and reachability profile. Per user: email status, push token, WhatsApp opt-in with timestamp and source, SMS DND status, preferred language and time zone.
- Set global rules before journeys. Frequency cap, quiet hours, journey priority, holdout share. Put them in the orchestration tool, not in each campaign.
- Design each journey on paper. Write the trigger, the exits, then the waits and splits. Every split must answer a question that changes what you do next.
- Assign channels by step, not by journey. Start with the cheapest channel. Escalate to push, then WhatsApp, only for users who have not converted and still show intent (cart value above a threshold, product viewed again).
- Write content per channel. Email gets detail. Push gets one line and a deep link. WhatsApp gets a short, personal message, product image and one button. Tag every link with UTMs so you can see channel contribution.
- Launch with a holdout and a guardrail dashboard. Track incremental conversions, unsubscribes, push opt-outs, WhatsApp blocks and quality rating weekly.
- Prune quarterly. Kill steps that show no incremental lift. Fewer, better messages usually beat more messages.
Worked example
D2C abandoned cart across four channels
Abandoned cart: email first, escalate on intent
- TriggerCart created, no checkout in 30 minutes
- WaitWait 30 minutes (respect quiet hours)
- Send · EmailReminder with cart contents
- WaitWait 4 hours
- SplitPurchased or still has intent?
Purchased
- ExitExit, move to post-purchase journey
No purchase, cart over ₹1,500, WhatsApp opt-in
- Send · WhatsAppCart reminder with product image and checkout button
- WaitWait 24 hours
- Send · PushLow-stock or social proof nudge (no discount)
- ExitExit after 72 hours or on purchase
No purchase, other users
- Send · PushNudge with deep link to cart
- WaitWait 24 hours
- Send · EmailBestseller reviews for cart items
- ExitExit after 72 hours or on purchase
Say a D2C brand gets 10,000 abandoned carts a month with an average cart of ₹1,800 and a 40% gross margin. 30% of these shoppers (3,000) have opted in to WhatsApp and have carts over ₹1,500.
- Holdout result. A 10% holdout shows 4.0% of abandoners buy within 72 hours with no messages.
- Email and push only (treated group). 6.5% buy. Incremental rate = 6.5% - 4.0% = 2.5 points. On 9,000 treated carts, that is 225 incremental orders.
- Adding WhatsApp for the eligible 3,000. Say the eligible group converts at 9.0% with WhatsApp versus 6.5% without (measured with a split inside the eligible group). That is 2.5 more points on about 2,700 treated eligible carts: about 68 extra orders.
- Is WhatsApp worth it? Assume ₹0.90 per delivered marketing template for this arithmetic (check Meta’s current India rate card). Cost = 2,700 x ₹0.90 = ₹2,430. Margin from 68 orders = 68 x ₹1,800 x 40% = ₹48,960. The channel pays back roughly 20 times. Now repeat the sum for carts below ₹1,500 and for users who already got push. That is where paid channels often stop paying back.
B2B SaaS trial onboarding
14-day trial: activate first, sell second
- TriggerTrial started
- Send · EmailWelcome with one setup task
- WaitWait 2 days
- SplitCompleted key setup action?
Yes, activated
- Send · In-appInvite teammates checklist
- WaitWait until day 10
- Send · EmailPlan recommendation based on usage
- ExitExit on upgrade
No, not activated
- Send · EmailSample data and 3-minute walkthrough
- WaitWait 2 days
- Send · EmailOffer a 15-minute setup call (sales-assist if company size over 50)
- ExitExit on activation, move to activated branch
B2B SaaS vs D2C: what changes
| Topic | B2B SaaS | D2C |
|---|---|---|
| Primary channels | Email, in-app, sales and CS tasks | Email, push, WhatsApp, SMS |
| Trigger source | Product events (setup, invites, usage drops) | Commerce events (browse, cart, order, delivery) |
| Recipient | Several users per account, different roles | One person |
| Splits | Activation state, role, account size | Purchase, cart value, consent, category |
| Human step | Hand-off to sales or CS is a channel | Rare, mostly support |
| WhatsApp in India | Meeting reminders, renewals, support | Cart, delivery, COD confirmation, reorders |
In B2B, orchestrate at account level too. If an admin is already in a renewal conversation with a CSM, suppress automated upsell emails to everyone in that account.
How to measure it
| Metric | Definition | Notes |
|---|---|---|
| Incremental conversion | Treatment conversion rate minus holdout conversion rate | Same window, randomised assignment |
| Revenue per recipient | Revenue from treated users / users entered | Compare to holdout revenue per user |
| Cost per incremental conversion | Paid channel cost / incremental conversions | Do this per channel and per branch |
| Messages per user per week | Marketing sends / active reachable users | Watch the 95th percentile, not just the average |
| Opt-out and block rate | Unsubscribes, push opt-outs, WhatsApp blocks / sends | Per channel, per journey |
| WhatsApp quality rating | Meta’s rating for your number | Check weekly, pause journeys that drive blocks |
Use your A/B test calculator to size holdouts. A journey with a 4% baseline and an expected 1 point lift needs several thousand users per group to read with confidence, so small journeys may need a longer test window or a pooled holdout across journeys.