Heymarket can store a timezone for each contact, detect it automatically, and use it to send scheduled broadcasts at each recipient's local time.
Why timezones matter
Compliance. The TCPA restricts marketing calls and texts to between 8:00 am and 9:00 pm in the recipient's local time, and several states apply narrower windows. If you schedule a broadcast in your own timezone, a 9:00 am Pacific send lands at 6:00 am for contacts on the East Coast, outside the permitted window. Storing a timezone per contact lets Heymarket evaluate quiet hours against where the contact actually is, not where your team sits.
Response rates. Timing drives engagement. Messages that arrive mid-morning or early evening in a recipient's own day tend to see faster replies than messages that arrive overnight or during a commute. Sending at each recipient's local time means one scheduled broadcast reaches a national list at the same favorable local hour instead of spreading across a range that includes some very bad ones.
Heymarket's timezone tools support your compliance program but do not replace it. Confirm your sending windows with your legal or compliance team.
How contact timezones work
Every contact has a Timezone field on their contact profile. It can be set three ways:
- Automatically, when Auto-Detect Timezone is enabled
- Manually, by an admin or user on the contact profile
- In bulk, using the Scrape and overwrite action in Admin
If a contact has no timezone, scheduled sends fall back to the timezone selected on the broadcast.
Enable Auto-Detect Timezone
Auto-Detect Timezone is off by default and is set at the account level.
- Go to Admin > Contacts
- Find Auto-Detect Timezone
- Toggle it On
Auto-Detect Timezone setting in Admin > Contacts: https://app.heymarket.com/contacts/
Once enabled, Heymarket sets a timezone automatically whenever a contact is created:
- Manually in Heymarket
- Via CSV import
- Via an integration (Salesforce, HubSpot, Zapier, API, and others)
You can change a contact's timezone at any time, and it can be overwritten later if the contact moves.
Note: Enabling the toggle applies to newly created contacts only. Use Scrape and overwrite to update contacts that already exist.
Update existing contacts in bulk
Under Auto-Detect Timezone in Admin, select Scrape and overwrite. Heymarket reviews your existing contacts and sets a timezone for each one.
This action overwrites timezones that were set manually, so confirm with your team before running it if anyone has entered timezones by hand.
View or edit a contact's timezone
- Go to Contacts and select a contact
- In the contact panel, find the Timezone field
- Select a timezone from the dropdown, or choose a different one to replace the existing value
Before detection runs, the field shows Select Timezone. After detection, it shows the assigned timezone, for example Eastern Time - New York.
Send a broadcast at the recipient's local time
When scheduling an SMS broadcast, you can send at one fixed time or stagger delivery so every contact receives the message at the same local hour.
- Create your broadcast and select a list or recipients
- Select the calendar icon next to Send Now
- In Send This Message Later, pick a date and time
- Choose a timezone from the dropdown, or check Send at recipient's local time
- Select Save, then send or schedule the broadcast
With Send at recipient's local time checked, a broadcast scheduled for 9:00 am reaches a contact in New York at 9:00 am Eastern and a contact in Los Angeles at 9:00 am Pacific.
Contacts without a timezone receive the message at the scheduled time in the timezone selected on the broadcast.
Quiet hours and contact timezones
Contact timezones only affect quiet hours if the inbox is configured to use them. Quiet hours are set per inbox, and each inbox chooses whether to evaluate those hours against the inbox timezone or against each contact's timezone.
To set this:
- Go to Admin > Inboxes and select an inbox
- Open Settings and select Change next to Business Hours
- Turn Quiet Hours On
- Under When to apply hours, choose Inbox timezone or Each contact's timezone
- Select Save
With Each contact's timezone selected, a quiet hours window of 9:00 pm to 8:00 am is evaluated in each recipient's local time, so a contact in New York and a contact in Los Angeles are both protected during their own overnight hours. Contacts without a timezone fall back to the inbox timezone shown in the Timezone dropdown.
With Inbox timezone selected, contact timezones have no effect on quiet hours. Every message is evaluated against the single inbox timezone.
Best practices
- Turn on Auto-Detect Timezone before your first large import so contacts are covered from the start
- Run Scrape and overwrite once after enabling the toggle to backfill your existing contact list
- Use Send at recipient's local time for any broadcast going to contacts in more than one region
- Pick a local send hour inside your allowed window with margin on both ends rather than at the edge
- Spot check a few contacts after a bulk update to confirm the timezones look right
FAQ
Does Auto-Detect Timezone change a timezone I set manually? No, not on its own. Manual values are preserved unless you run Scrape and overwrite, which replaces existing values.
What happens if a contact has no timezone? The broadcast's selected timezone is used instead.
Can I set timezone through the API or an import file? Yes. Timezone can be set on contact creation and update, and it is respected in place of auto-detection.
Does this affect quiet hours? Only if the inbox is set to evaluate quiet hours in each contact's timezone. That option is configured per inbox under Admin > Inboxes > Settings > Business Hours. If the inbox is set to use the inbox timezone instead, contact timezones do not change quiet hours evaluation.