# What time to send a message to your customers

> Between 10:00 and 21:00, on the clock at your business and not the one on the server. An out-of-hours message is postponed, not dropped. The eight checks a send passes, in order.

- Source: https://usekanz.com/en/blog/when-to-message-customers
- Language: en
- Other languages: [ar](https://usekanz.com/ar/blog/mata-tursil-risala-lizabainik), [fr](https://usekanz.com/blog/quand-envoyer-un-message-a-ses-clients)
- Format: Markdown, generated from the same source as the page.

- Published: 2026-08-26
- Author: Kanz
- Topics: Follow-ups, Guardrails, Product
- Reading time: 4 min

Between 10:00 and 21:00, local time where you trade. That is the Kanz default, and the
precision that matters sits in the last part of that sentence: the clock at your business,
not the clock on the server firing the send.

The distinction is in no way theoretical. A scheduled job runs in universal time. "Send
nothing before 10:00" is a claim about the clock on your wall, and the two almost never
coincide. So Kanz converts every timing decision into the time zone the business declared,
leaning on the system time zone database rather than an offset written by hand, which means
clock changes are handled without anybody having to think about them.

## An out-of-hours message is not cancelled

That is the detail that changes how the product behaves, and it is easy to miss.

Of all the reasons a send can be refused, quiet hours are the **only** one that comes back
with a retry date. Every other refusal is a refusal; this one is a postponement. A message
held until 10:00 is worth infinitely more than a message thrown away at 03:00, and a
product that treats the two alike quietly loses good follow-ups to a clock problem.

Another guardrail of the same kind: if the window is set wrong, with a start time equal to
the end time, Kanz treats everything as allowed rather than nothing. One broken line of
configuration must not leave a business mute forever with nobody understanding why.

## The eight checks, in order

Before a message goes out it passes eight checks. The order is not decorative: it is the
**first** failure that gets recorded, so the reason on display is always the constraint
genuinely blocking the send, and not the last one met.

1. Is the agent paused, is the channel active, does the plan allow automatic sending
2. Has the person unsubscribed, are they in the control group, do we have an address
3. Are we inside the hours the business trades
4. Have we already contacted this person too often over the last thirty days
5. Have we reached the daily send ceiling
6. Is the monthly budget of the business exceeded
7. Is the reward above the floor the business set
8. Are there any credits left

Unsubscribe sits second, ahead of the timing, ahead of the ceilings, ahead of the budget.
That is no accident: it is the one rule a business owner cannot work around, and the one
they cannot waive on their own behalf either.

## The two ceilings that matter most

By default, Kanz does not contact the same person more than **twice in thirty rolling
days**, and does not send more than **fifty messages a day** across all customers.

The first is the more important of the two and the one you are most tempted to raise. Two
messages a month is already a lot for a neighbourhood business. That ceiling can be set as
high as ten, and the bound exists because beyond it you are no longer talking about loyalty
but about harassment, whatever name you give the channel.

The thirty-day counter is **recalculated**, never incremented. The distinction sounds
technical and is not: a counter you increment drifts, and drift on that particular counter
means extra messages sent to real people.

## What Kanz cannot do yet

This has to be said plainly, because it is a genuine limit. Quiet hours are a window in the
day, not a calendar. Public holidays, religious festivals and the stretches when it is
obviously wrong to send anything are unknown to the product: there is a table meant for
them and nothing filling it.

In practice that means it is on you to pause the agent during those periods. The button
exists and that is what it is for. A product claiming to know the calendar of every
business would be wrong more often than right.

## The right time, beyond the window

The default window is a protection, not a recommendation. Inside it, not every hour is
equal.

A message suggesting somebody comes in today has to land while coming in today is still
possible, which rules out the last hour before closing. A message about a reward that is
about to expire has to land several days ahead, not the evening before. And a message sent
at the exact moment you are full is a message arriving when you cannot serve the people who
answer it.

The simple rule: send when you would have room, not when you need people. They are not the
same moment.

The channel counts too, and it is handled separately: a card update costs nothing and
disturbs nobody, whereas a message has a cost and a limit to its welcome. The detail on
messaging cadences is [in this article](/en/blog/whatsapp-customers-without-a-ban).

## Create an account

The trial runs 30 days and asks for no card.

- [Sign up](https://usekanz.com/signup)
- [Merchant panel](https://usekanz.com/panel)
