A permitted window is measured against the moment a message arrives, not the moment you call the API. The two can fall on different sides of it for two recipients of one send.

Inside the window, no published hour transfers. An hour measured on one list, in one country, for one kind of message describes that list.

## When am I allowed to send?

Inside the window the destination sets, measured in the recipient's local time.

Some destinations restrict when promotional messaging may arrive. The restriction is about arrival rather than send time, so one instant is inside the window for one recipient and outside it for another. [What are SMS quiet hours](/explained/sms/what-are-sms-quiet-hours) covers how those windows work and what Bird enforces. [SMS destinations](/products/sms/destinations) renders the current position per country.

In the United States the window comes from the FCC's rule under the TCPA, and the operative part is the local-time clause. [What is the TCPA](/explained/compliance/what-is-tcpa) quotes it.

## Is there a best hour inside that window?

Not one that transfers between audiences.

A recommended hour is measured on one audience, in one country, for one kind of message, against one response. Change any of those and the number describes something else.

- **Audiences are distributed differently.** A commuter list and a shift-worker list have different good hours, and an aggregate over both has neither.
- **Content changes the hour.** A reminder is timed to the event it references. A promotion is timed to when someone will read an offer.

The method below finds the hour for your own audience from data you already collect.

## Why is "9am" not a send time?

A schedule fires at an instant, and 9am is a different instant in every time zone.

Your own scheduler holds the timer. Bird's SMS API has no send-later field in service: `scheduled_at` on the send request is reserved, so supplying it is refused with a `422`. A campaign meant for 9am across twelve zones is twelve calls at twelve instants.

The input to that arithmetic decides whether it works. A time zone from a person's profile or account settings is a fact. One inferred from a number's prefix is a guess, and the failure is a message at four in the morning. [What is SMS scheduling](/explained/sms/what-is-sms-scheduling) covers why a number is weak evidence of where its owner stands.

## Does the send arrive when it starts?

No. It arrives over the time the send takes to clear.

Your schedule decides when a send begins. The messages then drain at the route's throughput ceiling, so a campaign that takes forty minutes to clear delivers its last message forty minutes after its first. [What is SMS throughput](/explained/sms/what-is-sms-throughput) covers the ceilings that set that duration.

Two consequences. Start early enough that the whole send lands inside the window you intended. And where a message must be read before a deadline, work backwards through the clearing time.

## How do I find the best time for my own audience?

Measure arrival separately from response. They fail differently.

- **Arrival** comes from the delivery receipt, which carries the moment the network reported delivery. Comparing accepted time with delivered time across a send shows how much the network moved your timing. [What is a delivery receipt](/explained/sms/what-is-a-delivery-receipt) covers what that event does and does not tell you.
- **Response** comes from your own funnel: replies, visits, redemptions. [What is click-through rate](/explained/engagement/what-is-click-through-rate) covers the measure and its traps.

Split one campaign rather than comparing two. Send the same content to comparable halves of one audience at two local hours, and compare the response rather than the delivery rate. Two campaigns a week apart differ in content, list state and season as well as in hour.

Re-run it periodically. An audience's best hour moves as the audience does.