Campaign Scheduling and Timezone Optimization in AcelleMail

When you send a campaign at "9am" — whose 9am? Yours, your subscribers'? AcelleMail's scheduler defaults to your account timezone. This guide walks the UI + timezone-aware patterns + send-time optimization.

The scheduling decision

When you launch a campaign, you pick one of:

Option Use when
Send now Immediate transactional (welcome, password reset); first test campaigns
Schedule for later All marketing campaigns; coordinate with business events
Send by subscriber timezone Global audience; want everyone to receive at the same LOCAL time

AcelleMail's scheduler defaults to the account-wide timezone. Subscriber-local timezones require per-subscriber timezone tagging.

The scheduling UI

Step 1: Open the schedule step

In the campaign builder, after completing setup + template, you reach the Schedule step:

Schedule step — send-now toggle

By default, "Send now" is selected. Toggle to "Schedule for later" to set a specific date+time.

Step 2: Pick the schedule time

Schedule later — date + time picker

Pick the date + time. The picker uses your account timezone (visible in the field label).

Step 3: Confirm the timezone

Settings → Account → Timezone:

Account timezone setting

This is what AcelleMail uses for all schedule calculations + display. Change it once when your account is created; rarely after.

Best practices for send time

Default rule: weekday mid-morning, recipient timezone

For most B2C and B2B audiences, the consistent winner is:

  • Weekday: Tuesday / Wednesday / Thursday (avoid Monday + Friday)
  • Time: 9:30am - 11:00am in recipient's timezone
  • Avoid: weekends, early morning (<7am), late afternoon (>4pm), midnight

For a US-East-Coast-dominant audience using account timezone of America/New_York:

Tuesday 09:30 ET
Tuesday 10:00 ET
Wednesday 10:00 ET
Thursday 09:30 ET

These windows hit recipients when they're starting their work day — open rates peak.

When to break the rule

Audience Better time
News junkies (financial, sports) Earlier — 6:30am ET catches morning commute
B2B SaaS / tech Tuesday 10am OR Friday 2pm (weekly wrap-up)
E-commerce promotions Saturday 9am for weekend shoppers
College students Sunday evening (homework time)
International (no clear majority) Multiple send waves per timezone band

Multi-timezone audience

If your audience is split US + EU + APAC, three patterns:

Pattern A: Send at "your" timezone (simplest)

Tuesday 10:00 ET
  → US East gets it at 10am local
  → US West gets it at 7am local (early)
  → London gets it at 3pm local (afternoon — different but workable)
  → Tokyo gets it at 11pm local (night — engagement drops)

Sub-optimal for non-US recipients but easy to ship.

Pattern B: Multiple send waves

Tuesday 09:30 PT  (West Coast US)
Tuesday 09:30 ET  (East Coast US)
Tuesday 09:30 GMT (London)
Tuesday 09:30 JST (Tokyo)

Each subscriber's timezone tag determines which wave they receive in. AcelleMail handles this via per-segment campaign launches OR via per-subscriber send-time-optimization (advanced).

Pattern C: Subscriber-local timezone

If your install supports per-subscriber timezone:

Tuesday 09:30 in subscriber's local timezone

Each subscriber receives at 9:30am THEIR time. AcelleMail's scheduler does the math.

Requires:

  • Per-subscriber timezone field on the list
  • Send-time optimization feature enabled (varies per install)

Common UI signals + fixes

Symptom Likely cause Fix
Schedule rejects "tomorrow 9am" Date is in past relative to account timezone Verify account timezone matches what you expect
Send happens 1 hour off expected time Daylight saving transition AcelleMail handles DST automatically; if off, confirm timezone setting (not "UTC offset")
Different recipients receive hours apart Send queue throttling spreading over time Expected for large sends; tune sending limit if too slow
Schedule shows in UTC despite account TZ set Browser session timezone different from account Reset by re-saving the schedule via the explicit picker
Campaign sends in the wrong week Time-of-day in account TZ vs subscriber TZ confusion Use ISO format dates to remove ambiguity
Subscriber-local timezone shows everyone at midnight UTC Per-subscriber timezone field empty Back-fill timezone column or fall back to account TZ

Send-time optimization

AcelleMail's send-time optimization (varies per install) uses each subscriber's past-open-time pattern to predict the best send time for them:

Subscriber A: opens at 9:30am ET routinely → schedule for 9:30am ET
Subscriber B: opens at 6:30pm PT (evening browse) → schedule for 6:30pm PT
Subscriber C: no clear pattern → use default 10:00 account TZ

