---
title: "App Push Timing Modifiers"
slug: "app-push-timing-modifiers"
description: "See how STO, Silent Hours, TTL, and Throttling interact on App Push, 8 real scenarios showing what wins, drops, or gets delayed."
updated: 2026-10-01T14:23:22Z
published: 2026-10-01T14:23:22Z
canonical: "academy.insiderone.com/app-push-timing-modifiers"
---
> ## Documentation Index
> Fetch the complete documentation index at: https://academy.insiderone.com/llms.txt
> Use this file to discover all available pages before exploring further.
# App Push Timing Modifiers
This guide explains how [Send Time Optimization](https://academy.insiderone.com/docs/single-app-push-launch#send-time-optimization) (STO), [Silent Hours](https://academy.insiderone.com/docs/single-app-push-launch#silent-hours), [Time to Live](https://academy.insiderone.com/docs/single-app-push-launch#timetolive) (TTL), and [Throttling](https://academy.insiderone.com/docs/mobile-app-settings-delivery-and-conversion#message-throttling) work when you combine them.
Each combination starts with a campaign, shows exactly what the system does step by step, and ends with a recommendation. Times are displayed in the recipient’s local time.
## The four modifiers at a glance
Each setting controls a different part of delivery: *when* a push reaches each user, *whether* it's allowed at that moment, *how fast* a large audience goes out, and *how long* the message stays valid.
- [Send Time Optimization](https://academy.insiderone.com/docs/single-app-push-launch#send-time-optimization) **(STO)**: Delivers to each user at the hour they're most likely to engage, within a window you set.
- [Silent Hours](https://academy.insiderone.com/docs/single-app-push-launch#silent-hours): Blocks delivery during hours you keep quiet, at night, or during times restricted by local rules.
- [**Time-to-Live**](https://academy.insiderone.com/docs/single-app-push-launch#timetolive) **(TTL)**: How long a message stays valid if the phone is offline; once it expires, the push is no longer delivered.
- [Throttling](https://academy.insiderone.com/docs/mobile-app-settings-delivery-and-conversion#message-throttling)**/Batch Delivery**: Sends a large audience in controlled waves so you don't overwhelm your app or servers.
## What [Silent Hours](https://academy.insiderone.com/docs/single-app-push-launch#silent-hours) does to a scheduled time
[Silent Hours](https://academy.insiderone.com/docs/single-app-push-launch#silent-hours) is the one setting that can **stop** a message. When a push, whether [STO](https://academy.insiderone.com/docs/single-app-push-launch#send-time-optimization)-chosen or a normal send, falls inside a user's quiet window, your [Silent Hours](https://academy.insiderone.com/docs/single-app-push-launch#silent-hours) option decides what happens to it:
| Option | Behavior |
| --- | --- |
| **Default** | If the time lands in [Silent Hours](https://academy.insiderone.com/docs/single-app-push-launch#silent-hours), the message is **dropped**, and that user doesn't receive it. |
| **Sent At** | Reschedules the affected message to a specific allowed time you choose. |
| **Send After** | Delivers the moment that user's [Silent Hours](https://academy.insiderone.com/docs/single-app-push-launch#silent-hours) window ends. |
| **Send Now** | If the campaign time itself isn't in [Silent Hours](https://academy.insiderone.com/docs/single-app-push-launch#silent-hours) but the [STO](https://academy.insiderone.com/docs/single-app-push-launch#send-time-optimization)-chosen time is, send immediately; otherwise drop. |
Remember this for every combination below
Rescheduling is a [Silent Hours](https://academy.insiderone.com/docs/single-app-push-launch#silent-hours) feature (Sent At/Send After). [STO](https://academy.insiderone.com/docs/single-app-push-launch#send-time-optimization) never picks a "second-best hour" by itself. So with the **Default** option, a time that lands in the quiet window is simply dropped; choose Send After or Sent At if you'd rather shift it.
---
## Combination use cases
Eight real situations partners run into. Each one has a campaign example, a step-by-step of what the system does, and a recommendation.
### Personalized best hour, but never at night ([STO](https://academy.insiderone.com/docs/single-app-push-launch#send-time-optimization) + [Silent Hours](https://academy.insiderone.com/docs/single-app-push-launch#silent-hours))
**Campaign example:** **Contoso**, a fashion retailer, sends a personalized *"the item in your size is back in stock"* push. They want each shopper to get it at their own most-active hour, but their brand policy is to never message overnight.
- **Audience:** 180,000 shoppers, personalized per user
- [STO](https://academy.insiderone.com/docs/single-app-push-launch#send-time-optimization)**:** On, best hour per user
- [Silent Hours](https://academy.insiderone.com/docs/single-app-push-launch#silent-hours)**:** 22:00–08:00
- **The tricky user:** Jane's most-active hour is calculated as **23:00**, inside the quiet window
What happens, step by step
1. [STO](https://academy.insiderone.com/docs/single-app-push-launch#send-time-optimization) picks each shopper's best hour without steering around [Silent Hours](https://academy.insiderone.com/docs/single-app-push-launch#silent-hours).
2. For Jane, that's **23:00**, inside the quiet window.
3. The message is **dropped**; she doesn't receive it. [STO](https://academy.insiderone.com/docs/single-app-push-launch#send-time-optimization) does not retry at another hour, and the Launch screen warns you in advance: *"The Send Time of your campaign is in the* [*Silent Hours*](https://academy.insiderone.com/docs/single-app-push-launch#silent-hours)*."*
4. A [TTL](https://academy.insiderone.com/docs/single-app-push-launch#timetolive) does **not** rescue it; the panel note is explicit: the message is dropped once [Silent Hours](https://academy.insiderone.com/docs/single-app-push-launch#silent-hours) starts, even within the [TTL](https://academy.insiderone.com/docs/single-app-push-launch#timetolive) period.
A best-hour pick that lands inside the quiet window is dropped; there's no reschedule, and TTL won't recover it.
Good to know
There's no automatic reschedule; a best-hour pick inside the quiet window is silently lost, with no error and no [TTL](https://academy.insiderone.com/docs/single-app-push-launch#timetolive) rescue. The larger your quiet window, the more users this can affect.
Recommendation
Set the Send Time so the whole [STO](https://academy.insiderone.com/docs/single-app-push-launch#send-time-optimization) window falls **outside** your [Silent Hours](https://academy.insiderone.com/docs/single-app-push-launch#silent-hours), and treat the "Send Time is in [Silent Hours](https://academy.insiderone.com/docs/single-app-push-launch#silent-hours)" launch warning as a blocker. Keep the [STO](https://academy.insiderone.com/docs/single-app-push-launch#send-time-optimization) window away from the edge of your quiet hours, and don't rely on [TTL](https://academy.insiderone.com/docs/single-app-push-launch#timetolive) to recover dropped users.
### Personalized reward that expires today ([STO](https://academy.insiderone.com/docs/single-app-push-launch#send-time-optimization) + [TTL](https://academy.insiderone.com/docs/single-app-push-launch#timetolive))
**Campaign example:** **Fabrikam**, a food-delivery app, sends a *"20% off your next order, today only"* reward and wants it delivered at each user's best hour, but never after the offer expires at midnight.
- **Audience:** 90,000 users, personalized per user
- **Created:** Campaign built and launched at **12:00**
- [STO](https://academy.insiderone.com/docs/single-app-push-launch#send-time-optimization)**:** On, window 12:00–20:00
- [TTL](https://academy.insiderone.com/docs/single-app-push-launch#timetolive)**:** **3 hours**
- **The example user:** John's best hour is **20:00**; the offer ends at **24:00**
What happens, step by step
1. At 12:00, the campaign is launched, but nothing is sent to John yet; [STO](https://academy.insiderone.com/docs/single-app-push-launch#send-time-optimization) is holding him for his best hour.
2. The [TTL](https://academy.insiderone.com/docs/single-app-push-launch#timetolive) clock does **not** start at 12:00. It starts only when the message is actually sent out.
3. At **20:00**, [STO](https://academy.insiderone.com/docs/single-app-push-launch#send-time-optimization) sends John's push. The 3-hour [TTL](https://academy.insiderone.com/docs/single-app-push-launch#timetolive) starts **now**, so the message stays valid until **23:00**.
4. The time [STO](https://academy.insiderone.com/docs/single-app-push-launch#send-time-optimization) spent waiting (12:00→20:00) is **not** subtracted from the [TTL](https://academy.insiderone.com/docs/single-app-push-launch#timetolive); John gets a full, fresh 3 hours.
5. 23:00 is before the offer ends at midnight, so the reward can never arrive after it's gone.
The 3-hour TTL is anchored to the send moment (20:00), not to when the campaign was built (12:00). The 8-hour STO wait is never subtracted, so the reward stays valid until 23:00, safely before the offer ends.
Good to know
Total time from launch to delivery still adds up ([STO](https://academy.insiderone.com/docs/single-app-push-launch#send-time-optimization) wait + a fresh [TTL](https://academy.insiderone.com/docs/single-app-push-launch#timetolive)). Make sure the latest hour [STO](https://academy.insiderone.com/docs/single-app-push-launch#send-time-optimization) could pick still leaves enough [TTL](https://academy.insiderone.com/docs/single-app-push-launch#timetolive) before your offer expires.
Recommendation
Set your [STO](https://academy.insiderone.com/docs/single-app-push-launch#send-time-optimization) window so that even its **latest** possible hour, plus the [TTL](https://academy.insiderone.com/docs/single-app-push-launch#timetolive), finishes before the deadline. Example: if the offer ends at midnight and [TTL](https://academy.insiderone.com/docs/single-app-push-launch#timetolive) is 3h, an [STO](https://academy.insiderone.com/docs/single-app-push-launch#send-time-optimization) window ending at 20:00 is safe (20:00 + 3h = 23:00); a window ending at 22:00 would risk 22:00 + 3h = 01:00, past the deadline.
### Personalized *and* throttled on one App Push ([STO](https://academy.insiderone.com/docs/single-app-push-launch#send-time-optimization) + [Throttling](https://academy.insiderone.com/docs/mobile-app-settings-delivery-and-conversion#message-throttling)): Pick one
**Campaign example:** **Northwind**, a mobile game, wants to announce a new season to 500,000 players. They'd like each player to get it at their best hour ([STO](https://academy.insiderone.com/docs/single-app-push-launch#send-time-optimization)) *and* to release it in controlled waves so their servers aren't hit all at once ([Throttling](https://academy.insiderone.com/docs/mobile-app-settings-delivery-and-conversion#message-throttling)), both on the same App Push.
- **Audience:** 500,000 players
- **Wanted:** [STO](https://academy.insiderone.com/docs/single-app-push-launch#send-time-optimization) (best hour per player) + [Throttling](https://academy.insiderone.com/docs/mobile-app-settings-delivery-and-conversion#message-throttling) (e.g. 50,000 every 5 min)
- **The example player:** Alex's best hour is **13:00**
What happens, step by step
1. The panel lets you turn on both, so it looks like they'll work together.
2. But [Throttling](https://academy.insiderone.com/docs/mobile-app-settings-delivery-and-conversion#message-throttling) releases the audience in waves, pulling players in **no particular order** across a long stretch of time.
3. Alex's best hour is 13:00, but his turn in the wave queue may not come up until later. He can be sent at **15:00**, two hours past his best hour.
4. The bigger the audience and the smaller each wave, the longer the whole send takes, and the further players drift from their best hour. In effect, [STO](https://academy.insiderone.com/docs/single-app-push-launch#send-time-optimization) stops doing its job.
Throttling's wave order pushes a player past their best hour, so STO no longer delivers on its promise. The two don't truly work together on a single App Push.
Good to know
Even though the panel allows both, [STO](https://academy.insiderone.com/docs/single-app-push-launch#send-time-optimization)’s timing is lost. Treat [STO](https://academy.insiderone.com/docs/single-app-push-launch#send-time-optimization) and [Throttling](https://academy.insiderone.com/docs/mobile-app-settings-delivery-and-conversion#message-throttling) as an either/or choice on a single App Push.
Recommendation
Decide what matters more for this campaign. Choose [STO](https://academy.insiderone.com/docs/single-app-push-launch#send-time-optimization) when reaching each user at their best hour is the goal (personalized offers, engagement). Choose [Throttling](https://academy.insiderone.com/docs/mobile-app-settings-delivery-and-conversion#message-throttling) when protecting your systems during a huge one-time send is the goal (a launch or announcement). For a very large personalized send, split it into separate campaigns rather than stacking both on one.
### Time-sensitive message meeting the quiet window ([TTL](https://academy.insiderone.com/docs/single-app-push-launch#timetolive) + [Silent Hours](https://academy.insiderone.com/docs/single-app-push-launch#silent-hours))
**Campaign example:** **Litware**, a news app, sends a breaking-news alert that's only useful while it's fresh, so it carries a short [TTL](https://academy.insiderone.com/docs/single-app-push-launch#timetolive). For one reader, the send moment lands just before their [Silent Hours](https://academy.insiderone.com/docs/single-app-push-launch#silent-hours) begins.
- **Message:** Breaking-news alert
- [TTL](https://academy.insiderone.com/docs/single-app-push-launch#timetolive)**:** **30 minutes**
- [Silent Hours](https://academy.insiderone.com/docs/single-app-push-launch#silent-hours)**:** Starts at **22:00**
- **The example reader:** The push reaches the send step at **21:50**, 10 minutes before the quiet window
What happens, step by step
1. There's no "hold and resume"; the system decides once, at the send moment.
2. If that moment were already **inside** the quiet window, the system would drop the message immediately.
3. Here it's **outside** the window (21:50), so the system compares two numbers: time left until the window opens (10 min) and the campaign [TTL](https://academy.insiderone.com/docs/single-app-push-launch#timetolive) (30 min), and uses the **smaller** one → an effective [TTL](https://academy.insiderone.com/docs/single-app-push-launch#timetolive) of **10 minutes**.
4. The message is handed to Apple/Google/Huawei with that 10-minute life. It will not survive into the quiet window, and it never carries over to the next day.
Sent at 21:50 with Silent Hours starting at 22:00, the requested 30-minute TTL is clamped to the 10 minutes left before the quiet window, the effective TTL is the smaller of the two. Nothing carries into the window or across the day.
Good to know
After hand-off, the phone's app store service (Apple/Google/Huawei) owns expiry, and we get no delivery feedback. If the device is offline for longer than the effective [TTL](https://academy.insiderone.com/docs/single-app-push-launch#timetolive), the message simply won't arrive; e.g., a 5-minute [TTL](https://academy.insiderone.com/docs/single-app-push-launch#timetolive) where the phone comes back online 10 minutes later.
Recommendation
For strict quiet-hour compliance, a short [TTL](https://academy.insiderone.com/docs/single-app-push-launch#timetolive) is your friend; it guarantees a message can't linger and arrive stale. If reach matters more, a longer [TTL](https://academy.insiderone.com/docs/single-app-push-launch#timetolive) helps, but remember it's still capped by the start of the quiet window and never crosses into the next day.
### Big send in waves, with a short shelf life ([TTL](https://academy.insiderone.com/docs/single-app-push-launch#timetolive) + [Throttling](https://academy.insiderone.com/docs/mobile-app-settings-delivery-and-conversion#message-throttling))
**Campaign example:** **Adventure Works** runs a flash sale to 400,000 shoppers, released in waves so the app can handle the traffic. Each message carries a 1-hour [TTL](https://academy.insiderone.com/docs/single-app-push-launch#timetolive). The worry: since the whole send takes ~3 hours, will the last waves already be expired by the time they go out?
- **Audience:** 400,000 shoppers
- [Throttling](https://academy.insiderone.com/docs/mobile-app-settings-delivery-and-conversion#message-throttling)**:** ~40 waves over ~3 hours
- [TTL](https://academy.insiderone.com/docs/single-app-push-launch#timetolive)**:** **1 hour**
- **The worry:** Do wave-40 shoppers get an already-dead message?
What happens, step by step
1. Each wave's [TTL](https://academy.insiderone.com/docs/single-app-push-launch#timetolive) is set when **the** **wave** goes out, not when the campaign started.
2. Wave 1 sends at 10:00 and is valid until 11:00. Wave 40 sends at 13:00 and is valid until 14:00, a full, fresh hour.
3. Time spent waiting in the [throttling](https://academy.insiderone.com/docs/mobile-app-settings-delivery-and-conversion#message-throttling) queue does **not** count against the [TTL](https://academy.insiderone.com/docs/single-app-push-launch#timetolive).
4. So late waves are **not** expired just because the campaign began 3 hours earlier.
Every wave gets its own fresh 1-hour TTL at its own flush time (the amber dot). Each teal bar starts where its wave is sent, so the last waves are just as valid as the first, the queue wait doesn't count.
> [!WARNING]
> [TTL](https://academy.insiderone.com/docs/single-app-push-launch#timetolive) protects each wave, but a 3-hour send can still drift into other limits, your offer window, or your Silent Hours. TTL doesn't fix those.
Recommendation
Start large throttled sends early, so even the last waves land inside your offer window and before any quiet hours. Use [TTL](https://academy.insiderone.com/docs/single-app-push-launch#timetolive) to guard freshness, and lean on timing (start time + [Silent Hours](https://academy.insiderone.com/docs/single-app-push-launch#silent-hours)) to guard the window.
### Throttled send drifting into the night ([Silent Hours](https://academy.insiderone.com/docs/single-app-push-launch#silent-hours) + [Throttling](https://academy.insiderone.com/docs/mobile-app-settings-delivery-and-conversion#message-throttling))
**Campaign example:** **Contoso** sends a big weekend-sale push to 600,000 shoppers. Because the audience is large, it's throttled into waves; the send starts at 21:15 and runs past 22:00. [Silent Hours](https://academy.insiderone.com/docs/single-app-push-launch#silent-hours) is 22:00–08:00. What happens to the waves that go out after the quiet window has begun?
- **Audience:** 600,000 shoppers, sent in throttled waves
- [Throttling](https://academy.insiderone.com/docs/mobile-app-settings-delivery-and-conversion#message-throttling)**:** 30,000 every 10 min (the send runs ~3 hours)
- **Start:** 21:15; later waves go out after 22:00
- [Silent Hours](https://academy.insiderone.com/docs/single-app-push-launch#silent-hours)**:** 22:00–08:00 (Default)
What happens, step by step
1. [Throttling](https://academy.insiderone.com/docs/mobile-app-settings-delivery-and-conversion#message-throttling) releases the audience in waves over time, so each wave goes out at its own moment.
2. A wave that goes out **before** [Silent Hours](https://academy.insiderone.com/docs/single-app-push-launch#silent-hours) is delivered; a wave that goes out **inside** the quiet window is dropped, user by user, not held for later.
3. [Silent Hours](https://academy.insiderone.com/docs/single-app-push-launch#silent-hours) is actually checked **twice** for each wave, so a user who moves into their quiet hours mid-send is still caught.
4. The wave order doesn't change, and no make-up wave is added for the dropped users.
During a long throttled send, each wave goes out at its own time. Waves that go out before Silent Hours are delivered; waves that fall inside the quiet window are dropped, user by user. Wave order doesn't change, and dropped users aren't sent later.
Good to know
With **Default**, every wave that overlaps the quiet window silently drops those users. On a long send that can be a meaningful slice of your audience, with no error to warn you.
Recommendation
For sends that may run into the night, either schedule so the waves finish before the quiet window, or set the [Silent Hours](https://academy.insiderone.com/docs/single-app-push-launch#silent-hours) option to **Send After** so late-wave users are delivered when their window ends instead of being dropped.
### Best hour + night protection + expiry ([STO](https://academy.insiderone.com/docs/single-app-push-launch#send-time-optimization) + [Silent Hours](https://academy.insiderone.com/docs/single-app-push-launch#silent-hours) + [TTL](https://academy.insiderone.com/docs/single-app-push-launch#timetolive))
**Campaign example:** **Contoso** combines all three on one personalized reward: each shopper's best hour ([STO](https://academy.insiderone.com/docs/single-app-push-launch#send-time-optimization)), no messaging overnight ([Silent Hours](https://academy.insiderone.com/docs/single-app-push-launch#silent-hours)), and an expiry so the reward never arrives stale ([TTL](https://academy.insiderone.com/docs/single-app-push-launch#timetolive)). Which setting decides whether a shopper receives it?
- [STO](https://academy.insiderone.com/docs/single-app-push-launch#send-time-optimization)**:** On, best hour per user
- [Silent Hours](https://academy.insiderone.com/docs/single-app-push-launch#silent-hours)**:** 22:00–08:00
- [TTL](https://academy.insiderone.com/docs/single-app-push-launch#timetolive)**:** Set to match the reward's lifetime
What happens, step by step
1. [STO](https://academy.insiderone.com/docs/single-app-push-launch#send-time-optimization) picks each shopper's best hour and schedules it; this step never drops anyone.
2. At that moment, [Silent Hours](https://academy.insiderone.com/docs/single-app-push-launch#silent-hours) checks the time. If it's inside the quiet window, the shopper is dropped (or rescheduled, if you set Send After / Sent At). This is the only step that can drop a user.
3. For everyone who passes, [TTL](https://academy.insiderone.com/docs/single-app-push-launch#timetolive) keeps the message from arriving stale.
4. The real risk isn't [TTL](https://academy.insiderone.com/docs/single-app-push-launch#timetolive); it's [STO](https://academy.insiderone.com/docs/single-app-push-launch#send-time-optimization) landing a shopper's best hour right inside [Silent Hours](https://academy.insiderone.com/docs/single-app-push-launch#silent-hours), which drops them before [TTL](https://academy.insiderone.com/docs/single-app-push-launch#timetolive) even matters.
Order of operations
[STO](https://academy.insiderone.com/docs/single-app-push-launch#send-time-optimization) (picks the hour) → [Silent Hours](https://academy.insiderone.com/docs/single-app-push-launch#silent-hours) (allows or drops) → [TTL](https://academy.insiderone.com/docs/single-app-push-launch#timetolive) (limits freshness for those allowed). Only [Silent Hours](https://academy.insiderone.com/docs/single-app-push-launch#silent-hours) can drop a message; [STO](https://academy.insiderone.com/docs/single-app-push-launch#send-time-optimization) and [TTL](https://academy.insiderone.com/docs/single-app-push-launch#timetolive) never do.
STO schedules everyone and drops no one; Silent Hours is the only gate that can drop (a best hour inside the quiet window); TTL only trims freshness. The real risk is STO landing a user directly in the quiet window.
Good to know
[TTL](https://academy.insiderone.com/docs/single-app-push-launch#timetolive) can't rescue a best-hour pick that collides with the quiet window; that's a drop, exactly as in use case 1.
Recommendation
Same as use case 1: if you can't afford dropped users, use a [Silent Hours](https://academy.insiderone.com/docs/single-app-push-launch#silent-hours) reschedule option (Send After / Sent At), and keep the [STO](https://academy.insiderone.com/docs/single-app-push-launch#send-time-optimization) window away from the edge of your quiet hours.
### The full three-way personalized send ([STO](https://academy.insiderone.com/docs/single-app-push-launch#send-time-optimization) + [Throttling](https://academy.insiderone.com/docs/mobile-app-settings-delivery-and-conversion#message-throttling) + [Silent Hours](https://academy.insiderone.com/docs/single-app-push-launch#silent-hours)): See note
**Campaign example:** **Northwind** plans a large personalized announcement: split into waves for server safety ([Throttling](https://academy.insiderone.com/docs/mobile-app-settings-delivery-and-conversion#message-throttling)), timed to each player's best hour ([STO](https://academy.insiderone.com/docs/single-app-push-launch#send-time-optimization)), and never touching nighttime ([Silent Hours](https://academy.insiderone.com/docs/single-app-push-launch#silent-hours)). Can all three run together, and which one wins?
- **Audience:** Large, personalized
- **Wanted:** [STO](https://academy.insiderone.com/docs/single-app-push-launch#send-time-optimization) + [Throttling](https://academy.insiderone.com/docs/mobile-app-settings-delivery-and-conversion#message-throttling) + [Silent Hours](https://academy.insiderone.com/docs/single-app-push-launch#silent-hours) together
- [Silent Hours](https://academy.insiderone.com/docs/single-app-push-launch#silent-hours)**:** Quiet window enforced
What happens, step by step
1. All three can be turned on. [STO](https://academy.insiderone.com/docs/single-app-push-launch#send-time-optimization) assigns each player an hour; when that hour arrives, those players are written into a wave and released at your [throttling](https://academy.insiderone.com/docs/mobile-app-settings-delivery-and-conversion#message-throttling) rate (e.g., 50,000 / 5 min).
2. [Silent Hours](https://academy.insiderone.com/docs/single-app-push-launch#silent-hours) is checked both when the wave is written and when it's sent, so quiet-window users are dropped at either point.
3. The flow is: [STO](https://academy.insiderone.com/docs/single-app-push-launch#send-time-optimization) (schedules) → [Silent Hours](https://academy.insiderone.com/docs/single-app-push-launch#silent-hours) (first check, may drop) → [Throttling](https://academy.insiderone.com/docs/mobile-app-settings-delivery-and-conversion#message-throttling) (releases in waves) → [Silent Hours](https://academy.insiderone.com/docs/single-app-push-launch#silent-hours) **+** [TTL](https://academy.insiderone.com/docs/single-app-push-launch#timetolive) (final check when the wave is sent).
4. The only setting that **drops** a user is [Silent Hours](https://academy.insiderone.com/docs/single-app-push-launch#silent-hours). [STO](https://academy.insiderone.com/docs/single-app-push-launch#send-time-optimization) and [Throttling](https://academy.insiderone.com/docs/mobile-app-settings-delivery-and-conversion#message-throttling) only affect timing; [TTL](https://academy.insiderone.com/docs/single-app-push-launch#timetolive) only limits freshness.
The full pipeline. Silent Hours is checked twice; when a user is written to a wave (check ①) and again at flush (check ②), and it is the only step that drops anyone. STO and Throttling shift timing; TTL only trims freshness.
Good to know
The [STO](https://academy.insiderone.com/docs/single-app-push-launch#send-time-optimization) + [Throttling](https://academy.insiderone.com/docs/mobile-app-settings-delivery-and-conversion#message-throttling) limitation from use case 3 still applies here: because [throttling](https://academy.insiderone.com/docs/mobile-app-settings-delivery-and-conversion#message-throttling) releases players in waves over a long stretch, best-hour timing is not reliably honored, even inside this combined flow.
Recommendation
[Silent Hours](https://academy.insiderone.com/docs/single-app-push-launch#silent-hours) and [Throttling](https://academy.insiderone.com/docs/mobile-app-settings-delivery-and-conversion#message-throttling) work well together for a big overnight-safe send. If precise per-user best-hour timing also matters, don't rely on [STO](https://academy.insiderone.com/docs/single-app-push-launch#send-time-optimization) in the same campaign; pick [STO](https://academy.insiderone.com/docs/single-app-push-launch#send-time-optimization) *or* [Throttling](https://academy.insiderone.com/docs/mobile-app-settings-delivery-and-conversion#message-throttling) (see use case 3) and use [Silent Hours](https://academy.insiderone.com/docs/single-app-push-launch#silent-hours) alongside whichever you choose.
---
Below is what each combination does, at a glance.
| Combination | What happens | Use it when |
| --- | --- | --- |
| [STO](https://academy.insiderone.com/docs/single-app-push-launch#send-time-optimization) **+** [Silent Hours](https://academy.insiderone.com/docs/single-app-push-launch#silent-hours) | Best hour per user; a pick inside the quiet window is dropped (Default) or shifted (Send After / Sent At). | Personalized timing with a nightly cutoff. |
| [STO](https://academy.insiderone.com/docs/single-app-push-launch#send-time-optimization) **+** [TTL](https://academy.insiderone.com/docs/single-app-push-launch#timetolive) | Best hour per user; [TTL](https://academy.insiderone.com/docs/single-app-push-launch#timetolive) starts at the send moment, so the [STO](https://academy.insiderone.com/docs/single-app-push-launch#send-time-optimization) wait never expires it. | Personalized, time-limited offers. |
| [STO](https://academy.insiderone.com/docs/single-app-push-launch#send-time-optimization) **+** [Throttling](https://academy.insiderone.com/docs/mobile-app-settings-delivery-and-conversion#message-throttling) | [Throttling](https://academy.insiderone.com/docs/mobile-app-settings-delivery-and-conversion#message-throttling)’s wave order overrides best-hour timing; [STO](https://academy.insiderone.com/docs/single-app-push-launch#send-time-optimization) is effectively lost. | Pick one, not both. |
| [TTL](https://academy.insiderone.com/docs/single-app-push-launch#timetolive) **+** [Silent Hours](https://academy.insiderone.com/docs/single-app-push-launch#silent-hours) | One-time decision: dropped if inside the window, otherwise [TTL](https://academy.insiderone.com/docs/single-app-push-launch#timetolive) is capped to the time left before the window. | Time-sensitive messages under quiet-hour rules. |
| [TTL](https://academy.insiderone.com/docs/single-app-push-launch#timetolive) **+** [Throttling](https://academy.insiderone.com/docs/mobile-app-settings-delivery-and-conversion#message-throttling) | Each wave gets a fresh [TTL](https://academy.insiderone.com/docs/single-app-push-launch#timetolive) at its own send time; late waves don't expire. | Large, time-sensitive sends. |
| [Silent Hours](https://academy.insiderone.com/docs/single-app-push-launch#silent-hours) **+** [Throttling](https://academy.insiderone.com/docs/mobile-app-settings-delivery-and-conversion#message-throttling) | Waves in the quiet window are dropped per user (checked twice); wave order is preserved. | Big sends that must avoid nighttime. |
| [STO](https://academy.insiderone.com/docs/single-app-push-launch#send-time-optimization) **+** [Silent Hours](https://academy.insiderone.com/docs/single-app-push-launch#silent-hours) **+** [TTL](https://academy.insiderone.com/docs/single-app-push-launch#timetolive) | [STO](https://academy.insiderone.com/docs/single-app-push-launch#send-time-optimization) schedules → [Silent Hours](https://academy.insiderone.com/docs/single-app-push-launch#silent-hours) allows/drops → [TTL](https://academy.insiderone.com/docs/single-app-push-launch#timetolive) limits freshness. Only [Silent Hours](https://academy.insiderone.com/docs/single-app-push-launch#silent-hours) drops. | Personalized, night-safe, expiring offers. |
| [STO](https://academy.insiderone.com/docs/single-app-push-launch#send-time-optimization) **+** [Throttling](https://academy.insiderone.com/docs/mobile-app-settings-delivery-and-conversion#message-throttling) **+** [Silent Hours](https://academy.insiderone.com/docs/single-app-push-launch#silent-hours) | All run together; [Silent Hours](https://academy.insiderone.com/docs/single-app-push-launch#silent-hours) handles drops, but the [STO](https://academy.insiderone.com/docs/single-app-push-launch#send-time-optimization) + [Throttling](https://academy.insiderone.com/docs/mobile-app-settings-delivery-and-conversion#message-throttling) limitation still applies. | Big night-safe sends; favor [Throttling](https://academy.insiderone.com/docs/mobile-app-settings-delivery-and-conversion#message-throttling) over [STO](https://academy.insiderone.com/docs/single-app-push-launch#send-time-optimization) here. |