Throttling

Decrease rate at which messages sent to devices.

Throttling allows you to control the send speed of notifications to help you manage your traffic. If you send notifications to a large audience but don't have the server capacity to handle a lot of concurrent visitors to your website or app, controlling notification sends makes it less likely you will experience a large surge in traffic.

When throttling is turned off, OneSignal will send notifications as fast as we can.

If you want to turn on throttling for your app, the throttling limit is applied automatically to all notifications send. You can turn on app-level throttling by going to Settings > Messaging.

For ease of use, we allow setting throttling at a minute level. However, to improve the campaign performance, we convert the throttling limit at a per-second level. This results in contiguous processing of different batches and avoids the delay of a minute between the batches.

21962196

Per-message Throttle Override

You can override your app-level throttle setting for any given notification on the notification creation form by ticking the 'Override throttling setting' tick box or the API throttle_rate_per_minute parameter .

If you want to not apply throttling to a given message, you can put a '0' in the messages per minute field:

761761

Differences in throttling rate

You might notice a difference in the throttling rate set vs implemented. This is due to converting the 'minute-level' setting from the UI to' seconds-level' throttling.

For example, the throttling rate of 1019 messages per minute will be converted to 16 messages per second:

(THROTTLE RATE / SECONDS PER MINUTE) * SECONDS PER MINUTE = ACTUAL SENDS PER MINUTE

(1019 / 60) = 16.9833333333

OneSignal cannot send part of a message, so it's rounded down to 16:

16 * 60 = 960

A difference of 59 (1019 - 960) between the throttling rate set vs actual delivery.

🚧

The throttling limit does not apply to automated messages, emails, or SMS

Automated messages are triggered when new audiences enter a segment and so tend to be dispersed over time.

Email sends are already paced by email service providers (SendGrid, MailGun, Mandrill) for better deliverability.

SMS throttling is limited by Twilio API concurrency limits at an app level. To avoid any issues/errors during delivery to Twilio, we throttle at one SMS per second. In the case of multiple SMS campaigns, delivery of the first campaign/message to Twilio will trigger the subsequent message processing.

Throttling Limitations

Throttling will take precedence over timezone and intelligent delivery options.

If throttling is enabled and sending a notification with Timezone or Intelligent Delivery, then the timezone and intelligent delivery options will be ignored.

If you want to use Timezone or Intelligent Delivery Options, you must disable Throttling for that send. API sent notifications set throttle_rate_per_minute: 0.

πŸ“˜

Throttling is a Paid Plan Feature on the Growth plan and above.