KanzHome
Join the waitlist
Choose a language
Follow-upsGuardrailsProduct

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.

4 min read

By Kanz
In this article

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.

Comparing us with something else?

We put Kanz next to five other loyalty tools, with a link to the vendor's page and the check date on every line.

Your regulars have already been in. Bring them back.

Kanz is in closed beta: we open in small groups so we can follow each shop closely. Once your place opens you get 10 free returns and a 30-day trial, no card.

Your address is enough. We'll tell you the moment a place opens.