Atomic by default
tryConsume checks and records in one synchronous step, preventing double popups in one JavaScript context.
Composable frequency capping for popups, toasts and guides across every JavaScript runtime.
Once a day. Three times in seven days. Four hours between shows.
Allowed
This coupon appears only after an allowed attempt.
In-memory records and a simulated clock. No real user records are saved.
Combine calendar limits, sliding windows, cooldowns and lifetime caps. The strictest rule wins.
tryConsume checks and records in one synchronous step, preventing double popups in one JavaScript context.
Web, session, React Native, WeChat, Alipay, Node.js and memory.
Core, minified + Brotli (1.0.1). A 3.5 kB CI budget uses the same compression.