Skip to Content
ConceptsThrottling

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.