Throttling

Decrease rate at which messages are sent to users.

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

Enable throttling for all push messages within Settings > Messaging. Once enabled, this can be overridden at a per-message basis. 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 between the batches.

Throttling is available for push notifications only.

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 property.

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

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.

Throttling Limitations

Timezone and Intelligent Delivery Limits

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. Override throttling setting to 0 and for API sent notifications set throttle_rate_per_minute: 0.

SMS Limits

Throttling is limited by Twilio API concurrency limits at an app level. In the case of multiple SMS campaigns, delivery of the first campaign/message to Twilio will trigger the subsequent message processing.

Automated Message Limits

Automated messages do not support throttling. These are triggered when new audiences enter a segment and so tend to be dispersed over time.