Skip to content

Send-Time Optimisation

Choosing when to send each message, by hour, day or a recipient's own habits, to lift reads and replies without hurting quality.

Also called: Send time optimization · STO · Best time to send · Send-time personalisation

Reviewed

Interactive lab

Hands on: use the controls to explore. Anything that plays on its own pauses while you are working inside it.

When does this audience actually read?

Wednesday · 21:00

74

% read within 1 hour (illustrative)

Peak
Wed 21:00
74
Busiest day
Wednesday
avg 30
Best hour
21:00
avg 67

Weekday evenings 8–10 pm lead; Sunday peaks around lunchtime instead.

0100Peak hourBest hour on average

Focus the grid and use the arrow keys (Home / End for 00:00 / 23:00), or point at a cell.

An illustrative week for a consumer retail audience in India: the share of delivered marketing messages read within an hour, by weekday and IST hour. Hover or arrow through the cells to find the peaks and the dead hours.

01What is send-time optimisation?

Send-time optimisation (STO) is choosing when each WhatsApp message goes out so it arrives at a moment the recipient is likely to read and act on it. It works at three levels: picking the best hour and weekday for a whole campaign, picking different slots for different segments (office workers, students, shop owners), and, in its most advanced form, picking a slot for each recipient from their own history of reading and replying.

The data comes from your own message events. Every business-initiated message has a send time, the statuses webhook later reports delivered and read with their own timestamps, and replies and button taps arrive through the messages webhook. Grouping the gap between delivery and read or reply by weekday and hour shows when an audience really engages. Users can switch off read receipts, so a read-based model understates some people; replies and clicks are the stronger signals.

Send-time optimisation decides when; Frequency Capping decides how often, and the two work together, because a perfectly timed message is still one too many if the contact has had three this week. It is also different from A/B Testing, although an A/B test of two send times is the honest way to check that a chosen slot really beats the default.

Key takeaways

  • Send-time optimisation chooses the hour and day each message goes out, for a whole audience or per recipient, from when people actually read and reply.
  • On WhatsApp the signals are delivered and read statuses, replies and button taps, all timestamped in your webhooks.
  • The Cloud API has no 'send at' field: scheduling and per-recipient timing live in your own system or messaging platform.
  • At the default 80 messages per second, 100,000 messages take about 21 minutes, so a send time is really a send window.
  • Give marketing templates a time-to-live that matches the offer, so a message that cannot be delivered in time is dropped.

02 · How it works, step by step

How does send-time optimisation work?

  1. Step 1

    Collect timestamps for every message

    Store the send time, the delivered and read timestamps from status webhooks and the time of any reply or button tap, keyed by wamid and recipient. Convert everything to the recipient's local time: IST for Indian numbers, but not for contacts on +971 or +44 numbers.

  2. Step 2

    Build the engagement heatmap

    For each weekday and hour, compute the share of delivered messages read or replied to within a fixed window such as 60 minutes. Use several weeks of data and ignore cells with tiny samples.

  3. Step 3

    Choose slots by segment or by recipient

    Pick the best one or two slots per segment. For per-recipient timing, use a contact's own most frequent reply hour once they have enough history, and fall back to their segment's slot until then.

  4. Step 4

    Schedule inside your limits

    Queue sends to start at the chosen slot and pace them within throughput, up to 80 messages per second per number by default. A 100,000-message campaign therefore takes about 21 minutes; per-recipient timing spreads it across the day.

  5. Step 5

    Test against a control

    Split a campaign: half at the default time, half at the optimised slot. Compare click and reply rates, not only reads, before rolling the model out to every send.

03Send-time optimisation: key facts and limits

Default throughput
Up to 80 messages per second per number
100,000 messages at 80 mps
About 21 minutes
Marketing template TTL
Default 30 days, customisable from 12 hours to 30 days
Timing signals
delivered and read statuses, replies, button taps
Scheduling field in the Cloud API
None; schedule in your own system
Read receipts
Users can turn them off, so reads are understated

