Frequency capping limits how many push notifications a single user can receive in a rolling time window (per minute, hour, day, or week). Use it to prevent over-messaging when multiple teams, Journeys, or automated triggers send to the same user.Documentation Index
Fetch the complete documentation index at: https://documentation.onesignal.com/llms.txt
Use this file to discover all available pages before exploring further.
Frequency capping is available on select paid plans.
How frequency capping works
Each delivered push “ages out” of the user’s rolling window when the configured time period has elapsed since that push was sent. Once the user has received the maximum number of notifications inside the window, OneSignal drops any additional sends until older notifications age out. Example: Frequency cap of 3 notifications per 24 hours.| Time | Action | Notifications in window | Delivered? |
|---|---|---|---|
| Day 1, 9:00 AM | Send Notification 1 | 1 | Yes |
| Day 1, 1:00 PM | Send Notification 2 | 2 | Yes |
| Day 1, 5:00 PM | Send Notification 3 | 3 | Yes |
| Day 2, 8:00 AM | Send Notification 4 | 3 (cap reached) | No |
| Day 2, 9:00 AM | Notification 1 ages out (24h elapsed) | 2 | — |
| Day 2, 9:01 AM | Send Notification 5 | 3 | Yes |
| Day 2, 10:00 AM | Send Notification 6 | 3 (cap reached) | No |
| Day 2, 11:00 AM | Send Notification 7 | 3 (cap reached) | No |
| Day 2, 1:00 PM | Notification 2 ages out (24h elapsed) | 2 | — |
| Day 2, 2:00 PM | Send Notification 8 | 3 | Yes |
“Per day” refers to a rolling 24-hour window, not a calendar day. If a user receives a message at 6:45 PM, that notification stays in their window until 6:45 PM the next day. Sends in that interval count toward the cap and may be dropped.
When to use frequency capping
Frequency capping is most useful when messaging volume can grow without coordination:- Complex campaign environments — large organizations with multiple teams or overlapping marketing campaigns.
- High-frequency triggers — systems that send notifications from frequent events (stock price updates, automated news alerts, etc.).
What gets capped
- Frequency capping applies to push notifications only. It does not apply to email, SMS, or in-app messages.
- It applies to all push sources — Create notification API, Journeys, and manual dashboard sends.
- Messages blocked by the cap are dropped, not queued. They are never retried.
How to enable frequency capping
Configure frequency capping at the app level from the OneSignal dashboard.Override frequency capping
Override frequency capping on a per-message basis when a send must reach the user even if the cap is reached.- Dashboard
- API
In the message’s Delivery Schedule, select Override frequency capping settings.

Notes on overriding
- Frequency capping must be enabled in the dashboard for this override to have any effect.
- Overridden messages still count toward the cap, so they affect whether future messages are delivered to the same user.
Reporting
When frequency capping is enabled, you can monitor its impact in two places:- Dashboard message reports — each message’s delivery stats show the number of users skipped because of the cap.
- View message API — returns the same per-message capped and overridden counts.
- Capped — frequency capping was applied; the response includes the number of users skipped.
- Overridden — frequency capping is enabled for the app but was overridden for this message.
FAQ
What time windows are supported?
Per minute, per hour, per day (rolling 24 hours), and per week (rolling 7 days). All windows are rolling — they don’t reset on calendar boundaries.Does frequency capping apply to email, SMS, or in-app messages?
No. The cap configured under Settings > Push & In-app > Frequency Capping only limits push notifications. Email, SMS, and in-app messages have their own delivery controls and aren’t affected.What happens to messages that exceed the cap?
They are dropped, not queued. A push that would put the user past the cap is silently skipped for that subscription and never retried.Do overridden messages count toward future caps?
Yes. Settingenable_frequency_cap to false (or selecting the dashboard override) lets that message reach the user, but it still counts in the rolling window and can push later messages past the cap.
Why is the parameter named enable_frequency_cap if I set it to false to deliver?
The parameter controls whether the cap applies to the message. Setting it to false means “do not apply the cap to this message” — the cap is disabled for that one send. The user-level cap configured in the dashboard remains active for every other send.
Where can I see how many sends were capped?
In any message’s delivery report (dashboard) or in the View message API response. Both surface the same per-message Capped and Overridden totals.Related pages
Throttling
Smooth out the rate at which notifications go out across your audience — separate from per-user capping.
Journeys overview
Multi-step automated messaging. Journey sends respect frequency capping unless they explicitly override it.
Create push notification
REST API for sending pushes. Set
enable_frequency_cap to false to override the cap per message.View message
Retrieve per-message stats, including the number of users capped or overridden.