If your install has this feature, enable in Settings → Sending → Send-time optimization.

How to pick the right time when you don't know your audience

  1. Test 3 windows over 6 weeks (Tuesday 10am, Wednesday 2pm, Sunday 9am)
  2. Compare open rates across the 3 cohorts
  3. Continue with the winner
  4. Re-test annually as audience behavior shifts
Advanced: per-segment scheduling, automated optimal-time selection, and avoiding holiday clashes

Per-segment scheduling:

Split your audience by behavior + schedule each segment optimally:

Engaged segment (open <7d ago):  Tuesday 9:30 ET (proven optimal)
At-risk segment (open >30d ago): Saturday 10am ET (different cadence)
New segment (signup <14d ago):   Welcome series — automation-triggered

Each segment gets a separate campaign with its own optimal schedule. Improves overall engagement vs. one-size-fits-all blast.

Automated optimal-time selection:

#!/bin/bash
# Daily-run script: identify optimal time per segment based on last 90 days
ACELLE_TOKEN="..."
LIST_UID="..."

for segment in engaged at-risk new; do
  # Query open events for this segment over last 90 days, group by hour-of-week
  best_time=$(curl -sH "Authorization: Bearer $ACELLE_TOKEN" \
    "https://acellemail.com/api/v1/lists/$LIST_UID/opens-by-hour?segment=$segment&days=90" \
    | jq -r '.peak_hour')

  echo "Segment $segment: peak engagement at $best_time"
  # Set campaign schedule via API or store for next manual launch
done

Avoiding holiday clashes:

Date Likely conflict
Thanksgiving week (US) Inbox flooded; low engagement
Black Friday / Cyber Monday Promotional inbox overflow
Christmas week Most B2B audiences ignore email
Local national holidays Per-region; check audience demographics
Religious holidays Per-region; check audience demographics

Skip these dates entirely OR send at unusual times to stand out (Christmas afternoon, when normal senders pause).

Programmatic timezone-aware sending:

# Get subscriber timezones from your data + bucket per region
sub_tzs=$(curl -sH "Authorization: Bearer $TOKEN" \
  "https://acellemail.com/api/v1/lists/$LIST_UID/subscribers/timezones" | jq -r '.')

# Schedule per-bucket campaigns
for tz in $sub_tzs; do
  schedule_time=$(calculate_optimal_time $tz 'Tuesday' '09:30')
  schedule_campaign $LIST_UID $tz $schedule_time
done

For ~50 timezones globally, the bucket count gets unwieldy. Most senders use 3-4 macro-regions (Americas, EMEA, APAC, India).

Avoiding "send drift":

If your campaign cadence is "every Tuesday 10am ET" and you stop tweaking:

  1. Holiday weeks (Thanksgiving, Christmas) skip
  2. DST shifts confuse the schedule by 1 hour
  3. After 18 months, you'll have weeks where you sent twice and weeks where you sent zero

Audit quarterly: confirm your weekly Tuesday actually happens every Tuesday. Catch drift via the campaigns index timestamp pattern.

Related articles

9 Kommentare

5 Kommentare

  1. joel.anders.se
    saved this. going to use as a reference for our next campaign cycle.
    1. admin
      thanks for the kind words. We try to keep these source-grounded so they age well.
  2. akira.tnk88
    our open rate jumped from 18% to 24% after we restructured around these principles. took about 6 weeks to see the full lift
    1. admin
      useful field report. The 'kill -9 was the only fix' edge case is rare but real — we'll note it as a fallback.
  3. y.yamamoto
    The personalization-beyond-first-name section is what I needed. Most articles talk about it abstractly.
    1. admin
      Glad it landed. Drop suggestions in the comments and we'll incorporate them on the next refresh.
  4. v.petrova.ru
    confirming the A/B-test sample size guidance. We were testing too small for too long — switching to bigger batches over fewer cycles was the right call.
  5. nadia.r.cl
    Any guidance on how this interacts with the time-of-day send optimization? Conflicts with our scheduled-bast pattern.
    1. admin
      Yes — strict alignment requires the From: domain to match exactly. Subdomain-level (`bounce.example.com` vs `example.com`) passes relaxed but fails strict. Most operators run relaxed; the rare strict-DMARC setups need explicit subdomain DKIM configuration.

More in Email Marketing