What is frequency capping?
Used in a sentence: Put a frequency cap of once a day on the cashback banner, and a cap across all campaigns so nobody gets three prompts in one session.
How it works
Every time a message is shown, the SDK or server records an impression for that user. Before showing the next one, it checks those counts against the caps that apply.
Caps come in a few forms. A per-campaign cap limits one message, such as once a day or a set number of times in total. A global cap limits all messages, such as one prompt per session. A cooldown sets a minimum gap after a dismissal.
If a user has hit a cap, the message is skipped even though the trigger event fired and the user is in the target segment. When several campaigns qualify at once, a priority order decides which one counts against the cap.
Example
A food delivery app runs three campaigns at once: a cashback offer, a new restaurant launch and a rating request. Without limits, a user opening the app at lunch might see all three. The team sets each campaign to once a day and adds a global cap of one prompt per session, with the cashback offer given top priority. Users now see a single relevant prompt each time.
Frequency capping vs suppression logic
| Frequency capping | Suppression logic | |
|---|---|---|
| Question it answers | How often can this user see it? | Should this user see it at all? |
| Based on | Past impressions and time | User state and context |
| Example | Once a day per user | Hide from users who already paid |
The two work together: suppression removes the wrong users, and capping limits repetition for the rest.
Best practices
- Set a cap on every campaign and a global cap across campaigns, not one or the other.
- Add a cooldown after a dismissal, so a “no” is respected for a while.
- Define a priority order so the most important message wins when campaigns compete.
- Review dismiss rates regularly and lower caps when they rise without matching conversions.
How to do this with Digia Engage
In Digia Engage, frequency limits are set in the campaign itself: how often each user can see it, in total or per day, alongside targeting and exclusion rules. Teams use segments and events already in CleverTap, MoEngage or WebEngage, and adjust caps from the dashboard without an app release. The Nudges product page lists the formats these limits apply to.
Frequently asked questions
- What is a good frequency cap for in-app messages?
- There is no universal number. It depends on how often users open the app and how valuable the message is. Start conservatively, for example a campaign shown at most once a day, then watch dismiss rates and conversions. If dismissals climb while conversions stay flat, lower the cap rather than raising it.
- Should frequency caps apply across all campaigns?
- Yes, alongside per-campaign caps. Each campaign may respect its own limit while users still see several different prompts in one session. A cap across all campaigns, per session or per day, protects the overall experience. Give it a priority order so the most important message wins when campaigns compete.
Related terms
Read more
Part of the In-app engagement glossary.