Throttling
Two limits gate whether a survey can show, independent of whether its trigger fired and its rules passed:
- Cooldown — the minimum time that must pass between survey displays for a given user. Defaults to 24 hours.
- Daily Cap — the maximum number of surveys shown to a user within a day. Defaults to 3.
Both are configurable server-side per survey. All three implementations (web, Android, iOS)
run the same state machine, verified against the same throttle contract fixtures — persisted
state, a sequence of actions (survey shown, survey activated/deactivated, time advancing), then
a canShow decision.
Override
A survey can opt out of the global cooldown/cap via a per-survey throttling override — useful for e.g. an NPS survey that should always be eligible regardless of when the last survey showed. This is a separate code path from the bare cooldown/cap check, not a parameter that weakens it.
Local development
disableThrottling (an init() option — see each platform’s Configuration page) bypasses the
cooldown/cap for local dev and test harnesses only. It is never inferred from apiUrl or any
other environment signal — integration tests exercise the same throttling real users get unless
you opt out explicitly.
See How Triggering Works for where this fits in the overall Stage 1 check.