Show unasked-for help at most once per visit, twice per day and five times per week, across all your tooltips, banners and assistants combined. When someone dismisses a piece of help, stay quiet about that thing for a week, then a month, then forever. Those are the limits we built into Cueston, and the rest of this article explains why.
Why you need a budget at all
Each popup on its own looks harmless. The problem is that they add up, and they are usually built by different people. Product adds a tip for the new export button, marketing adds a banner for the webinar, support adds a hint on the billing page. Nobody sees the total. The user sees three interruptions in five minutes and learns that everything with a close button can be closed without reading.
A budget fixes this by counting every piece of help nobody asked for in one place. Help the person asked for, like opening a help menu or starting a tour themselves, doesn't count against it.
The numbers
- Per visit (one browser tab session): 1
- Per day: 2
- Per week: 5
One per visit is the important one. It forces you to choose: if two tips compete for the same session, only the most relevant should win. In our case different surfaces share the same budget, so if a tip a person on your team wrote shows up, our AI assistant won't also offer help in that visit.
Dismissing should mean something
If a user closes a tip and it comes back tomorrow, they learn that closing doesn't work. We escalate per tip instead:
- First dismiss: quiet for 7 days.
- Second dismiss: quiet for 30 days.
- Third dismiss: never shown again on its own. The person can still find it in the help menu.
For the AI assistant's "Stuck on this?" offer we add one more rule: after three dismissals anywhere in the app, it stops offering on its own for that person. Some people don't want help offered, and three "no"s is enough to know.
Pick the moment, not just the frequency
- Not while typing. We treat the 2 seconds after the last keystroke as typing.
- Not in a background tab. If the page isn't visible, wait.
- Not on top of a running tour. One guided thing at a time.
- Not on a timer. "Show after 10 seconds on the page" fires for people who are reading. Show help when something suggests the person needs it, like repeated clicks on a disabled button.
What to do when the budget blocks your tip
Sometimes the budget will stop a tip you care about. That is the budget working. If a tip keeps losing, ask whether it should be a popup at all. A short line of text next to the control, a better empty state or a clearer button label often does the job without interrupting anyone. And if a tip shows and people are still stuck afterwards, the screen probably needs a design fix, not more help.
Storage can fail too. In private mode or with blocked storage, we keep the budget in memory for the current page, so the limits still hold within that page view. Make sure your own implementation fails quiet, never loud.
Frequently asked questions
How many onboarding popups is too many?▾
More than one unasked-for popup per visit is usually too many. A practical budget is 1 per visit, 2 per day and 5 per week across all your in-app messages combined.
Should a dismissed tooltip come back?▾
Not soon. Wait a week after the first dismissal and a month after the second. After the third, only show it when the user asks for help.
Do product tours count against the budget?▾
Tours a user starts themselves don't. Tours that start automatically do, and they shouldn't overlap with other help.