A cancel survey that asks why before someone leaves
Before someone cancels, ask why. One question with a few answers and room to explain, so you learn the real reason. When you want more, link a second screen: a pause offer, a discount, or a thank you.

- Display
- Popup
- Where
- Centered over the page
- When it shows
- When your code opens it
- Starts from
- Cancel Survey template
Try it. This is the real thing.
The phone runs the same open-source Web SDK your site would load, with the template exactly as it ships. Tap a button and see what your code would receive. Prices here are examples; your site passes the real ones.
The button below opens it as a popup over this page, the way it appears on a site.
Tap anything, and scroll inside the phone for the rest. Your site gets the event.
When to use it
- When someone taps cancel in your account settings.
- To learn the reasons behind churn in the visitor's own words.
- To follow up with an offer that fits the reason someone gives.
What goes on it
- One question, with a few answers.
- Room for the visitor to explain in their own words.
- Optionally, a second screen that makes an offer or says thanks.
Set it up in three steps
Start from the Cancel Survey template
Rename the question and the answers. To go further, add another screen and a button that opens it, so a visitor who picks price sees an offer.
Give it a placement
Name it something like cancel_flow so your cancel button can ask for it.
Read the answers
Your code receives the answers, and Miniwall counts each one in Analytics, so you can see which reasons come up most.
The code on your site
Prices and checkout stay in your product. The screen itself comes from Miniwall, so a new version reaches your site without a release.
// saveReason and handleAction are your own functions.
document.querySelector("#cancel").addEventListener("click", async () => {
await UIKit.presentPaywall({
paywall: { placement: "cancel_flow" },
onAnswer: ({ fieldId, value }) => saveReason(fieldId, value),
onAction: ({ actionId }) => handleAction(actionId),
});
});Good to know
- Does it cancel the subscription?
- No. Miniwall only shows the screens. Your code decides what a button does, so the real cancellation stays in your product and with your billing provider.
- Where do I see the answers?
- In Analytics, which counts each answer, and in your own code through the onAnswer callback and the answers your site receives when the screen closes.
Other moments

Banner or popup
Win-back offer
Welcome back people who cancelled, with an offer for the right visitors.
See how it works
Slide-in
Trial ending reminder
A card in the corner that reminds people before their trial runs out.
See how it works
Popup
Upgrade popup
Your plans in a popup when someone taps a locked feature or reaches a limit.
See how it works
Stop waiting on a release
Pick a template, publish it, add one tag. Free up to 10,000 views a month, no card needed.
Tue
Live
Thu
ReleaseNo release needed






