Quiet Hours is a campaign delivery setting that prevents messages from sending during a specified window of time in each recipient's local time. When Quiet Hours are enabled for a campaign, Iterable checks the recipient's local time before sending and either holds the message until the window ends or skips the send, depending on how you've configured it. Fallback strategies are available to customize how Iterable handles cases where the recipient's time zone isn't available.
IMPORTANT
Quiet Hours can help with SMS sending-time compliance.
Quiet Hours helps you control when SMS campaigns send, but it does not guarantee compliance with SMS sending regulations. Sending-time requirements vary by recipient location. Check with your legal counsel to verify that your sending windows comply with regional regulations.
See Best Practices for SMS Compliance for more information.
# In this article
# How Quiet Hours works
When you configure Quiet Hours for a campaign, Iterable uses these settings to determine if and when to send messages for each recipient:
Quiet Hours window: Choose the start and end times during which Iterable should not send the campaign.
Time zone fallback: Decide what Iterable does when a recipient's
timeZonefield is missing or invalid—either apply a fallback time zone or skip the send for that recipient.Quiet Hours behavior: Decide whether messages that would send during the quiet hours window are held until the next eligible time or skipped entirely.
Iterable looks up the recipient's local time using the timeZone field on
their user profile, or the fallback strategy if that field is missing or invalid.
If the local send time is outside the Quiet Hours window, Iterable sends the message normally.
If the local send time is inside the Quiet Hours window, Iterable either holds the message until the window ends, then sends the message, or Iterable skips the send, depending on your Quiet Hours configuration for the campaign.
# Supported channels for Quiet Hours
You can use Quiet Hours when you send campaigns from the following channels:
- In-app
- Push
- SMS
- Web push
SMS has Quiet Hours on by default for all new marketing and transactional campaigns. See Quiet Hours for SMS campaigns. For all other supported channels, Quiet Hours are off until you enable them.
Quiet Hours are not available for WhatsApp or embedded messaging channels.
# Send-time example
Suppose your Quiet Hours window is 8:00 PM–9:00 AM. If a triggered campaign fires at 5:00 AM in a recipient's local time, Iterable holds the message and sends it at 9:00 AM when the window ends—unless you've configured it to skip the send instead.
# Quiet Hours and Send Time Optimization
If you enable both Quiet Hours and Send Time Optimization (STO) for a campaign, and STO selects an ideal send time that falls inside the Quiet Hours window, Quiet Hours takes precedence. Iterable holds the message until the Quiet Hours window ends and sends at the next eligible time (or skips the send, if you've configured it to do so).
# Requirements for recipient time zones
Quiet Hours depends on the timeZone
field on each recipient's user profile. Iterable uses this field to determine
the recipient's local time before sending.
The timeZone field name, and its values, are case-sensitive and space-sensitive.
Iterable looks for the exact field name on the user profile, and values in
case-sensitive and space-sensitive IANA time zone format.
# Provide time zones from your source data
You can import the timeZone field for users in Iterable from your organization's
systems. Some ways to update the timeZone user profile field:
- Integrations that import and/or update users in Iterable (such as Smart Ingest)
- CSV import
- Users API endpoints
# Automatically capture time zones from click data
IMPORTANT
Using click data to capture the user's time zone is approximate.
Keep in mind that this data comes from third-party geolocation services based on the user's IP address at the time of the click event. It is approximate and may not always reflect a user's actual time zone, so consider this tradeoff before relying on IP-derived time zones for Quiet Hours.
If your customer database doesn't include a time zone field, you can configure
your Iterable project to automatically populate the timeZone field from user
click events. To learn how to capture the user's time zone, read
Automatically populating IP and geolocation fields.
# When to use Quiet Hours
Quiet Hours works well for messages that aren't time-sensitive—those that can wait a few hours or overnight without losing value. For example:
- Upcoming sale alerts
- Special offers
- Back-in-stock notices
Some messages are best delivered immediately, regardless of the recipient's local time. For these messages, you may want to leave Quiet Hours off or configure it to skip rather than delay. For example:
- Fraud alert notices
- Two-factor authentication (OTP) messages
- Urgent delivery updates
You can enable Quiet Hours for any supported campaign type. For transactional campaigns, consider whether delaying or skipping sends is appropriate for the message type, customer experience, and legal compliance requirements.
# Configuring Quiet Hours for a campaign
For blast and triggered campaigns, you can adjust Quiet Hours in the Delivery and Compliance area of the campaign setup page.
For journey campaigns, open the message tile settings and look for Delivery and Compliance.
# Quiet Hours window
Set the start and end times to define the period during which Iterable should not send messages. Iterable evaluates this window against each recipient's local time.
When entering the start and end times, make sure the start time is evening and the end time is morning, to specify the window where messages should not be sent.
# Time zone fallback options
For recipients whose timeZone field is missing or invalid, choose whether
Iterable applies a fallback time zone to determine the appropriate Quiet Hours
window or skips the send for those recipients.
# Use selected time zone
Apply a specific time zone to all recipients with a missing or invalid
timeZone field. Choose a specific time zone from the dropdown menu. The
project's default time zone
is available as a fallback.
# Use time zone based on phone number
SMS only
For SMS campaigns, Iterable can infer a recipient's time zone from their
phoneNumber field when their timeZone field is missing or invalid.
When using the phone number to derive the time zone, Iterable uses phone number
metadata, starting with the country calling code. For example, Iterable can
infer a more specific time zone from the area code of North American phone numbers
that start with +1. For other regions where this is not possible, Iterable uses
the country code to infer the time zone.
# Skip the send
Skip the send for any recipient whose timeZone field is missing or invalid.
When Skip the send is selected as the fallback, recipients without a usable
time zone are skipped for that campaign send. This is a hard skip—Iterable does
not hold their message until after the Quiet Hours window. If the timeZone
field is populated before a future recurring send is processed, those recipients
can receive that future send.
# Quiet Hours behavior
When a recipient has a usable time zone or a fallback option that does not skip the send, and the send would fall inside the Quiet Hours window, you can choose how Iterable handles the campaign send for that recipient.
- Send at the next eligible time: Hold the message and send it when the Quiet Hours window ends.
- Skip the send: Skip the send for this recipient.
If you choose Send at the next eligible time, Iterable schedules the message for later delivery. Scheduled messages are added to the send queue and processed when the Quiet Hours window ends.
If you choose Skip the send, Iterable prevents the message from sending during Quiet Hours.
# Quiet Hours for SMS campaigns
IMPORTANT
Quiet Hours Disclaimer for SMS
Quiet Hours helps you avoid sending at disruptive times, but it does not guarantee compliance with SMS sending regulations. For example, Iterable's default SMS Quiet Hours window is 8:00 PM–9:00 AM, while regional regulations may define different restricted sending times (such as Sundays and holidays in some areas, or specific hours of the day in others).
Check with your organization's legal counsel to verify your sending times fit within regional compliance expectations for your SMS recipients. See Best Practices for SMS Compliance for more information.
Quiet Hours is on by default for all new SMS campaigns, including marketing and transactional campaigns, with the following settings:
- Quiet Hours window: Set to pause messages between 8:00 PM and 9:00 AM, every day, Monday through Sunday, in each recipient's local time.
- Time zone fallback: Set to Use selected time zone with the project's time zone as the fallback.
- Quiet Hours behavior: Set to Send at the next eligible time.
Iterable's default SMS Quiet Hours settings are a general guideline, not a compliance guarantee. You can adjust the settings to meet your compliance requirements, or turn Quiet Hours off for use cases that require immediate delivery, such as transactional or OTP messages that must send at the time they're triggered.
# Want to learn more?
For more information about some of the topics in this article, check out this Iterable Academy course. Iterable Academy is open to everyone—you don't need to be an Iterable customer!
Academy course:
Support articles: