- Customer clicks cancel from their dashboard
- Chooses from one of the predefined cancellation reasons (if available)
- Gets offered a winback
- Takes the winback offer or proceeds to cancel and gives feedback
Enable the new Cancellation flow
Steps
- Go to your project in Firmhouse and click New Features from the sidebar.
- On this page, enable Cancellation Reasons and Winback Offers.
Add a cancellation reason and winback offer
Steps
- In your Firmhouse project, from the sidebar go to Settings > Churn prevention.
- Click Add Reason.
- Fill out a Reporting title, which is the language-independent title of this reason to be used in reporting exports and dashboards.
- Fill out the Customer-facing cancellation reason, which is the text that people will see in the Cancellation flow.
- Choose a Winback offer that you want to show. Current options are: Proceed with cancellation, offer to pause for 1-3 months, and offer to skip 1-3 orders.
- Enable or disable the reason with the Status checkbox.
- Click Save.
Record a reason when cancelling or pausing for a customer
When your team performs the action from a customer’s subscription page, the cancellation or pause form shows the active reasons configured for that flow. Select the reason the customer gave you, or leave it blank for an internal action where no customer reason should be recorded. An admin-selected reason is included in churn history, reporting, Liquid templates, and webhook payloads. Because the customer does not see the portal flow, Firmhouse records the action as completed without presenting or reporting a winback offer. Pause reasons are available in the admin pause form only while the Pause Reasons and Winback Offers preview is enabled.Start a cancellation or pause with a known reason
When another system already knows why a customer wants to cancel or pause, add the active reason ID to the flow URL as thechurn_reason_id query parameter:
Complete a custom cancellation flow without another confirmation
If your Customer Portal v2 template already asks the customer to confirm, submit that confirmation directly tosubscription.complete_churn_request_url. This skips the Firmhouse confirmation page while keeping the change behind an authenticated, CSRF-protected POST request.
<input type="hidden" name="flow" value="pause"> and use a reason configured for pauses.
Only use this endpoint for a customer action that has already presented a clear confirmation. A GET request never completes the change. Firmhouse still verifies that the reason is active and belongs to the current project and flow, and rechecks the subscription’s cancellation or pause eligibility before applying it. An invalid reason returns the customer to the standard reason-selection flow.
Pause Reasons and Winback Offers
The same churn prevention flow is available when customers pause their subscription. Instead of pausing immediately, the flow asks customers why they are pausing, can respond with a winback offer, and collects feedback after the pause.Enable
- Go to your project in Firmhouse and click New Features from the sidebar.
- On this page, enable Pause Reasons and Winback Offers.
Add a pause reason
- In your Firmhouse project, from the sidebar go to Settings > Churn prevention.
- Click Add reason and set Shown before to Customer pauses their subscription.
- Fill out the reason the same way as a cancellation reason. The winback offer options are: proceed without an offer, offer to pause for 1-3 months with an automatic resume date, and offer to skip 1-3 orders.
View Cancellation feedback and Winback results per customer
When a customer completes a Cancellation flow - either by taking a winback offer or by cancelling - their choices and feedback can be seen on the Customer detail page in the Firmhouse admin portal.View Cancellation and Churn Prevention metrics
In your Firmhouse project, navigate to Metrics in the sidebar. Then click the Churn Prevention tab to view aggregated metrics about cancellation reasons and winback offer acceptance rates.Export churn feedback
To export the reasons and feedback customers submitted during cancellation and pause requests:- In your Firmhouse project, go to Analytics > Reports.
- Open Churn feedback.
- Set Created after and Created before to choose the reporting period.
- Under Request type, select cancellation, pause, or both. Both request types are selected by default.
- Choose the fields to include and click Generate report.