When to send it
Show this the moment someone cancels: link it from the cancellation confirmation page, and repeat the link in the confirmation email for anyone who closed the tab. Ask once the cancellation has gone through, not as a gate in front of it. Making people answer questions before they're allowed to leave feels like a trap and tends to produce angry, unhelpful answers.
If your app can add the customer's first name and plan to the link (?name=Asha&plan=Growth), the survey uses both: the greeting becomes personal, and the plan question names the plan they were on. Without them, it falls back to neutral wording that still reads naturally.
Why these questions
The main question asks for one reason, not several. People who leave usually have a few small complaints and one deciding one, and you want the deciding one. The options cover the usual causes for small software products: cost, a missing feature, a competitor, difficulty, the need going away, and something not working reliably.
Two of those answers open a follow-up. "Missing a feature" asks which one, and "switched to another tool" asks which tool. Over a few months, these short answers turn into a gap list and a competitor list written by the people who walked away.
The plan question asks whether the plan fit: more than they needed, about right, or not enough. A steady stream of "more than we needed" suggests a smaller plan would have kept some of these accounts.
The second page asks whether they'd come back and what you could have done better. People who say no see a different closing message, but the coupon appears for everyone.
The coupon
Half price for two months is a strong offer, and it suits software: a returning customer costs little to serve, and many reasons for leaving, from a missing feature to a busy quarter, are often temporary. Unique codes stop the offer being passed around. It's shown to every customer who finishes, whatever they said, so nobody is rewarded for a particular answer.
What to do with the answers
Tag each reason monthly and watch the mix rather than the totals. If cost complaints rise right after a price change, you have your answer. If "hard to use" dominates, read those answers alongside your onboarding survey results, because churn that starts in week one rarely gets fixed in month six.
When a cancellation names a feature you've since built, email that customer yourself with the news and their code. A personal note from a founder wins back more accounts than an automated sequence. For the money side of churn, run Pricing feedback with current customers too.