Prioritizes collecting detailed feedback over saving customers. Ideal for early-stage products where understanding churn reasons matters more than retention.
Tell us why you're leaving — we might be able to help.
const result = await cr.showCancelFlow({
customerId: user.id,
subscriptionId: user.subId,
reasons: [
{ id: 'not-what-expected', label: 'Not what I expected', icon: '😕',
offer: { type: 'feedback', prompt: 'What did you expect vs what you got?' } },
{ id: 'too-complex', label: 'Too hard to use', icon: '🤯',
offer: { type: 'human', message: 'Talk to our founder' } },
{ id: 'missing-feature', label: 'Missing key feature', icon: '🔧',
offer: { type: 'feedback', prompt: 'What feature would change your mind?' } },
{ id: 'too-expensive', label: 'Too expensive', icon: '💰',
offer: { type: 'discount', percent: 50, duration: 2 } },
{ id: 'bugs', label: 'Too many bugs', icon: '🐛',
offer: { type: 'human', url: '/report-bug' } },
{ id: 'other', label: 'Something else', icon: '💬',
offer: { type: 'feedback' } },
]
})The most popular cancel flow template. Covers price objections, feature gaps, and low usage with sma...
View →Designed for enterprise and high-ARPU products. Prioritizes human escalation and generous discounts ...
View →Instead of full cancellation, offer a free tier downgrade. Perfect for products with freemium models...
View →Copy the code above and start saving customers today. 30-day free trial, then $20/month.