{"site":{"name":"Koji","description":"AI-native customer research platform that helps teams conduct, analyze, and synthesize customer interviews at scale.","url":"https://www.koji.so","contentTypes":["blog","documentation"],"lastUpdated":"2026-05-10T22:44:10.335Z"},"content":[{"type":"documentation","id":"6e83d9ce-7869-42f7-93a4-4a95de33adb6","slug":"cancel-flow-exit-interview","title":"Cancel-Flow Exit Interviews: AI Moderation That Saves Churning Users","url":"https://www.koji.so/docs/cancel-flow-exit-interview","summary":"Standard cancel-flow surveys (single dropdown plus textarea) under-report the real reason for churn because of single-select bias, no follow-up probing, and the wrong moment for depth. A four-question Koji exit interview — one open_ended (with one AI follow-up), one single_choice for bucketing, one scale for recoverability, one yes_no for save-offer gating — runs in 60–90 seconds and produces themes, quality scores, and structured answers a webhook can act on. Embed the Koji widget above the final cancel CTA, set external_id to your user ID, keep voice mode enabled, and always show a \"Skip\" link. Wire the interview.analysis_ready webhook to a forwarder that triggers save offers based on themes (price → discount, missing feature → product Slack, high recoverability → CSM hand-off). Holdout-test the new flow; expect a 5–12 point lift in 30-day save rate.","content":"\nThe single biggest hole in most subscription products is the cancel flow. The user clicks \"cancel\", picks one of five generic reasons from a dropdown, and disappears forever. The product team gets a pie chart of \"Too expensive / Not using it / Found alternative\" — useless for actually fixing churn.\n\nThis guide replaces that broken pattern with an AI-moderated exit interview that runs the moment a user hits the cancel button. The interview takes 60–90 seconds, probes for the real reason, and can trigger a personalised save offer before the user closes the tab.\n\n## Why Traditional Cancel Surveys Lie\n\nThree reasons every traditional cancel-flow survey under-reports the truth:\n\n- **Single-select bias.** Forced-choice dropdowns push users toward the path of least resistance. \"Too expensive\" is the default escape hatch even when price is not the real driver.\n- **No follow-up.** A textarea field collects a single sentence. Whatever the user types, no one is going to ask \"tell me more about that.\" So they don't say more.\n- **Wrong moment for depth.** Users in cancel mode want out. They will not write a 200-word essay. They will, however, talk for 90 seconds if the experience feels conversational.\n\nKoji's AI moderator solves all three. The conversational interface invites a quick verbal answer (voice or text), the AI probes one or two follow-ups based on what was said, and the structured questions extract a clean signal you can chart. See [How Koji's AI Follow-Up Probing Works](/docs/ai-probing-guide) for the underlying mechanics — the same probing that researchers use is what makes a 90-second cancel interview ten times more useful than a 30-second survey.\n\n## The Four-Question Cancel Interview\n\nYou do not need 12 questions. The most effective cancel-flow interviews ask four:\n\n1. **One open-ended question** to surface the real reason in the user's own words.\n2. **One single-choice question** to bucket the answer for charts.\n3. **One scale question** to measure how recoverable the cancellation is.\n4. **One yes/no question** to gate a save offer.\n\nA concrete template using Koji's six structured question types ([Structured Questions in AI Interviews](/docs/structured-questions-guide)):\n\n| # | Type | Question |\n| --- | --- | --- |\n| 1 | `open_ended` | What is the main reason you are cancelling today? (probing: 1 follow-up) |\n| 2 | `single_choice` | Which of these best describes the trigger? (Price, Missing feature, Found alternative, Not using it, Service issue, Other) |\n| 3 | `scale` | If we addressed your reason, how likely are you to come back? (1–10) |\n| 4 | `yes_no` | Would you accept 50 percent off the next 3 months to stay? |\n\nThe whole interview takes 60–90 seconds. Voice mode is even faster than text because users speak the answer instead of typing it. Run it as the only step between the cancel button and the actual cancellation, with a \"Skip\" link for users who refuse to engage.\n\n## Embedding the Interview into Your Cancel Page\n\nUse the Koji embed widget so the interview lives inside your own product, not a third-party page. The full embed reference is in [Using the Embed Widget](/docs/using-the-embed-widget); here is a stripped-down version for a cancel page:\n\n```html\n<div id=\"cancel-interview\">\n  <iframe\n    src=\"https://yourdomain.com/embed/YOUR_PROJECT_ID?external_id=USER_ID\"\n    width=\"100%\"\n    height=\"640\"\n    frameborder=\"0\"\n    allow=\"microphone\"\n    style=\"border: none; border-radius: 12px;\"\n  ></iframe>\n</div>\n```\n\nA few notes that matter at the moment of cancel:\n\n- **Set `external_id` to your internal user ID.** This becomes the join key when the webhook fires and your save-offer worker needs to find the right Stripe subscription or HubSpot contact.\n- **Keep `allow=\"microphone\"`** — voice mode lifts completion rates because typing during a frustrated cancel is friction.\n- **Place the interview ABOVE the final \"Confirm cancellation\" CTA.** Users in flow are more honest than users who feel they have already cancelled.\n- **Do not block cancellation.** The \"Skip and cancel\" link must always be one click away. Trapping users hurts the brand more than churn does.\n\nFor non-web surfaces (mobile apps, account pages), the same project supports a hosted URL — see [Sharing Your Interview Link](/docs/sharing-your-interview-link).\n\n## Triggering Save Offers in Real Time\n\nThe most valuable thing about running this in Koji is that you can act on the result before the user even confirms the cancellation. Subscribe a webhook to `interview.analysis_ready` ([Webhook Setup](/docs/webhook-setup)) and inspect the structured answers and themes in your forwarder.\n\nA worked example: trigger a discount only if the user mentioned price.\n\n```js\n// Webhook forwarder pseudo-code\nif (\n  payload.event === 'interview.analysis_ready' &&\n  payload.data.structured_answers.find(a => a.question_id === 'q2')?.value === 'Price'\n) {\n  await stripe.coupons.create({ /* 50% off 3 months */ })\n  await sendInAppOffer(payload.data.external_id, COUPON_ID)\n}\n```\n\nOther automated branches that pay off:\n\n- **Theme contains \"missing feature\":** route to the product team's Slack with the verbatim quote, so prioritisation reflects real cancel intent — see [Send Research Insights to Slack](/docs/slack-research-insights-integration).\n- **Quality score >= 4 and recoverability scale >= 7:** flag for a personal CSM email instead of an auto-coupon. These are the warm cancels that re-activate.\n- **Yes/no save-offer = \"yes\":** apply the discount immediately and short-circuit the cancellation. This alone often produces a measurable lift in net-revenue retention.\n\nThis is the deflection layer the SaaS Profitwell-style retention tools have been pitching for years, except the qualitative signal is real interview data instead of a five-option dropdown.\n\n## Measuring the Lift\n\nRun the cancel-flow interview as a holdout test against your existing single-question survey:\n\n1. Randomly assign 50 percent of users to the new flow.\n2. Track save-offer acceptance rate, 30-day reactivation rate, and net-revenue retention by cohort.\n3. Wait at least 14 days for the effect to settle (some users come back during a billing cycle).\n\nTypical industry benchmarks: a well-designed cancel-flow interview lifts 30-day save rate by 5–12 percentage points over a static survey, with the upper end achieved when an automated save offer fires within 30 seconds of the interview completing. Even modest improvements compound — at €10 ARPU, recovering an extra 100 cancels per month is €12,000 in annual recurring revenue.\n\nThe intercept-research framing in [Intercept Research: Capturing Feedback at the Moment of Truth](/docs/intercept-research-guide) explains why the moment of cancellation is the single highest-signal interview opportunity in the entire customer lifecycle.\n\n## Common Mistakes to Avoid\n\n- **Forcing the interview before allowing cancellation.** Hostile, illegal in some jurisdictions, and tanks brand sentiment. Always show \"Skip\" prominently.\n- **Asking 10+ questions.** Completion rate falls off a cliff past four. Use the template above.\n- **Not connecting the webhook.** Without a downstream save-offer worker, you collect great data but leave money on the table.\n- **Mixing cancel-flow data with churned customer interviews.** They are different studies. The cancel-flow runs at the moment of churn (high refusal rate, very fresh emotion). [Churned Customer Interviews](/docs/churned-customer-interviews) runs 7–30 days after, when reflection is calmer. Do both.\n- **Not running an A/B test.** Without a holdout you cannot prove the lift to the CFO.\n\n## How This Compares to Profitwell, ChurnKey, and Custom Cancel Flows\n\nProfitwell Retain and similar churn-deflection tools rely on static \"winback\" copy and one-shot discount logic. They cannot have a conversation. They cannot extract themes. They cannot tell the difference between \"too expensive\" and \"I lost my job, but I love the product.\"\n\nThe Koji approach inverts that: a real AI moderator that responds to what the user actually said, with the same quality-scoring engine ([Understanding Quality Scores](/docs/understanding-quality-scores)) used in your generative research studies. The save offer becomes a function of the interview content, not a blanket coupon.\n\nFor the build-your-own crowd: you would need a survey engine, an LLM probing layer, a webhook system, a quality scorer, and a transcript store to replicate this. With Koji it is a four-question study, an embed snippet, and a webhook handler.\n\n## Related Resources\n\n- [Churned Customer Interviews](/docs/churned-customer-interviews)\n- [Win-Back Customer Interviews](/docs/win-back-customer-interviews)\n- [How to Build Churn Surveys That Actually Save Customers](/docs/churn-survey-guide)\n- [Using the Embed Widget](/docs/using-the-embed-widget)\n- [How Koji's AI Follow-Up Probing Works](/docs/ai-probing-guide)\n- [Intercept Research: Capturing Feedback at the Moment of Truth](/docs/intercept-research-guide)\n- [Structured Questions in AI Interviews](/docs/structured-questions-guide)\n","category":"Use Cases","lastModified":"2026-05-10T03:26:23.698186+00:00","metaTitle":"Cancel-Flow Exit Interviews: AI That Saves Churning Users in Real Time","metaDescription":"Replace your one-question cancellation survey with an AI-moderated exit interview that finds the real churn reason and triggers save offers in 90 seconds.","keywords":["cancel flow exit interview","churn deflection survey","cancellation flow survey","save offer survey","in-app exit interview","embedded cancellation interview","cancel survey"],"aiSummary":"Standard cancel-flow surveys (single dropdown plus textarea) under-report the real reason for churn because of single-select bias, no follow-up probing, and the wrong moment for depth. A four-question Koji exit interview — one open_ended (with one AI follow-up), one single_choice for bucketing, one scale for recoverability, one yes_no for save-offer gating — runs in 60–90 seconds and produces themes, quality scores, and structured answers a webhook can act on. Embed the Koji widget above the final cancel CTA, set external_id to your user ID, keep voice mode enabled, and always show a \"Skip\" link. Wire the interview.analysis_ready webhook to a forwarder that triggers save offers based on themes (price → discount, missing feature → product Slack, high recoverability → CSM hand-off). Holdout-test the new flow; expect a 5–12 point lift in 30-day save rate.","aiPrerequisites":["Koji workspace with the embed widget enabled","Access to your cancellation page or in-app cancel surface","A webhook receiver to trigger save offers (or a no-code tool like Zapier)"],"aiLearningOutcomes":["Design a 4-question cancel-flow interview using all 6 Koji structured question types","Embed the interview above the final cancel CTA without trapping users","Wire webhook-driven save offers (discount, CSM hand-off, product alert) per theme","Run a holdout A/B test to measure save-rate lift","Avoid the most common cancel-flow design mistakes","Compare the approach to Profitwell, ChurnKey, and homegrown cancel surveys"],"aiDifficulty":"intermediate","aiEstimatedTime":"11 min read"}],"pagination":{"total":1,"returned":1,"offset":0}}