04Example: One saree catalogue, two audiences, two times

A saree seller in Surat sends a weekly new-arrivals template to about 30,000 opted-in contacts at 11 am, a time nobody had questioned. Six weeks of status and reply webhooks, turned into a heatmap, show two different groups: retail shoppers read fastest between 1 pm and 2 pm and between 8 pm and 10 pm on weekdays, while resellers who buy in bulk reply fastest at 9–10 am. The seller splits the send: resellers at 9:30 am, retail shoppers at 8:30 pm, both with a 12-hour time-to-live on the template so a stale offer is dropped rather than delivered the next day. A holdout kept at 11 am shows the evening send earning clearly more replies for the same number of paid deliveries.

05 · Common mistakes, and the fix

Common mistakes with send-time optimisation

  • Optimising for reads alone

    A slot with a high read rate but few clicks or replies is not a better slot. Score slots on the action the campaign wants, and use reads only as a tie-breaker.

  • Using one time zone for everyone

    A list of Indian numbers with a few thousand NRI contacts in the Gulf, the UK or North America will wake some of them at night. Derive the zone from the country code and send by local time.

  • Sending everything at the 'best' time

    If every campaign targets 8 pm, contacts receive all your messages together, alongside every other business that read the same advice. Spread campaigns across two or three strong slots and respect frequency caps.

  • Ignoring how long a large send takes

    A 9 am flash sale to 300,000 contacts at 80 messages per second is still sending after 10 am. Start earlier, pace by segment, or qualify for higher throughput before the campaign.

  • Trusting a tiny sample

    A per-recipient slot learned from two replies is noise. Require a minimum history, such as five engaged messages, before overriding a contact's segment slot.

06Why does send-time optimisation matter?

WhatsApp messages are read quickly, so the hour a campaign lands decides whether it sits at the top of the chat list or under a day of family-group messages. A well-timed send lifts reads, clicks and replies for the same number of paid deliveries, while a badly timed one, such as a promotion that buzzes at 6 am, invites the blocks that lower a number's quality rating. Timing also interacts with delivery mechanics: throughput, per-user marketing limits and the Marketing Messages API's own delivery optimisation all mean a large campaign spreads over a window that is better planned than discovered.

07 · Tips from the bench

Best practices for send-time optimisation

  • Avoid late-night and very early marketing sends; the message that buzzes at 6 am is the one that gets blocked.
  • Treat festival weeks and month-start paydays as separate seasons; behaviour in Diwali week is not an ordinary week.
  • Time utility messages to the event, not the heatmap: an OTP or a delivery update goes out immediately.
  • Rebuild the heatmap every quarter, because habits shift with seasons, exams and working patterns.

08Send-Time Optimisation FAQs

What is the best time to send WhatsApp marketing messages in India?+
There is no universal best time; it depends on your audience. Many consumer audiences engage at lunchtime and in the evening, roughly 8–10 pm IST, but resellers, professionals and students differ, so measure your own read and reply times before choosing.
Can I schedule a message with the WhatsApp Cloud API?+
Not natively. The messages endpoint sends immediately, so scheduling and per-recipient timing are handled by your own job queue or by the messaging platform you use, which calls the API at the chosen moment.
Is send-time optimisation the same as frequency capping?+
No. Send-time optimisation decides when a message goes out; frequency capping decides how many messages a contact may receive in a period. Use both: the best-timed message still hurts if it is the fourth that week.
Does sending at the right time improve my quality rating?+
Indirectly. Quality rating reflects recipient feedback such as blocks and reports, and messages that arrive at a sensible hour are less likely to draw them. Good timing helps protect quality but cannot rescue an irrelevant message.
How much history do I need for per-recipient send times?+
Enough engaged messages per person to see a pattern, at least a handful of replies or clicks. Until a contact reaches that, send at the slot learned for their segment and switch once their own history is reliable.

From definition to your first message

InfiQ is an official Meta Business Partner. Start a 7-day free trial — no card needed — and see this running on your own number.