Participation
Ask windows and skip reasons
Understand a skipped prompt without resetting customer history.
Default windows
Programme owners can change ask settings. These defaults protect customers from repeated prompts:
| Rule | Default | Starts from |
|---|---|---|
| Spacing | 30 days | Last accepted shown ask, including a first dismissal. |
| Rolling limit | 3 shown in 90 days | Shown history in a rolling window, not calendar quarters. |
| Quiet after copy | 60 days | Accepted prompt or static copy receipt. |
| Quiet after negative feedback | 14 days | Receipt of the negative event, even if delivered late. |
| Minimum account age | 3 days | Trusted account creation time, only when known. |
Unknown age does not add suppression. Enrolment time and subscription age are not substitutes. Day settings accept whole numbers 0–365; rolling days accept 1–365 and the rolling maximum 1–100.
Why an ask was skipped
A successful moment request can still return action: "skip". That is a decision, not a failed API request. Do not retry with invented event keys to bypass it.
| Reason | What to do |
|---|---|
negative_moment | Negative feedback was recorded; no ask is intended. |
moment_disabled | Enable the saved moment in Programme if it should trigger asks. |
programme_paused | Check ask pause, programme, Stripe connection and billing. |
customer_inactive | Only explicitly reactivate the customer if they should participate again. |
recent_negative | Wait for the negative-feedback quiet period. |
account_too_new | Wait until the trusted account age meets the configured minimum. |
recent_copy | Wait for the copy quiet period, including copies from static pages or cards. |
ask_spacing | Wait for the spacing since the last shown ask. |
rolling_limit | Wait until a shown ask leaves the rolling window. |
ask_in_flight | Use the existing decision or let its unused two-minute reservation expire. |
stale_event | The positive event is over five minutes old. Store it without prompting. |
decision_used_or_expired | An old event key cannot reserve again. Wait for a genuinely new event. |
Multiple rules can apply; the reason is the one chosen for that decision. Fixing it does not guarantee the next event passes every other rule. Earlier access checks can instead return an HTTP error.
History does not silently reset
Sending events, editing a moment, pausing and resuming asks, or deactivating and reactivating a customer does not clear shown, copy or negative history. Changing settings applies the new windows to retained history immediately.
Accepted static hosted/widget/API copies start the same copy quiet period, from their original deduplicated receipt time. They do not consume shown quota or count as prompted copies. Duplicate events and reports do not restart the clock.