Skip to main content
In Firmhouse, you can enable the Cancellation and Churn Prevention flow. This feature allows you to better collect feedback and prevent immediate churn by offering a winback during the cancellation steps in the subscription my account portal. The new Cancellation Feedback and Prevention flow offers a few steps in the customer journey when cancelling:
  1. Customer clicks cancel from their dashboard
  2. Chooses from one of the predefined cancellation reasons (if available)
  3. Gets offered a winback
  4. Takes the winback offer or proceeds to cancel and gives feedback

Enable the new Cancellation flow

Steps

  1. Go to your project in Firmhouse and click New Features from the sidebar.
  2. On this page, enable Cancellation Reasons and Winback Offers.
In your sidebar under Settings, a new menu item Churn prevention now appears where you can set up cancellation reasons. The new flow is immediately effective for your customers in the subscription account portal. Since no reasons are added yet, your customer will not be able to pick from any yet, but the new flow will already ask for qualitative feedback when someone cancels.

Add a cancellation reason and winback offer

Steps

  1. In your Firmhouse project, from the sidebar go to Settings > Churn prevention.
  2. Click Add Reason.
  3. Fill out a Reporting title, which is the language-independent title of this reason to be used in reporting exports and dashboards.
  4. Fill out the Customer-facing cancellation reason, which is the text that people will see in the Cancellation flow.
  5. 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.
  6. Enable or disable the reason with the Status checkbox.
  7. Click Save.
For reusable offers with customer targeting, benefits such as complimentary products or plan swaps, and optional minimum terms, see Promotional offers.

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 the churn_reason_id query parameter:
For a pause, include both parameters:
Firmhouse records the supplied reason, skips the reason selection and winback steps, and shows the customer a confirmation step. After the customer confirms, Firmhouse performs the cancellation or pause and takes them to the completion step. The subscription’s normal eligibility rules still apply, including its status, cancellation strategy, commitment terms, and whether customer pausing is enabled. Opening the link does not cancel or pause the subscription by itself. This makes the link safe to preview or retry and ensures the customer deliberately confirms the change. The reason must be active, belong to the same Firmhouse project, and be configured for the requested flow. If the ID is invalid or does not meet these conditions, Firmhouse shows the normal reason selection instead. If the subscription is not eligible for the requested action, Firmhouse does not initiate the churn request and continues with the standard eligibility flow.

Complete a custom cancellation flow without another confirmation

If your Customer Portal v2 template already asks the customer to confirm, submit that confirmation directly to subscription.complete_churn_request_url. This skips the Firmhouse confirmation page while keeping the change behind an authenticated, CSRF-protected POST request.
For a custom pause flow, add <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

  1. Go to your project in Firmhouse and click New Features from the sidebar.
  2. On this page, enable Pause Reasons and Winback Offers.
Subscription pausing itself needs to be enabled in your customer portal settings for the pause button to appear.

Add a pause reason

  1. In your Firmhouse project, from the sidebar go to Settings > Churn prevention.
  2. Click Add reason and set Shown before to Customer pauses their subscription.
  3. 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.
Pause reasons are only shown in the pause flow, and cancellation reasons only in the cancellation flow. The Shown before column on the Churn prevention page shows which flow each reason belongs to. When a customer proceeds with pausing, they can leave feedback just like with cancellations. On the Metrics > Churn Prevention page, use the Cancellations / Pauses toggle to view prevention rates, winback breakdowns, and customer feedback for each flow separately.

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:
  1. In your Firmhouse project, go to Analytics > Reports.
  2. Open Churn feedback.
  3. Set Created after and Created before to choose the reporting period.
  4. Under Request type, select cancellation, pause, or both. Both request types are selected by default.
  5. Choose the fields to include and click Generate report.
The flow field identifies whether each exported row came from a cancellation or pause request. Only completed requests are included. When Pause Reasons and Winback Offers is not enabled, this report is named Cancellation feedback and only includes cancellations. The Request type filter and flow field are available after enabling pause reasons.